- Автор темы
- Администратор
- Модер.
- Команда форума
- #1
IPFW в FreeBSD — базовая настройка
IPFW (IP Firewall) — встроенный брандмауэр в FreeBSD. Он работает по принципу правил с номерами, которые проверяются по порядку сверху вниз. Первое совпавшее правило применяется.1. Включение IPFW
Отредактируйте/etc/rc.conf:firewall_enable="YES"
firewall_type="workstation"
После этого перезапустите:
service ipfw start
или просто перезагрузите систему.
2. Проверка текущих правил
ipfw listили
ipfw show
Пример вывода:
00100 allow ip from any to any via lo0
65535 deny ip from any to any
3. Очистить правила
ipfw -q flushОпция
-q отключает лишний вывод.4. Простая базовая конфигурация firewall
Минимальный безопасный набор:ipfw -q flush
ipfw add 100 allow all from any to any via lo0
ipfw add 200 allow tcp from any to any established
ipfw add 300 allow tcp from any to me 22 in
ipfw add 400 allow icmp from any to any
ipfw add 500 allow ip from me to any out
ipfw add 65535 deny ip from any to any
Что делают правила
| Rule | Описание |
|---|---|
| 100 | разрешает loopback |
| 200 | разрешает established соединения |
| 300 | разрешает SSH |
| 400 | разрешает ICMP |
| 500 | разрешает исходящий трафик |
| 65535 | блокирует всё остальное |
5. Постоянная конфигурация
Лучше создать файл правил:/etc/ipfw.rules
Пример:
#!/bin/sh
ipfw -q flush
ipfw add allow all from any to any via lo0
ipfw add allow tcp from any to any established
ipfw add allow tcp from any to me 22 in
ipfw add allow icmp from any to any
ipfw add allow ip from me to any out
ipfw add deny ip from any to any
Сделать исполняемым:
chmod +x /etc/ipfw.rules
В
/etc/rc.conf:firewall_enable="YES"
firewall_script="/etc/ipfw.rules"
6. NAT (если сервер выполняет маршрутизацию)
В/etc/rc.conf:gateway_enable="YES"
firewall_nat_enable="YES"
firewall_nat_interface="em0"
Пример правила NAT:
ipfw nat 1 config if em0
ipfw add 100 nat 1 ip from any to any via em0
7. Логирование пакетов
ipfw add 65000 deny log ip from any to anyЛоги можно смотреть:
tcpdump -i ipfw0
или
tail -f /var/log/security
8. Полезные команды
| Команда | Назначение |
|---|---|
ipfw list | показать правила |
ipfw add | добавить правило |
ipfw delete N | удалить правило |
ipfw flush | удалить все правила |
ipfw show | статистика |
lo0 и established, иначе можно случайно заблокировать систему.
