Bookmark http://www.protecus.de/Firewall_Security/ - Firewall, Ruleset & Security
     Home          Firewall Ruleset          Security Stuff          Links          Forum !     


ICMP Konfiguration bei Firewalls (ICMP = Internet Control Message Protocol)

Bei dem komplexen Thema ICMP (festgelegt im RFC0792) stolpern fast alle Anf
Im folgenden versuche ich die einzelnen ICMP Optionen näher zu erklären sowie auf Sicherheitsgefahren hinzuweisen.
ACHTUNG! Bitte entscheide hier selbst, was du in deiner Firewall erlaubst, meine Empfehlungen sind für die typischen Websurfer bzw. Standardcomputer um sicher und ohne Performanceverlust zu surfen, sowie für die Benutzung von Ping & Tracerroute optimiert! Die ICMP Empfehlungen sind hier im Beispiel nicht auf die höchste Sicherheitsstufe ausgelegt! Netzwerker, achten bitte besonders auf die Beschreibungen und handeln nach dem Motto "Was nicht definitiv gebraucht wird: Deaktivieren bzw. blocken!"
Für absolute Sicherheit siehe Block All Rule! ;)

Kurzerklärung ICMP:
Neben dem Internetprotokoll (IP) sind auf der Internetschicht noch weitere Protokolle angesiedelt.
Eins davon ist ICMP, es dient zum Austausch von Fehler- und Informationsmeldungen bei IP-, TCP- und UDP-Protokollen.
ICMP-Pakete werden immer als IP-Datagramm verschickt.
Es dient dazu, Hosts günstigere Routen zu einem Ziel bekanntzugeben, über Routing-Probleme zu informieren oder Verbindungen wegen Problemen im Datennetz abzubrechen. Auf ICMP basieren die Kommandos ping und traceroute.
Die Meldungen des ICMP sind in zwei Klassen eingeteilt: die Fehlermeldungen und die Informationsmeldungen.

BLOCK ALL RULE FÜR ICMP
ICMP ist eine Gradwanderung zwischen Sicherheit und Performance
Für die, die ganz extrem sicher gehen wollen und dafür vieleicht etwas Performance einbußen ( im weiteren beschrieben), empfehle ich das komplette ICMP In- & Outbound zu blocken, das Internet sollte bei den meisten Normalusern auch ohne ICMP problemlos funktionieren.

Legende: ROT = BLOCK | GRÜN = ALLOW

Typ & Funktion

Yes/NoBeschreibung
Typ 0
Echo Reply
IN

ICMP Typ 0 - Echo Reply Echo Antwort (auf eine Echo Anfrage Anforderung)
Ist eigentlich nur eine harmlose Ping-Afrage, die dazu dient, einen Rechner zu überprüfen, ob er kontaktbereit ist. Man kann zu jedem Computer mit IP-Adresse eine Echo-Nachricht senden und der Empfänger muss den Inhalt dieser Nachricht dann in seiner Echo-Antwort-Nachricht zurückschicken. Dadurch wird festgestellt, ob ein bestimmter Rechner (genauer eine bestimmte IP-Adresse) erreichbar ist oder nicht.
Aufgrund dessen, das viele sogenannte Scriptkiddies das Internet nach Rechnern abscannen, und auf Rechnern, die mit Echo Reply antworten nach Trojanern suchen sollte dieses Outbound geblockt werden. Echo Reply Inbound ist zum selber pingen erlaubt!
Nebenbei: Viele Administratoren benutzen Echo Reply bzw. Ping zur Fehlersuche in Netzwerken, also fragt euren Admin!

OUT
Typ 3

Destination Unreachable

IN

ICMP Typ 3 - Destination Unreachable Ziel nicht erreichbar
Diese Nachricht wird von einem Gateway oder dem Zielrechner verschickt, falls das Gateway das angegebene Netz oder der Zielrechner ein Protokoll der höheren Schicht oder einen Port nicht erreichen kann. Angriffspunkte gibt es hier bei dem unten beschriebenen Denial-of-Service Angriff. Bei privaten HomeRechner sollte man jedoch ruhig diesen Typ aufgrund von Performance aktiviert lassen! Destination Unreachable In spart Wartezeit, sonst mußt du auf "timed-out" warten.

OUT
Typ 4

Source Quench

IN

ICMP Typ 4 - Source Quench Überlastung durch den Sender
Source quench ist eine Systemmeldung, wenn sich ein Stau im Router aufbaut und Anfragen langsamer beantwortet werden. Diese Meldung hat niemanden zu interessieren.
Das Source Quench wird von dem Rechner erzeugt, der überlastet ist mit Anfragen. z.B. Mailserver benutzen dies hin und wieder, wenn sie große E-Mails empfangen müssen und (gerade) keine Ressourcen frei haben, um weitere E-Mails zu empfangen. Der Sender (z.B. ein anderer E-Mail-Server weiß dann, dass der Empfänger zwar vorhanden ist und auch i.O., aber zu beschäftigt. Er wird später noch mal versuchen, ihm seine Mail zu überbringen.
Ein Angreifer kann nun durch den Einsatz von Unmengen von künstlichen "Source Quench" Nachrichten die Gegenstation z.B. einen Webserver o.ä. so stark bremsen, dass dieser kaum noch Daten nach außen gibt.
Fazit: Source Quench sollte bei z.B. Servern in beide Richtungen normalerweise erlaubt sein, da es eine sehr vernünftige Meldung ist. Allerdings sollte diesen Typ protokollieren und dafür sorgen, dass man bei einem möglichen übernatürlichen Anstieg eine Warnmeldung erhält, neben dem sollte dieser Typ nur direkt von den Routern akzeptiert werden.
Bei privaten Einzelrechnern wird dieser Typ wahrscheinlich sowieso nie eintreffen!

OUT
Typ 5

Redirect

IN

ICMP Typ 5 - Redirect Umleitung, umadressieren (über andere Router)
Hierbei handelt es sich um eine Umleitungsanfrage zu einer URL. Diese Nachricht erzeugt ein Gateway, wenn es feststellt, daß es einen besseren Weg zum Zielrechner gibt. IP-Pakte, welche die Source-Routing-Option haben, erzeugen keine Redirect-Meldungen auch wenn es einen besseren Weg geben würde. Hier besteht die Gefahr eines unten beschriebenden Redirect Angriffes. Bei Einzelrechnern wird dieser Typ warscheinlich nie eintreffen, und kann wiederum geblockt werden
Bei Unternehmen und Netzwerken sollte diese von dem Host ignoriert werden, falls es nicht von einem direkt angeschlossenen Router stammt. Sicherheitshalber sollte es ganz abgeschaltet werden. Man sollte vor allem dafür sorgen, daß es von den Routern innerhalb des Firewalls blockiert wird.

OUT
Typ 8

Echo (Request)

IN

ICMP Typ 8 - Echo request Echo Anfrage Anforderung einer "Echo"-Antwort
Mit dieser ICMP-Nachricht kann eine Netzwerkverbindung getestet werden. Man kann zu jeder IP-Adresse eine echo-Nachricht senden und der Empfänger muss den Inhalt dieser Nachricht dann in seiner echo-reply-Nachricht zurückschicken. Dadurch wird festgestellt, ob ein bestimmter Rechner (genauer eine bestimmte IP-Adresse) erreichbar ist oder nicht. Auf Benutzerebene nutzt das Programm ping genau diesen ICMP-Dienst. Damit ist es ein sehr nützliches Werkzeug um Netzwerkverbindungen zu testen. Das ICMP-Typfeld hat bei diesen Nachrichten den Wert 8 für echo-Anforderungen und 0 für echo-Antwort-Nachrichten. In Firmennetzwerken wird dieser Typ von den Administratoren oft benutzt, sprich das blocken dort könnte Probleme geben. Auf privaten Home Rechner würde ich dieses Incoming blocken, da dieses im Internet von Hackern benutzt wird um zu prüfen, ob ein Opfer online ist.

OUT
Typ 11

Time Exeeded

IN

ICMP Typ 11 - Time Exceeded Zeit abgelaufen
Dem Sender eines Datagramms wird durch eine "Timer abgelaufen"-Meldung mitgeteilt, warum das Datagramm nicht übertragen werden konnte, z.B. Systemnachricht bei Zeitüberschreitung eines UDP Pakets.
Ein Grund hierfür kann das Kreisen eines Paketes oder Stau (Congestion) sein, oder auf dem Zielrechner ist das IP-Protokoll nicht in der Lage, die Fragmente zu einem vollständigen Datenstrom zusammenzusetzen. Diese Meldung sollte Inbound zugelassen werden.

OUT
Typ 12

Parameter Problem

IN

ICMP Typ 12 - Parameter Problem Falsche Einstellungen
Wenn ein Rechner ein Problem mit dem IP-Header hat, und er deshalb das Datagramm nicht bearbeiten kann, wird diese Nachricht gesendet, z.B. Ein UDP Paket konnte nicht verarbeitet werden. Beispiel: In einem Router wird im IP-Header des Datagramms ein Fehler festgestellt. Dadurch kann es nicht übertragen werden und wird vernichtet. Die Ursache für diesen Fehler könnte ein falsch gesetztes Argument in den IP-Optionen sein. Diese Meldung sollte zumindest Inbound erlaubt werden.

OUT
Typ 13

Timestamp (Request )

IN

ICMP Typ 13 - Timestamp Request Umlaufzeit-Anfrage
Durch Versenden dieser Nachrichten können Hosts oder Gateways Verspätungen im Datenverkehr erkennen.
Timestamp Reply kann jedoch erlaubt werden.Diese ICMP ermöglicht die Messung der Zeit, die ein Datagramm benötigt. Der Sender des Timestamp Requests erhält vom Empfänger ein Reply, in welchem Sendezeit und Empfangszeit sowie die Sendezeit des Timestamp Replys enthalten sind.

OUT
Typ 14

Timestamp Reply

IN

ICMP Typ 14 - Timestamp Reply Umlaufzeit-Antwort
Durch Versenden dieser Nachrichten können Hosts oder Gateways Verspätungen im Datenverkehr erkennen.
Das Typfeld hat dabei den Wert 13, wenn eine Timestamp-Nachricht verschickt wird und im Antwortpaket den Wert 14. Timestamp Requests werden von Home PC's nicht verschickt. Timestamp Reply kann jedoch erlaubt werden.

OUT
Typ15

Info Request

IN

ICMP Typ 15 - Informations-Anfrage
Dieser ICMP-Dienst erlaubt es einem Host, die IP-Adresse des Netzes zu bestimmen, mit dem er verbunden ist. Das RARP (Address Resolution Protokoll) hat mittlerweile diese Aufgabe übernommen.Der ICMP-Typ dieser Meldungen ist 15 bei Anfrage-Nachrichten und 16 für Antworten. Beispiel: Ein Rechner sendet ein Datagramm (IP-Destination-Adresse = 0) und bekommt von einem beliebigen Rechner die lokale Netadresse übermittelt. Outgoing kann erlaubt werden!

OUT
Typ 15 +16

Info Reply

IN

ICMP Typ 16 - Informations-Antwort
Dieser ICMP-Dienst erlaubt es einem Host, die IP-Adresse des Netzes zu bestimmen, mit dem er verbunden ist. Das RARP (Address Resolution Protokoll) hat mittlerweile diese Aufgabe übernommen.Der ICMP-Typ dieser Meldungen ist 15 bei Anfrage-Nachrichten und 16 für Antworten.

OUT
Typ 17

Adress (Request)

IN

ICMP Typ 17 - Address Format Request Subnet-Mask-Anfrage
Dem Sender einer "Adressmasken"-Anforderung wird durch die "Adressformat"-Antwort die Länge der Subnet-Adresse (in Bits) mitgeteilt.
Beispiel zum Auslösen einer solchen Meldung könnte sein:
Ein Rechner will bei einem Verbinungsaufbau von einem Netzwerkknoten (Router) wissen, ob in diesem Netz ein Subnetzaddresse verwendet wird und wenn ja, welche Länge diese besitzt. Outgoing kann natürlich wieder erlaubt werden, da dieses eine Anfrage von dem eigenen Computer ist!

OUT
Typ 18

Adress Reply

IN

ICMP Typ 18 - Address Format Reply Subnet-Mask-Antwort
Dem Sender einer "Adressmasken"-Anforderung wird durch die "Adressformat"-Antwort die Länge der Subnet-Adresse (in Bits) mitgeteilt.

OUT
Typ 9 + 10

Router Advertisement / Selection

IN

ICMP Typ 9 + 10 Router Advertisement / Selection
Verfahren zur Auswahl von Routern. Normalerweise ist das ja so, dass man für den Transfer eines Datenpaketes zwischen mehreren Subnetzen dem Datenpaket zu sagen hat, welche Richtung es einschlagen soll um an das Ziel zu gelangen. Prinzipiell gibt es, wie man auch in dem RFC nachlesen kann, zwei Varianten zur Aktualisierung der Strecken - einmal eine manuelle Routingtabelle oder ein Routingverfahren welches sich halt die Strecken ansieht, indem es ein Routingprotokoll durchleuchtet. ICMP Typ 10 hat die Aufgabe, das Routing transparenter zu gestalten, man muß keine statischen Routen definieren und es ist unabhängig von diversen Routingprotokollen. Technisch gesehen kommunizieren die einzelnen Router, indem sie sich gegenseitig in den einzelnen Subnetzen suchen können durch diese Advertisement / Selection Pakete / Parameter. Die gegenseitigen Prüfungen nach Routern findet etwa alle 7 bis 10 Minuten statt. Eine Routerschnittstelle bekommt auch eine Art Lebenszeit von 30 Minuten für den Fall, dass ein Router mal ausfällt und das System in der Lage sein muß, automatisch Alternativstrecken zu finden. Weiterhin kann man Router mit einer Priorität versehen um zu definieren, welche Strecken zuerst verwendet werden sollen.

OUT

MIT ICMP KÖNNEN FOLGENDE ANGRIFFE DURCHGEFÜHRT WERDEN:

Das ICMP Protokoll kann natürlich auch mißbraucht werden, indem künstlich falsch Fehlermeldungen versendet werden:

Denial-of-Service Angriff
Durch die ICMP-Nachrichten Time-Exceeded, Redirect und Destination unreachable kann es zum Ausfall von Diensten auf der angegriffenen Maschine kommen.
Viele ICMP-Nachrichten, die einen Host erreichen, sind nur für eine bestimmte Verbindung relevant. Um diese Verbindung bestimmen zu können sind in den ICMP-Nachrichten der IP-Header und die ersten 64 bit des IP-Datagramms enthalten. Ältere ICMP-Implementierungen nutzen diese zusätzlichen Information nicht, dadurch kann es zum Abbruch aller bestehenden Verbindungen (auch legitimer) zwischen den beteiligten Hosts kommen. Es gibt sogar eigene Programme, die mit Hilfe von ICMP-Nachrichten Verbindungen kappen. In größeren Netzen sollte man die häufigkeit der ICMP-pakete überwachen, bei DDoS-attacken steigt die zahl der ICMP-pakete sprunghaft an, also erst ab einer gewissen Paket-anzahl/zeiteinheit blocken.

Ping-to-Death
Dieser Angriff führt ebenfalls zu Denial-of-Service oder noch schlimmer zu einem Systemabsturz, problematisch bei Windows 95 Systemen!
Bei dieser Attacke sendet der Angreifer ICMP-Pakete mit einer Nutzdatengröße von mindestens 65.510 Byte. Diese werden fragmentiert zum Zielsystem übertragen und dort wieder zusammengesetzt. Inklusive des ping-Headers ergibt das ein IP-Paket, das größer ist als die maximal zulässige Größe von 65.536 Byte. Bei IP-Implementierungen, die einen solchen Overflow nicht abfangen, kommt es dann zum Systemabsturz.

Redirect
Mit ICMP-Redirect-Meldungen kann ein Angreifer Zutritt zum System erlangen. Durch Versenden von Redirect-Meldungen kann ein Angreifer den gesamten Datenverkehr eines Netzes über seinen Rechner laufen lassen. Gelingt dies, so ist es nicht weiter schwierig, die IP-Pakte nach Loginnamen und Passwörtern zu durchsuchen.

ICMP-Dienste Echo und Echo Reply
Durch die ICMP-Dienste Echo und Echo Reply kann sich ein Angreifer nützliche Informationen über ein Netzwerk verschaffen (z.b. Anzahl der Maschinen, welche IP-Adressen gibt es). Dieses Wissen kann dann für weitere Angriffe verwendet werden. Sowie siehe oben beschriebendes Scriptkiddie & Trojaner Problem!


Quellen dieser Infos:
Godfather14, Lukas
http://www2.little-idiot.de/Firewall/
http://www.feuerwallshop.de/Info_zum_Firewall/ICMP-Info_Details/icmp-info_details.html
http://www.new-engine.de/index4.php3?vorlage=ws-icmp
http://home.germany.net/100-512959/npf/npf.html
http://www.netonfire.de/icmp/icmp.htm -> ausführlich!
http://www.iig.uni-freiburg.de/~mhartman/tcpip/icmp.html

http://www.bluemerlin-security.de/Bericht_Firewall_intern4.php3



© 2001 Lukas - keine unerlaubte Vervielfältigung, auch nicht auszugsweise! - Alle Rechte vorbehalten.

...bookmark http://www.protecus.de/Firewall_Security/