WIpfw: различия между версиями
Перейти к навигации
Перейти к поиску
[непроверенная версия] | [отпатрулированная версия] |
Содержимое удалено Содержимое добавлено
Volkov (обсуждение | вклад) ← Перенаправление на «Ipfw» |
|||
(не показано 9 промежуточных версий 3 участников) | |||
Строка 1: | Строка 1: | ||
#redirect [[Ipfw]] |
|||
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® Русланом Старицыным и Владом Гончаровым. |
Текущая версия от 10:15, 13 марта 2009
Перенаправление на: