Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #79, ИЮЛЬ 2005 г.

Файрвол-невидимка

Andrey Matveev

Хакер, номер #079, стр. 079-100-1


(andrushock@real.xakep.ru)

Хакерский брандмауэр на страже интересов админа

Так это, значит, Невидимка? — спросил чернобородый, заложив одну руку за спину. — Я думаю, пора уж и посмотреть на него. (Herbert Wells. The Invisible Man.)

Представь себе такую ситуацию: 24 часа в сутки, 7 дней в неделю хост в интернете, не имея ни одного IP-адреса, фильтрует входящий и исходящий трафик, нарезает канал, осуществляет привязку IP к MAC, противодействует DOS-атакам и попыткам IP Spoofing'а, дезинформирует сканирующих киддисов, работает в качестве системы обнаружения вторжений, блокирует червей и нежелательную корреспонденцию. Мечта любого админа, гроза всех хакеров. Думаешь, это фантастика? Постараюсь тебя переубедить.

[плюсы и минусы темной лошадки]

Одна из программных систем, позволяющих справиться со всеми перечисленными задачами — связка pf(4) и bridge(4). Если с первым псевдоустройством все должно быть более-менее ясно, то на втором стоит остановиться подробнее.

Бридж представляет собой разновидность интеллектуального коммутатора, соединяющего различные сети между собой так, что компьютер из одной сети способен общаться с компьютером из другой без участия маршрутизатора. С помощью прозрачного моста можно:

1. установить файрвол без изменения топологии существующей сети;

2. объединять не только проводные и беспроводные участки сети, но и сети разной архитектуры (скажем Ethernet и Token Ring);

3. изолировать трафик между несколькими выбранными клиентами;

4. снизить общую нагрузку на сеть;

5. вести таблицу соответствия MAC-адресов источников и адресатов;

6. обходить привязку IP к MAC, сделанную на провайдерском сервере (см. врезку);

7. экономить статические IP-адреса, предоставленные поставщиком услуг интернета.

Нельзя забывать и об аспекте безопасности: такой хост будет невероятно сложно не то что взломать, но даже обнаружить. В довершение всего мы обойдемся без хардкорного твикинга переменных sysctl, тоскливой перекомпиляции ядра и многочисленных перезагрузок.

Хочу сразу рассказать и о минусах использования такой конструкции:

1. все сетевые интерфейсы, помещенные в бридж, будут автоматически переведены в режим приема всех пакетов (дело в том, что PROMISC в некоторых случаях не представляется возможным: не позволяет сетевая карта, например TI ThunderLAN, на бридже используется слишком слабый процессор, вето провайдера);

2. для корректной работы по протоколу FTP придется установить специальную проксю ftpsesame;

3. с помощью правила pf "synproxy state" нельзя будет проксировать TCP-соединения и защищать бокс от SYN-флуда;

4. может возникнуть некоторая сложность в администрировании.

Но обо всем по порядку.

[первоначальная установка]

Тестирование прозрачного моста проводилось на Pentium 90/32 Mb/4 Gb/2 fxp (две PCI'ные сетевые карты Intel EtherExpress PRO/100+) под управлением OpenBSD 3.7. Будем считать, что на внешний сетевой интерфейс (fxp0) подходит кабель от провайдера, а внутренний интерфейс (fxp1) соединен кроссовером с внешним интерфейсом шлюза компании:

--[ ISP_LAN ]-----(fxp0)[ BRIDGE ](fxp1)-----[ GATEWAY ]--

Содержание  Вперед на стр. 079-100-2