Народ, оцените pf.conf, взятый из архива документации на opennet'e в разделе безопасность.
И подскажите куда поместить правила на NAT - nat on rl0 from 192.168.0.0/24 to any -> 10.0.0.170/32pf.conf:
#1.1 Входящие фрагменты накапливаются и передаются дальше фильтру
scrub in on xl0 all fragment reassemble min-ttl 20 max-mss 1440
#1.2 Убирает бит "don't fragment" из заголовка IP-пакета
scrub in on xl0 all no-df
#1.3 Ни одной из сторон не позволяется уменьшить IP TTL. TTL для всех пакетов устанавливается в максимум
scrub on xl0 all reassemble tcp
#2.1 Сканирование портов и определение ОС (NMAP, etc...), а также для запрета атаки типа FIN FLOOD.
# Правило запрещает вхождение TCP пакетов с неправильно установленными флагами.
block in quick proto tcp from any to 195.195.195.1 flags SF/SFRA
block in quick proto tcp from any to 195.195.195.1 flags SFUP/SFRAU
block in quick proto tcp from any to 195.195.195.1 flags FPU/SFRAUP
block in quick proto tcp from any to 195.195.195.1 flags F/SFRA
block in quick proto tcp from any to 192.168.0.1 flags U/SFRAU
block in quick proto tcp from any to 192.168.0.1 flags P/P
#3.1 Запретить атаку типа Router-Spoofing, при которой в источник IP-адреса указывается IP-адрес из внутренней сети
# При этом можно получить к доступным ресурсам внутренней сети.
# IN
block in log-all quick on xl0 from { 127.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8, 0.0.0.0/8, 169.254.0.0/16, 192.0.2.0/24, 204.152.64.0/23, 224.0.0.0/3, 20.20.20.0/24 } to 192.168.0.1
#3.2 OUT
block out log-all quick on xl0 from any to { 127.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8, 0.0.0.0/8, 169.254.0.0/16, 192.0.2.0/24, 204.152.64.0/23, 224.0.0.0/3, 20.20.20.0/24 }
#4 Запрещаем работу по портам извне
###############################################################################
#####4.1 Запрет SYSlog-all - удаленный прием событий программой журналом событий SYSLOG
block in log-all quick on xl0 proto udp from any to 192.168.0.1 port = 514
#####4.2.1 Запрет SAMBA, порты UDP 136-140 - (nmbd)
block in log-all quick on xl0 proto udp from any to 192.168.0.1 port 136 >< 140
#####4.2.2 порты TCP 136-140 - (smbd)
block in log-all quick on xl0 proto tcp from any to 192.168.0.1 port 136 >< 140
#####4.3 Запрет SWAT (Веб-интерфейс для Samba)- TCP 901
block in log-all quick on xl0 proto tcp from any to 192.168.0.1 port = 901
#####4.4 Запрет SENDMAIL - TCP 587, для балансировки нагрцзки и ускорения почтовика
block in log-all quick on xl0 proto tcp from any to 192.168.0.1 port = 587
#####4.5 Запрет MYSQL - TCP 3306
block in log-all quick on xl0 proto tcp from any to 192.168.0.1 port = 3306
#####4.6 Запрет DRWEB MONITOR - TCP 3000
block in log-all quick on xl0 proto tcp from any to 192.168.0.1 port = 3000
#####4.7 Запрет DRWEB MAIL CHECKER - TCP 3001
block in log-all quick on xl0 proto tcp from any to 192.168.0.1 port = 3001
#####4.8 Запрет POP3 - TCP 110
block in log-all quick on xl0 proto tcp from any to 192.168.0.1 port = 110
###############################################################################
############# XL0- Внешняя сетка 10.0.0.170 ###############
############# РАЗРЕШАЕМ! ###############
###############################################################################
#####5 ICMP TRAFIС - только пинговать и получать ответы
pass in quick on xl0 proto icmp from any to 192.168.0.1 icmp-type echoreq
pass in quick on xl0 proto icmp from any to 192.168.0.1 icmp-type echorep
pass out quick on xl0 proto icmp from 192.168.0.1 to any icmp-type echoreq
pass out quick on xl0 proto icmp from 192.168.0.1 to any icmp-type echorep
block in log-all quick on xl0 proto icmp from any to any
block out log-all quick on xl0 proto icmp from any to any
####6 Разрешаем хождение по локальному интерфейсу (lo0)
pass in log-all quick on lo
pass out log-all quick on lo
#####7 Разрещаем к SSH только из сети 195.216.172.0/24, для всех остальных запрещаем
pass in quick on xl0 proto tcp from 195.216.172.0/24 to 192.168.0.1 port = 22
block in log-all quick on xl0 proto tcp from any to 192.168.0.1 port = 22
###8 Разрешаем DNS - TCP 53, для передачи зоны с PRIMERY DNS Server
pass in quick on xl0 proto tcp from 10.0.0.2 to 192.168.0.1 port = 53
pass out quick on xl0 proto tcp from 192.168.0.1 port = 53 to 10.0.0.2
pass in quick on xl0 proto udp from any to 192.168.0.1 port = 53
pass out quick on xl0 proto udp from 192.168.0.1 port = 53 to any
###9 Разрешаем WEB SERVER - TCP 80(HTTP) и TCP 443(HTTPS),
#### а также с защитой от атак путем разрешений опрделенного набора флагов в TCP заголовке
pass in quick on xl0 proto tcp from any to 192.168.0.1 port = 80 synproxy state (max 10 tcp.finwait 5 tcp.opening 10 tcp.established 30 tcp.closing 20)
pass in quick on xl0 proto tcp from any to 192.168.0.1 port = 443 synproxy state (max 10 tcp.finwait 5 tcp.opening 10 tcp.established 30 tcp.closing 20)
###10 Разрешаем FTP SERVER - TCP 21 20
pass in quick on xl0 proto tcp from any to 192.168.0.1 port = 20 flags S/SA synproxy state
pass in quick on xl0 proto tcp from any to 192.168.0.1 port = 21 flags S/SA synproxy state
###11 Разрешаем пиринговые сети E-MULE, открываем порт и потом перекидываем его во внутреннюю сеть
pass in quick on xl0 proto tcp from any to 192.168.0.1 port = 4661
pass out quick on xl0 proto tcp from 192.168.0.1 port = 4661 to any
###12 Разрешаем почтовую систему (MAIL SERVER)
pass in quick on xl0 proto tcp from any to 192.168.0.1 port = 25 flags S/SA synproxy state
pass in quick on xl0 proto tcp from any to 192.168.0.1 port = 465 flags S/SA synproxy state
pass in quick on xl0 proto tcp from any to 192.168.0.1 port = 995 flags S/SA synproxy state
##13 DNS
pass in quick on xl0 proto udp from 10.0.0.2 port = 53 to 192.168.0.1
pass in quick on xl0 proto udp from 217.199.96.2 port = 53 to 192.168.0.1
###14.1 Разрешаем выход любого трафика в Интернет через внешнюю сетку
pass out quick on xl0 proto tcp from 192.168.0.1 to any
pass out quick on xl0 proto udp from 192.168.0.1 to any
###14.2 закрываем все что не разрешенно и закрываем UDP порты кроме 53(DNS)
block in log quick on xl0 proto tcp from any to 192.168.0.1 flags S/SAFRP
block in log quick on xl0 proto udp from any to 192.168.0.1
###############################################################################
############# lnc0- Внутренняя сетка 192.168.0.1 ###############
############# ###############
###############################################################################
### 15
pass in quick on lnc0 from any to any keep state
pass out quick on lnc0 from any to any keep state