Thursday, November 4, 2010

"icmp-host-prohibited"?


Znalazłem taką opcje w zaporze RH Fedory, niby domyślna polityka ustawiona jest na ACCEPT a jednak ładnie wszystko odrzuca. Postanowiłem zbadać tą sprawę. Gdzieś w sieci natrafiłem na link do RFC1812, gdzie można trochę o tym poczytać:
5.3.9 Packet Filtering and Access Lists
...
   The router SHOULD allow an appropriate ICMP unreachable message to be
   sent when a packet is discarded.  The ICMP message SHOULD specify
   Communication Administratively Prohibited (code 13) as the reason for
   the destination being unreachable.

Przeczytałem gdzieś również, że ktoś po testach stwierdził, iż rzeczywiście używanie tej opcji dla odrzucanych pakietów oszczędza pasmo. Postanowiłem również to przetestować.

Test jest prosty, na serwerze dodałem na samym końcu regułę:
iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited

Następnie użyłem prostego badania zamkniętego portu, pierwszy wynik jest baz powyższej reguły, a drugi już z:

root@home:/home/grzesiek# nmap x.xxx.pl -p 33 -PN

Starting Nmap 5.00 ( http://nmap.org ) at 2010-11-04 21:17 CET
Interesting ports on x.xxx.pl (XX.18.194.XXX):
PORT   STATE    SERVICE
33/tcp filtered dsp

Nmap done: 1 IP address (1 host up) scanned in 2.20 seconds

Trwało to 2 sekundy, ale długo :)


# tcpdump -i eth0:1 port 33
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0:1, link-type EN10MB (Ethernet), capture size 96 bytes
21:16:54.948070 IP PC-77-XX-24-XXX.xxx-net.pl.45056 > x.xxx.pl.33: S 2889941185:2889941185(0) win 2048 <mss 1460>
21:16:55.949049 IP PC-77-XX-24-XXX.xxx-net.pl.45057 > x.xxx.pl.33: S 2889875648:2889875648(0) win 2048 <mss 1460>
^C
2 packets captured
2 packets received by filter
0 packets dropped by kernel


Zostały odebrane dwa pakiety.
Teraz wersja z wysyłaniem przez serwer komunikatu zwrotnego ICMP:

root@home:/home/grzesiek# nmap x.xxx.pl -p 33 -PN

Starting Nmap 5.00 ( http://nmap.org ) at 2010-11-04 21:52 CET
Interesting ports on x.xxx.pl (83.18.194.164):
PORT   STATE    SERVICE
33/tcp filtered dsp

Nmap done: 1 IP address (1 host up) scanned in 0.17 seconds

Od razu widać - szybciej.


# tcpdump -i eth0:1 port 33
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0:1, link-type EN10MB (Ethernet), capture size 96 bytes
21:51:59.989134 IP PC-XX-46-24-XXX.xxxx-net.pl.55250 > x.xxx.pl.33: S 868347170:868347170(0) win 1024 <mss 1460>
^C
1 packets captured
1 packets received by filter
0 packets dropped by kernel

Drugi pakiet był już zbędny, ponieważ nmap dostał jasny komunikat dlaczego port nie odpowiada - administracyjnie zabroniony.


No comments:

Post a Comment