Добрый день.
Достался "в наследство" шлюз на FreeBSD с криво настроенным ipfw.
На машине должны быть открыты порты:
20,21 - FTP
22 - SSH
25 - SMTP
53 - DNS
80 - Apache
110 - POP3
3128 - Squid (только для пользователей LAN)
Остальные порты надо закрыть.
При проверке этой машины на открытость портов обнаружил, что открыт порт 31337
"Baron Night, BO client, BO2, Bo Facil, BackFire, Back Orifice, DeepBO" судя по описанию "http://sygatetech.com/quickscan.html"
Начал смотреть правила файрвола и обнаружил, что они мягко говоря "дырявые":
# xl0 - LAN
# xl1 - Internet
# 192.168.0.44 - FreeBSD router
# 192.168.0.1-192.168.0.50 LAN users IP
00100 allow ip from any to any via lo0
00200 allow ip from any to any via xl0
00300 divert 8668 ip from any to any
00400 deny icmp from any to any frag
00450 allow ip from any to any via xl1
00500 allow icmp from any to any
00600 allow tcp from any to any 80 out xmit xl0
00700 allow tcp from any 80 to any out xmit xl0
00800 allow udp from any to any 53
00900 allow udp from any 53 to any
01000 allow udp from any to any 110
01100 allow udp from any 110 to any
01200 allow tcp from any to any 21
01300 allow tcp from any 20 to any
01400 allow tcp from any to any 20
01500 allow tcp from 192.168.0.5 22 to 192.168.0.44
01600 allow tcp from 192.168.0.44 to 192.168.0.5 22
01700 allow tcp from any to any 53,80,110 via xl1
65535 deny ip from any to any
Очень "смущает" правило 450, видимо его надо заменить на нечто в виде:
00450 allow ip from (здесь наверное 192.168.0.1-192.168.0.50 или с помощью битовой маски) to any via xl1
и тогда наверное надо будет добавить еще одно правило вида
00450 allow ip from ME to any via xl1
Или не так?
Где-то надо будет описать еще что все порты кроме указанных в правилах закрыты!
Кстати, при проверке машины Win2k3, защищенной Kerio Winroute
http://sygatetech.com/quickscan.html показывает, что нерабочие порты имеют статус "Blocked" (Ideally your status should be "Blocked". This indicates that your ports are not only closed, but they are completely hidden (stealthed) to attackers.)
А при проверке машины c FreeBSD с ipfw нерабочие порты имеют статус "Closed".
Собственно еще вопрос: Как сделать на ipfw блокирование портов, а не только их закрытие?