Bundesamt für Sicherheit in der Informationstechnik

M 5.120 Behandlung von ICMP am Sicherheitsgateway

Verantwortlich für Initiierung: IT-Sicherheitsbeauftragter

Verantwortlich für Umsetzung: Administrator

Das Internet Control Message Protocol (ICMP, spezifiziert in RFC 792) hat als Protokoll der Transportschicht die Aufgabe, Fehler- und Diagnoseinformationen für IP zu transportieren. Es wird intern von IP, TCP oder UDP angestoßen und verarbeitet. ICMP kennt eine Anzahl verschiedener so genannter Nachrichtentypen für verschiedene Zwecke. Neben vielen nützlichen Funktionen gibt es in ICMP einige Nachrichtentypen, mit denen Angreifer sich wichtige Informationen über ein Netz verschaffen können, oder die direkt für Angriffe benutzt werden können (siehe G 5.50 Missbrauch des ICMP-Protokolls Missbrauch des ICMP-Protokolls).

Leider ist jedoch der radikale Ansatz, ICMP grundsätzlich am Sicherheitsgateway zu blockieren, ebenfalls keine befriedigende Lösung, da bestimmte Funktionen dann nicht mehr verfügbar sind. Auf Befehle wie ping oder traceroute kann zwar in der Regel auf normalen Arbeitsplatzrechnern und Servern verzichtet werden, eine globale Blockierung von ICMP am Sicherheitsgateway kann aber zu Beeinträchtigungen führen, die schwer zu diagnostizieren sind.

Daher sollte überlegt werden, sowohl am Sicherheitsgateway als auch gegebenenfalls an einem lokalen Paketfilter auf den einzelnen IT-Systemen eine selektive ICMP-Filterung vorzunehmen, sofern dieser die entsprechenden Möglichkeiten zur Verfügung stellt. Dabei sollten der Einsatzzweck des Rechners (Server oder Arbeitsplatzrechner), der Schutzbedarf und bei einzelnen Rechnern die am Sicherheitsgateway getroffenen Maßnahmen berücksichtigt werden. Beispielsweise kann für das interne Netz eine größere Zahl von Nachrichtentypen zugelassen werden, als für das externe Netz.

Die ICMP-Nachricht Echo Request (Nachrichtentyp 8) wird beispielsweise von Programmen wie dem Kommandozeilentool ping ausgeschickt und dient dazu herauszufinden, ob ein Rechner prinzipiell erreichbar ist. Der Rechner antwortet darauf mit einem Echo Reply (Nachrichtentyp 0). Werden ICMP Echo Requests aus dem externen Netz ins interne Netz durchgelassen, so kann dies von einem Angreifer ausgenutzt werden, um das interne Netz zu "kartographieren".

Die ICMP-Nachricht Destination Unreachable (Nachrichtentyp 3) wird beispielsweise dann erzeugt, wenn ein Rechner oder ein Netz nicht erreichbar ist, und kann dazu missbraucht werden, alle Verbindungen zwischen den beteiligten Rechnern zu unterbrechen. Trotzdem ist gerade die Nachricht Destination Unreachable für das Funktionieren der Protokolle der höheren Schichten wichtig. Beispielsweise ist der Subtyp "Fragmentation Needed but the Don't Fragment Bit was Set" (Nachrichtentyp 3, Code 4) wichtig für die Funktion der Ermittlung der maximal möglichen Paketgröße für eine bestimmte Verbindung ("Path MTU Discovery").

Die ICMP-Nachricht Redirect (Nachrichtentyp 5) wird ausgesandt, wenn ein Gateway erkennt, dass das Paket direkt an ein anderes Gateway geschickt werden kann, also bisher ein Umweg benutzt wurde. Der kürzere Weg wird dann in die Routingtabelle des Absenders eingetragen. Dieses kann von Angreifern missbraucht werden, um Routen über eigene Angriffsrechner zu konfigurieren. Daher sollten ICMP-Redirect Nachrichten am Sicherheitsgateway blockiert werden.

Bei den anderen Meldungen ist abzuwägen, ob Informationen, die eventuell nach außen geliefert werden, für einen Angriff missbraucht werden können.

Rechner im internen Netz

Die nachfolgende Tabelle zeigt eine mögliche Einstellung für ein Sicherheitsgateway, welches das interne Netz einer Organisation vom Internet trennt. Diese Einstellungen stellen für die meisten Zwecke einen akzeptablen Kompromiss zwischen Sicherheit und Funktionalität dar:

ICMP Nachricht Ankommend Abgehend Bemerkung
Echo Request (Typ 8) blockieren zulassen  
Echo Reply (Typ 0) zulassen blockieren Erlaubt zusammen mit der darüber stehenden Einstellung das "pingen" von innen nach außen, aber nicht umgekehrt
Destination unreachable (Typ 3) zulassen zulassen Eventuell feinere Unterscheidung anhand des Nachrichtencodes treffen
Time exceeded (Typ 11) zulassen zulassen Eventuell ausgehende Nachrichten blockieren
Redirect (Typ 5) blockieren blockieren  
Andere Typen blockieren blockieren  

Tabelle 1: ICMP für Rechner im internen Netz

Da "pingen" keine besondere Rolle für das Funktionieren eines Netzes spielt, sollte auch bei normalem Schutzbedarf überlegt werden, die Typen Echo Request und Echo Response komplett zu sperren.

Bei höheren Sicherheitsanforderungen sollte die Anzahl der erlaubten abgehenden ICMP-Typen weiter eingeschränkt werden.

"Öffentliche" Server in der DMZ

Für Server, die in einer Demilitarisierten Zone des Sicherheitsgateway aufgestellt sind und die öffentlich zugängliche Dienste anbieten kann es sinnvoll sein, zusätzliche Nachrichtentypen zu erlauben. Der Schutz vor dem "Ausspähen" einer internen Netzstruktur spielt in diesem Fall keine Rolle, da diese Rechner ohnehin von außen erreichbar sein müssen. Die folgende Tabelle kann dafür als Anhaltspunkt dienen:

ICMP Nachricht Ankommend Abgehend Bemerkung
Echo Request und Echo Reply (Typen 0 und 8) zulassen zulassen  
Destination unreachable (Typ 3) zulassen zulassen Eventuell feinere Unterscheidung anhand des Nachrichtencodes treffen
Time exceeded (Typ 11) zulassen zulassen  
Source Quench (Typ 4) zulassen blockieren  
Redirect (Typ 5) blockieren blockieren  
Andere Typen blockieren blockieren  

Tabelle 2: ICMP für "öffentliche" Server in der DMZ

Komponenten des Sicherheitsgateways

Komponenten des Sicherheitsgateways selbst sollten für den normalen Netzverkehr so transparent wie möglich sein. Daher ist es bei diesen Systemen empfehlenswert, überhaupt keine ICMP-Nachrichten zu generieren, weder selbständig noch als Antwort auf ankommende ICMP-Nachrichten. Es ist sinnvoll, diese Einstellung direkt am jeweiligen System zu treffen, sofern entsprechende Konfigurationsmöglichkeiten vorhanden sind. Anderenfalls sollten entsprechende Pakete am äußeren Paketfilter blockiert werden.

ICMP bei besonderen Sicherheitsanforderungen

Für IT-Systeme und Netze mit besonderen Sicherheitsanforderungen wird empfohlen, sämtliche ICMP-Nachrichten zu blockieren, eventuell mit Ausnahme von Nachrichten des Nachrichtentyps 3, Nachrichtencode 4 ("Fragmentation Needed but the Don't Fragment Bit was Set"). Diese Ausnahme vermeidet Probleme in Verbindung mit der sogenannten "Path MTU Discovery" (Ermittlung der maximal möglichen Paketgröße für eine bestimmte Verbindung).

ICMP im internen Netz

Auch im internen Netz kann es sinnvoll sein, ICMP ganz oder teilweise zu blockieren. An internen Sicherheitsgateways, die ein Netz mit besonderen Sicherheitsanforderungen von einem Netz mit normalem Schutzbedarf trennen wird empfohlen, im Bezug auf ICMP die selben Einstellungen zu wählen, wie sie oben für die Trennung des internen Netzes vom Internet empfohlen werden.

ICMP und Stateful Inspection

Manche Hersteller von Paketfiltern oder Sicherheitsgateways bieten bei Ihren Produkten die Möglichkeit, auch für ICMP eine Art Stateful Inspection vorzunehmen. Auf Grund seines Einsatzzweckes eignet sich ICMP aber besonders schlecht für Stateful Inspection. Wegen der Fehleranfälligkeit einer entsprechenden Konfiguration und dem vergleichsweise geringen Nutzen wird davon abgeraten, entsprechende Optionen zu aktivieren.

Prüffragen:

  • Ist der Einsatz von zugelassenen ICMP Nachrichtentypen am Sicherheitsgateway restriktiv eingeschränkt?

  • Werden ICMP -Redirect Nachrichten am Sicherheitsgateway blockiert?

  • Wird das aktive Versenden von ICMP-Nachrichten durch die Komponenten des Sicherheitsgateways unterbunden?

  • Ist dokumentiert, welche ICMP-Nachrichten in welche Richtungen zugelassen sind ?

Stand: 13. EL Stand 2013