05-06-2023
Тип | |
---|---|
Разработчик |
Команда добровольцев-разработчиков FreeBSD |
Операционная система | |
Лицензия | |
Сайт |
freebsd.org |
ipfirewall — межсетевой экран, который поставляется с FreeBSD начиная с версии 2.0. С его помощью можно, например, подсчитывать трафик по любым разумным правилам, основывающимся на данных заголовков пакетов протоколов стека TCP/IP, обрабатывать пакеты внешними программами, прятать за одним компьютером целую сеть и т. п.[1]
Используется во многих ОС для встраиваемых систем, основанных на FreeBSD, таких как m0n0wall.
Имеется портированная версия — Wipfw для Windows 2000, Windows XP, и Windows Server 2003. Последние версии работают под Windows Vista, 2008, и Windows 7
ipfw — название пользовательской утилиты (запускаемой из командной строки) предназначенной для управления системой IPFW. С её помощью администраторы создают и изменяют правила, управляющие фильтрацией и перенаправлением пакетов.
ipfw может быть подгружен как модуль, а может быть встроен в ядро.
Ipfirewall состоит из следующих компонентов:
Утилита ipfw впервые появилась во FreeBSD 2.0. Поддержка dummynet была добавлена позже, начиная с версии 2.2.8. Поддержка divert socket вместе с natd была добавлена начиная с версии 3.x (уточнить). Поддержка NAT на уровне ядра была добавлена начиная с версии 7.0.
Поддержка NAT на уровне ядра была написана Paolo Pisati и впервые появилась в FreeBSD 4.0. До этого преобразование NAT осуществлялось демоном natd, пакеты которому передавались действием divert.
Настроенный брандмауэр представлен упорядоченным списком правил с номерами из диапазона 1-65535. Каждый пакет приходит с различных уровней стека протоколов, и попадая на брандмауэр поочередно сравнивается с критерием каждого правила в списке. Если совпадение найдено, то выполняется действие, закрепленное за данным правилом.
ipfw всегда содержит правило по умолчанию (с номером 65535) которое не может быть ни изменено, ни удалено. Это правило является терминальным, т.е оно применяется к пакетам, не попавшим во все предыдущие. В зависимости от конфигурации ядра это правило может выполнять действия «запретить» или «разрешить»(по умолчанию оно deny ip from any to any, что бы изменить это, в ядро нужно добавить options IPFIREWALL_DEFAULT_TO_ACCEPT). Все остальные правила могут редактироваться администратором системы.
Существует несколько основных действий, которые могут применяться к пакетам:
При установке системы FreeBSD стандартными средствами, ipfw по умолчанию не включён. Поддержка может быть выполнена либо включением кода ipfw в ядро (добавлением опций и перекомпиляцией ядра с последующей перезагрузкой системы), либо (в любой момент после загрузки системы) подключением одноимённых модулей (доступно в последних версиях системы). Загрузка процессора меньше при включении ipfw в ядро, однако, это заметно лишь при большом количестве обрабатываемых пакетов и правил.
Если вы хотите использовать IPFW, то вам необходимо пересобрать ядро с опцией:
options IPFIREWALL
По умолчанию в IPFW встроено неудаляемое правило "всем всё запрещено", которое имеет наибольший номер и потому будет обрабатываться после всех правил, внесённых администратором системы. При некоторых ошибочных действиях администратора система может оказаться закрытой от любого доступа по сети, и администратору потребуется доступ к консоли; чтобы заменить это правило на "всем всё разрешено", надо добавить опцию
options IPFIREWALL_DEFAULT_TO_ACCEPT
Если вы хотите использовать NAT (посредством демона natd), то вам необходимо добавить опцию:
options IPDIVERT
Если вы хотите использовать NAT уровня ядра, то вам необходимо добавить опции:
options LIBALIAS options IPFIREWALL_NAT
Если вы хотите использовать pipe/queue, то вам необходимо добавить опцию:
options DUMMYNET
Включение ipfw через загрузку модулей ядра выполняется (суперпользователем) командами
kldload ipfw kldload ipdivert kldload dummynet
соответственно.
Общий формат для построения правил:
трафик от адресов в таблице №1 к любом адресам;
Межсетевые экраны | ||
---|---|---|
Свободные | ||
Бесплатные |
Outpost • Ashampoo FireWall Free • Comodo • Privatefirewall • Core Force • Online Armor • PC Tools • PeerGuardian (англ.) • Sygate (англ.) |
|
Проприетарные |
Ashampoo FireWall Pro • AVG Internet Security • CA Personal Firewall • Dr. Web • Jetico Personal Firewall • Kaspersky • Forefront TMG • Norton • Outpost • Panda Cloud • ViPNet Personal Firewall • Trend Micro (англ.) • Брандмауэр Windows • Sunbelt (англ.) • Kerio Control • ZoneAlarm • Mac OS: NetBarrier X4 (англ.) |
|
Аппаратные |
Ipfw.