WIpfw

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая Peni (обсуждение | вклад) в 00:37, 13 марта 2009 (к удалению: db-nn). Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску

WIPFW это MS Windows версия Ipfw входящего в состав FreeBSD OS. Вы можете использовать и конфигурировать его так же, как и в работе с IPFW.

IPFW это система фильтрации и учета пакетов, находящаяся в ядре и снабженная пользовательской утилитой настройки, ipfw. Вместе они позволяют определять и просматривать правила, используемые ядром в решении прохождения пакетов.

IPFW состоит из двух связанных частей. Межсетевой экран осуществляет фильтрацию пакетов. Часть, занимающаяся учетом IP пакетов, отслеживает использование маршрутизатора на основе правил подобных тем, что используются в части межсетевого экрана. Это позволяет администратору определять, например, объем трафика, полученного маршрутизатором от определенного компьютера, или объем пересылаемого WWW трафика.

Благодаря тому, как реализован IPFW, вы можете использовать его и на компьютерах, не являющихся маршрутизаторами для фильтрации входящих и исходящих соединений. Это особый случай более общего использования IPFW, и в этой ситуации используются те же команды и техника.

Примеры

Есть слишком много всевозможных использований ipfw, так что этот раздел даст только маленький набор примеров.

Базовая фильтрация пакетов

Эта команда добавляет установку, которая запрещает все tcp пакеты от cracker.evil.org на порт telnet wolf.tambov.su:

ipfw add deny tcp from cracker.evil.org to wolf.tambov.su telnet

Это правило запрещает пакеты с сети класса С на мой хост:

ipfw add deny ip from 123.45.67.0/24 to my.host.org

Первый и эффективный способ ограничить доступ (не использующий динамические правила) - использование следующих правил:

ipfw add allow tcp from any to any established ipfw add allow tcp from net1 portlist1 to net2 portlist2 setup ipfw add allow tcp from net3 portlist3 to net3 portlist3 setup ... ipfw add deny tcp from any to any

Первое правило даст соответствие для нормальных пакетов TCP, но оно не будет соответствовать начальным SYN пакетам, которые будут соответствовать правилу setup только для выбранных пар источник/адресат. Все другие SYN пакеты будут отброшены заключительным правилом deny.

Динамические правила

Чтобы защитить сайт от нападений, использующих поддельные TCP пакеты, более безопасно использовать динамические правила:

ipfw add check-state ipfw add deny tcp from any to any established ipfw add allow tcp from my-net to any setup keep-state

Это позволит системе сетевой защиты устанавливать динамические правила только для тех подключений, которые начинаются с правильного SYN пакета, исходящего из внутренней сети. Динамические правила проверяются при встрече с первым правилом check-state или keep-state. Правило check-state обычно должно помещаться в начале набора правил для минимизации работы по просмотру набора правил.

Чтобы ограничить количество подключений открываемых пользователем, Вы можете использовать следующий тип правил:

ipfw add allow tcp from my-net/24 to any setup limit src-addr 10 ipfw add allow tcp from any to me setup limit src-addr 4

Первое (в предположении, что это выполняется на шлюзе), позволит каждому компьютеру в /24 сети открывать не более 10 TCP подключений. Последнее может быть помещено на сервер, для гарантии того, что отдельный клиент не использует больше чем 4 одновременных подключений.

ОСТЕРЕГАЙТЕСЬ: динамические правила могут привести к нападениям типа отказа в обслуживании при помощи SYN-мусора, который открывает огромное количество динамических правил. Последствия таких нападений могут быть частично ограничены, действуя на набор переменных sysctl, которые управляют действиями системы сетевой защиты.

Это правило случайно отбрасывает входящие пакеты с вероятностью 5 %:

ipfw add prob 0.05 deny ip from any to any in

Вот хорошее использование команды list для просмотра поясняющего отчета и информации с отметками времени:

ipfw -at list

или в короткой форме без информации об временных отметках:

ipfw -a list

что является эквивалентным:

ipfw show

См. также

S. Floyd and V. Jacobson, Random Early Detection gateways for Congestion Avoidance, August 1993.

B. Braden, D. Clark, J. Crowcroft, B. Davie, S. Deering, D. Estrin, S. Floyd, V. Jacobson, G. Minshall, C. Partridge, L. Peterson, K. Ramakrishnan, S. Shenker, J. Wroclawski, and L. Zhang, Recommendations on Queue Management and Congestion Avoidance in the Internet, April 1998, RFC 2309.


Внимание!

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

Авторы

Юрген Анцилевич (Ugen J. S. Antsilevich) Пол-Хёнинг Камп (Poul-Henning Kamp) Алекс Нэш (Alex Nash) Арчи Коббс (Archie Cobbs) Луиджи Риццо (Luigi Rizzo)

Функциональный интерфейс (API) основан на коде, написанном Дэниэлем Буле (Daniel Boulet) для BSDI.

IPFW перенесен на Windows® Русланом Старицыным и Владом Гончаровым.


--85.114.26.53 16:38, 16 декабря 2008 (UTC) разместил anton-ny anton@pozitive.org