http://mtaalamu.ru ru (http://mtaalamu.ru) (http://mtaalamu.ru) http://mtaalamu.ru http://mtaalamu.ru FreeBSD 9: поддержка таблиц в PF /blog/admining/2728.html /blog/admining/2728.html Sergei_T
pfctl -t badhosts -T show


Заканчивалась вот таким сообщением:

No ALTQ support in kernel
ALTQ related functions disabled
No ALTQ support in kernel


Будем пересобирать ядро. Это кстати намного проще и удобнее, чем в Linux. Делаем вот что:]]>
Tue, 11 Jun 2013 14:02:38 +0400 FreeBSD pf
FreeBSD: firewall для web сервера за 5 минут /blog/admining/2099.html /blog/admining/2099.html Sergei_T
Правим /etc/rc.conf:

pf_enable="YES"


Создаем/правим файл /etc/pf.conf:

# re0 - сетевой интерфейс
net_if1="re0"

# пропускаем все на локальном интерфейсе
set skip on lo

# список tcp портов, которые будут открыты со внешки
tcp_services = "{22, 80, 8080, 443}"

# блокируем все входящие соединения, но разрешаем исходящие
block in all
pass out all

# разрешаем доступ со внешки к вышеперечисленным портам
# ключевое слово quick означает, что после этого правила
# никакие другие правила к пакетам применяться не будут
pass in quick on $net_if1 inet proto tcp from any to $net_if1 port $tcp_services


Стартуем (кстати, если делаете это на удаленном сервере, ssh соединение будет разорвано после старта pf).

/etc/rc.d/pf start


Вот такой минимализм. Работают только определенные TCP порты, ICMP отключен.

Также пример настроек для работы ftp сервера в пассивном режиме:

net_if1="re0"

set skip on lo

tcp_services = "{20, 21, 22, 1222, 80, 8080, 443, 6969, 5222, 5223, 9090, 9091}"

block in all
pass out all

pass in quick on $net_if1 inet proto tcp from any to $net_if1 port $tcp_services
pass in quick on $net_if1 inet proto tcp from any to $net_if1 port 49512 >< 65535
]]>
Sun, 13 Nov 2011 15:16:41 +0400 pf BSD администрирование