Das böse ICMP

“ICMP ist Böse.” Warum eigentlich?

Frühertm, als das Internet noch aus wenigen (einigen Tausenden) Nodes bestand gab es ein großes Problem, das Ping of Death. Packete, die eine bestimmte größe hatten brachten den IP-Stack mancher Betriebssysteme zum Absturz. Dies wurde auch ausgenutzt.

Heute verrichtet ICMP verschiedene nutzliche Sachen. Es unterrichtet die beiden Seiten einer TCP-Übertragung darüber, dass eine Leitung voll ist oder eine Anwendung nicht schnell genug die Daten verarbeitet, ein Router schickt eine Nachricht, dass ein Host nicht erreichbar ist usw… also im Prinzip nichts böses.

Im Prinzip, also in der Theorie. In der Praxis kann man schon böses damit anstellen. Wenn man nur bischen kriminelle Energie hat ;)

ICMP lebt auf Layer 4 im OSI-Schichtmodell, neben UDP, TCP usw. Es hat die Protokollnummer 1. Nebenbei: TCP hat 6 und UDP 17.

Wie wir bei IANA (http://www.iana.org/assignments/icmp-parameters) nachlesen können gibt es einige Nachrichten, die versandt oder empfangen werden können:

Type Name Reference


0 Echo Reply [RFC792]
1 Unassigned [JBP]
2 Unassigned [JBP]
3 Destination Unreachable [RFC792]
4 Source Quench [RFC792]
5 Redirect [RFC792]
6 Alternate Host Address [JBP]
7 Unassigned [JBP]
8 Echo [RFC792]
9 Router Advertisement [RFC1256]
10 Router Solicitation [RFC1256]
11 Time Exceeded [RFC792]
12 Parameter Problem [RFC792]
13 Timestamp [RFC792]
14 Timestamp Reply [RFC792]
15 Information Request [RFC792]
16 Information Reply [RFC792]
17 Address Mask Request [RFC950]
18 Address Mask Reply [RFC950]
19 Reserved (for Security) [Solo]
20-29 Reserved (for Robustness Experiment) [ZSu]
30 Traceroute [RFC1393]
31 Datagram Conversion Error [RFC1475]
32 Mobile Host Redirect [David Johnson]
33 IPv6 Where-Are-You [Bill Simpson]
34 IPv6 I-Am-Here [Bill Simpson]
35 Mobile Registration Request [Bill Simpson]
36 Mobile Registration Reply [Bill Simpson]
37 Domain Name Request [RFC1788]
38 Domain Name Reply [RFC1788]
39 SKIP [Markson]
40 Photuris [RFC2521]
41 ICMP messages utilized by experimental [RFC4065]
   mobility protocols such as Seamoby
42-255 Reserved [JBP]

Sollte man also ICMP auf der Firewall komplett blocken?

Meine Antwort lautet NEIN. Auf keinen Fall. Eine gut eingerichtete Firewall antwortet wohl auf z.B. ICMP Echo. Nur weil eine, beispielweise, IPSEC Firewall nicht auf “ping” antwortet heisst nicht, dass man nicht rausfinden kann ob sie da ist.

ICMP-Typen die auf jeden fall durchgelassen werden sollten sind:

0,3,4,5,6,8,11,12,30

Dann funktioniert die Firewall richtig und es gibt keine merkwürdigen Probleme. Man kann aber durchaus komplett ICMP erlauben. Es ist nicht Böse! ;)

Viel wichtiger ist es z.B. FTP abzusichern, da es “Löcher” bohren kann oder aufzupassen, dass die Hosts nicht von Innen nach Aussen Verbindungen aufbauen, was z.B. bei geknackten Rechnern der Fall sein kann, der Tunneling über DNS.

Also, lass uns pingen…

Leave a Reply

Your email address will not be published. Required fields are marked *