До файрволла ipfw у меня использовался файрволл pf. Но функциональность ipfw привлекла больше, особенно вызвал интерес модуль dummynet. Большим минусом (особенно для начинающих) является то, что для большей функциональности данного файрволла необходимо перекомпилировать (пересобирать) ядро ОС. Впрочем, и в пересборке ядра нет ничего сложного. Отмечу, что после пересборки ядра с опциями, включающими ipfw, после перезагрузки в файрволле будет единственное правило, блокирующее весь траффик. Это надо принимать во внимание, если Вы работаете удаленно с сервером.
Опции, которые необходимо включить в конфигурацию нового ядра (брал из какой-то книги):
- оption IPFIREWALL – включение файрволла ipfw в ядро.
- оption IPFIREWALL_VERBOSE — При включении данной опции firewall может записывать все события в лог-файл. Полезно для анализа работы системы и слежения за попытками взлома.
- оption IPFIREWALL_VERBOSE_LIMIT= — Ограничение числа попадающих в лог сообщений. При отсутствии лимита хакер или просто сбойный компьютер в сети способны в считанные минуты сгенерировать столько пакетов, что лог-файл firewall’а займет все имеющееся дисковое пространство.
- оption IPDIVERT — Поддержка возможности передать пакет на обработку внешней программе. Примером такой программы служит natd — демон, маскирующий локальную сеть и переписывающий заголовки IP-пакетов. Программа обработки обязательно должна быть запущена на этой же машине.
- оption IPFIREWALL_FORWARD — Возможность перенаправления пакетов другому адресату. С помощью этой возможности можно организовать, например, transparent proxy (http-прокси сервер, работающий для всех клиентов в принудительном режиме в не зависимости от того, обращаются они к какому-то сайту напрямую, или «просят» его у про-кси-сервера), или перенести web-сервер внутрь закрытой nat’ом сети так, чтобы он был доступен из внешнего мира по адресу сервера доступа.
- оption DUMMYNET — Система ограничения пропускной способности определенных соединений, основанная на задержке прохождения паке-тов через роутер.
- оption HZ= — dummynet работает, просматривая очередь поставленных на ожидание пакетов с некоторой частотой (по умолчанию — 100 раз в секунду). Менять этот параметр в сторону увеличения можно, если при нормальной работе процессор нагружен не более чем на 10%. Уменьшение этого параметра обычно не дает сильного выигрыша при перегруженном процессоре. Чрезмерное увеличение может наоборот приводить к понижению точности работы dummynet, т.к. процессор может не успевать отрабатывать сигналы от таймера.
Файрволл можно запустить без пересборки ядра. Система будет автоматически подгружать модули данного файрволла в ядро, если в файле /etc/rc.conf добавить строку firewall_enable="YES".
Примеры правил ipfw:
1) разрешает весь траффик на loopback-интерфейс
add allow all from 127.0.0.1 to any
add allow all from any to 127.0.0.1
1.1) разрешить весь траффик от меня до любого адреса
add allow all from me to any keep-state
2) блокирует весть траффик с определенного адреса
add deny all from 218.15.221.84 to any
3) разрешает весь траффик на порт 53
add allow ip from any to any 53
4) разрешает tcp-траффик на порты 22 (ssh) и 80 (www)
add allow tcp from any to me 22 keep-state
add allow tcp from any to me 80 keep-state
5) разрешает весь траффик сети на сервер
add allow all from 192.168.127.0/24 to me keep-state
6) последнее правило блокирует траффик, который не попал под вышеуказанные правила
add deny ip from any to any
Октябрь 1, 2011 в 01:08
то что я искал, спасибо