На сервере (FreeBSD 4.8) настроена фильтрация через IPF
в ядре options IPDIVERT
options IPFILTER
options IPFILTER_LOG
options IPFILTER_DEFAULT_BLOCK
в /etc/rc.conf ipfilter_enable="YES"
ipfilter_rules="/etc/ipf.conf"
в /etc/ipf.conf
#!/usr/bin -Fa -f -
#for reconfig ipf enter "ipf -Fa -f <filename>"#counting rules
# ppp0 - external interface
count in on ppp0 all
count out on ppp0 all# rl0 - internal 1 interface
count in on rl0 all
count out on rl0 allpass in quick from 127.0.0.1 to 127.0.0.1
pass out quick from 127.0.0.1 to 127.0.0.1pass in proto tcp from any to any port 1023 >< 65535
pass out proto tcp from any to any port 1023 >< 65535
pass in proto icmp all
pass out proto icmp all
#SMTP
pass in proto tcp from any to XXX.XXX.XXX.XXX/32 port = 25
pass out proto tcp from XXX.XXX.XXX.XXX/32 to any port = 25#DNS
pass in proto udp from any to XXX.XXX.XXX.XXX/32 port = 53
pass out proto udp from XXX.XXX.XXX.XXX/32 to any port = 53
pass in proto tcp from any to XXX.XXX.XXX.XXX/32 port = 53
pass out proto tcp from XXX.XXX.XXX.XXX/32 to any port = 53#WEB my_site.ru
pass in proto tcp from any to XXX.XXX.XXX.XXX/32 port = 80
pass out proto tcp from XXX.XXX.XXX.XXX/32 to any port = 80#FTP
pass in proto tcp from any to XXX.XXX.XXX.XXX/32 port = 20
pass out proto tcp from XXX.XXX.XXX.XXX/32 to any port = 20
pass in proto tcp from any to XXX.XXX.XXX.XXX/32 port = 21
pass out proto tcp from XXX.XXX.XXX.XXX/32 to any port = 21#local rules
pass in proto tcp from 192.168.1.0/24 to 192.168.1.1/32 port = 3128
pass out proto tcp from 192.168.1.1/32 to 192.168.1.0/24 port = 3128pass in proto tcp from 192.168.1.0/24 to 192.168.1.1/32 port = 80
pass out proto tcp from 192.168.1.1/32 to 192.168.1.0/24 port = 80pass in proto udp from 192.168.1.0/24 to 192.168.1.1/32 port = 137
pass out proto udp from 192.168.1.1/32 to 192.168.1.0/24 port = 137pass in proto tcp from 192.168.1.0/24 to 192.168.1.1/32 port = 139
pass out proto tcp from 192.168.1.1/32 to 192.168.1.0/24 port = 139pass in proto tcp from 192.168.1.0/24 to 192.168.1.1/32 port = 25
pass out proto tcp from 192.168.1.1/32 to 192.168.1.0/24 port = 25pass in proto tcp from 192.168.1.0/24 to 192.168.1.1/32 port = 110
pass out proto tcp from 192.168.1.1/32 to 192.168.1.0/24 port = 110pass in proto udp from 192.168.1.0/24 to 192.168.1.1/32 port = 53
pass out proto udp from 192.168.1.1/32 to 192.168.1.0/24 port = 53
pass in proto tcp from 192.168.1.0/24 to 192.168.1.1/32 port = 53
pass out proto tcp from 192.168.1.1/32 to 192.168.1.0/24 port = 53pass in proto tcp from 192.168.1.0/24 to 192.168.1.1/32 port = 20
pass out proto tcp from 192.168.1.1/32 to 192.168.1.0/24 port = 20
pass in proto tcp from 192.168.1.0/24 to 192.168.1.1/32 port = 21
pass out proto tcp from 192.168.1.1/32 to 192.168.1.0/24 port = 21pass in proto tcp from 192.168.1.0/24 to 192.168.1.1/32 port = 443
pass out proto tcp from 192.168.1.1/32 to 192.168.1.0/24 port = 443Всё бы хорошо и когда запускаешь #nmap -vv my_site.ru он сканит TCP порты, конкретно пишет такие открыты, остальные закрыты
Но когда пускаешь #nmap -vv my_site.ru -sU, он радостно сообщает все 1471 UDP порт открыт!!!!!!! Офигеть! в чём затык?
вот тут был поднят похожий вопрос :(
http://www.opennet.me/openforum/vsluhforumID1/30310.html
но товарищи гуру молчат :(
Причём молчат как рыбы.
Видать все в отпусках.
Может просто вопрос ламерский и ответ уже сто раз обсуждался :(
ХЗ почему всёзнающие Алл молчит !
>Может просто вопрос ламерский и ответ уже сто раз обсуждался :(
>ХЗ почему всёзнающие Алл молчит !
Скорее всего так. Только человек настраивавший файерволл уехал куда-то в Питер на ПМЖ, а я только начинаю и с английским не в ладах (всё время немецкий изучал, да и то всё забыть успел)
Перерыл все /usr/share/examples/ipfilter
Там всё по другому, советуется использовать mkfilters для того чтобы для начала всё прикрыть попробовал-бы, да тачка удалённая обрубит всё на..ер
Я меня правила с DENY на REJECT (думал может правильней будет что посылался ответ об ошибке, но увы не фига не изменилось)
Народ ну хоть счем может быть связана данная ФИЧА ?
>Я меня правила с DENY на REJECT (думал может правильней будет что
>посылался ответ об ошибке, но увы не фига не изменилось)
подход к решению задачи правильный..к сожалению с ipfw не знаком, но чтобы nmap счинал порт закрытым при -sU, он должен получить ответ "порт недоступен" (icmp). может дело в этом? - вполне возможно, что REJECT отсылает ответ о недоступности хоста в ipfw..
то же и к автору вопроса - правило по умолчанию при сборке ядра = IPFILTER_DEFAULT_BLOCK - насколько мне подсказывает моя фантазия, это должно дропать пакеты без ответа вообще
>>Я меня правила с DENY на REJECT (думал может правильней будет что
>>посылался ответ об ошибке, но увы не фига не изменилось)
>
>
>подход к решению задачи правильный..
>
>к сожалению с ipfw не знаком, но чтобы nmap счинал порт закрытым
>при -sU, он должен получить ответ "порт недоступен" (icmp). может дело
>в этом? - вполне возможно, что REJECT отсылает ответ о недоступности
>хоста в ipfw..
>
>то же и к автору вопроса - правило по умолчанию при сборке
>ядра = IPFILTER_DEFAULT_BLOCK - насколько мне подсказывает моя фантазия, это должно
>дропать пакеты без ответа вообще
БОЛЬШОЕ СПАСИБО LS !!!
проблему решил :)
1) почитал вот это
http://www.citforum.ru/internet/tifamily/icmpspec.shtml
2) почитал ipfw man на то какие есть еще дествия с пакетами и нашел unreach , потом нашел цифарку 3 (по ману это код с именем "port") :)
3) сотряпал вот такое правило:
ipfw add #XXXX unreach 3 log UDP from any to $my_ip in via $inteface