24.3. Программные пакеты межсетевых экранов

В FreeBSD встроено три программных межсетевых экрана. Это IPFILTER (известный также как IPF), IPFIREWALL (известный также как IPFW) и PF (OpenBSD PacketFilter). В IPFIREWALL встроена поддержка ограничителя трафика DUMMYNET для контроля использования пропускной способности. В IPFILTER поддержка ограничителя трафика не встроена, но в тех же целях может использоваться ALTQ. IPF, IPFW и PF для контроля исходящих и входящих пакетов используют наборы правил, хотя и разными способами с разным синтаксисом правил.

Пример набора правил IPFW (находящийся в /etc/rc.firewall), поставляемый в составе базовой системы, является устаревшим, сложным, и не использует правила с сохранением состояния на интерфейсах, выходящих во внешнюю сеть интернет. В нем используются правила без сохранения состояния, способные только открывать или закрывать порты сервисов. Приводимый здесь пример набора правил IPFW с сохранением состояния расширяет набор из файла /etc/rc.firewall.

Правила с сохранением состояния лучше подходят для анализа пакетов с целью защиты от переполнения в результате различных атак, применяемых в в настоящее время.

Автор предпочитает IPFILTER, поскольку его правила с сохранением состояния гораздо проще использовать совместно с NAT; кроме того, в него встроен ftp прокси, упрощающий настройку безопасного внешнего использования FTP. Он также гораздо проще в освоении для пользователя, не имеющего опыта настройки межсетевых экранов.

Поскольку все межсетевые экраны основаны на анализе значений выбранных полей заголовка пакета, для создания правил межсетевого экрана необходимо понимание принципов TCP/IP, того, что означают различные поля заголовка пакета, и как эти поля используются в обычной сессии. Хорошим примером является: http://www.ipprimer.com/overview.cfm.

Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

По вопросам связанными с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам связанным с этой документацией, пишите <doc@FreeBSD.org>.
По вопросам связанным с русским переводом документации, пишите в рассылку <frdp@FreeBSD.org.ua>.
Информация по подписке на эту рассылку находится на сайте проекта перевода.