Приложение E. Брандмауэр FreeBSD — ipfw(8)

Содержание

[+]E.1. IPFW HOWTO
[+]E.1.1. Как включить ipfw(4)
[+]E.1.1.1. rc.firewall и открытый брандмауэр
[+]E.1.1.1.1. Загрузка правил
[+]E.1.2. Основы синтаксиса правил ipfw
[+]E.1.2.1. Просмотр текущей конфигурации ipfw
[+]E.1.2.2. Основные команды и действия
[+]E.1.2.3. Указание протоколов
[+]E.1.2.4. Указание адресов источника и назначения пакета
[+]E.1.3. Углублённое изучение синтаксиса правил ipfw
[+]E.1.3.1. Действие unreach
[+]E.1.3.2. Контроль за потоком данных, проверка на каком интерфейсе встретился пакет
[+]E.1.3.3. Фильтрация по типам ICMP и TCP пакетов
[+]E.1.3.3.1. Типы ICMP
[+]E.1.3.3.2. Флаги TCP, правила setup и established
[+]E.1.3.4. Перехват фрагментированных пакетов
[+]E.1.3.5. Фильтрация на основе UID и GID сокетов, которым принадлежит пакет
[+]E.1.4. Журналирование
[+]E.1.4.1. Конфигурирование системы журналирования
[+]E.1.4.1.1. Опции ядра
[+]E.1.4.1.2. Конфигурирование syslogd(8)
[+]E.1.4.1.3. Конфигурирование newsyslog(8) для вращения журнальных файлов
[+]E.1.4.2. Правила ipfw направленные на журналирование
[+]E.1.5. Фильтрация с учётом состояния соединений
[+]E.1.5.1. Основы учёта состояний соединений (stateful inspection)
[+]E.1.5.2. Сохранение информации о соединениях в динамических правилах. Истинная stateful inspection
[+]E.1.5.3. Просмотр динамических правил
[+]E.1.6. Управление трафиком при помощи dummynet(4)
[+]E.1.6.1. Вероятностное срабатывание правил
[+]E.1.6.2. Dummynet
[+]E.1.6.2.1. Конфигурирование очередей (буферов) в каналах
[+]E.1.6.2.2. Направление трафика в объявленный канал, маски
[+]E.1.6.2.3. Возвращение пакетов в брандмауэр

Брандмауэр ipfw(8) Применяется в FreeBSD, DragonFly BSD и Darwin (ядре операционной системы MacOS X). Это наиболее старый из брандмауэров FreeBSD, её «родной» брандмауэр. Остальные были портированы в FreeBSD: пакетный фильтр PF из OpenBSD, а ipf(8) из NetBSD. ipfw(8) весьма архаичен, однако распространён и вполне функционален.

Существует две основные версии ipfw: собственно ipfw и ipfw2, Последняя появилась в пятой ветке FreeBSD и в MacOS 10.4 (Tiger). В операционной системе MacOS X брандмауэр ipfw настраивается так же как и в FreeBSD, переменные ядра так же переключаются при помощи программы sysctl(8). Графический интерфейс для настройки брандмауэра крайне убог и позволяет только переключаться между некоторыми предопределёнными настройками. Однако имеется платное програмное обеспечение, которое позволяет настраивать брандмауэр более гибко. Пользователи макинтошей должны выбрать: готовы ли они читать далее данный текст, или они предпочтут купить это програмное обеспечение...

sunShild
Платное програмное обеспечение для настройки IPFW в MacOS X.

Некоторые усовершенствования появившиеся в ipfw2:

  • Усовершенствовалась stateful фильтрация.
  • Появилась возможность фильтровать трафик на основе UID и GID сокетов, которые породили пакет.
  • Появились lookup-таблицы, в которые можно помещать адреса хостов подобно тому, как это делается в пакетном фильтре OpenBSD (см. Раздел C.2.1.3, «Таблицы»).

Собственно программа ipfw(8) служит для управления брандмауэром. Однако некоторые его настройки вообще неуправляемы налету. Так, например, политика по умолчанию задаётся на стадии компилирования ядра операционной системы.

Данный раздел пока не столько пишется, сколько задумывается. Пока здесь будет накапливаться перевод источника [url://ipfw-howto]. К сожалению, данный источник выглядит несколько устаревшим, кроме того, он содержит большое количество ошибок. Перевод man по ipfw(8), который тут был, в версиях до 152, возможно снова появится позже. Кто скучает по этому тексту, изучите: http://www.asmodeus.com.ua/library/os/freebsd/ipfw.htm


Обновлено: 12.03.2015