Frage:
Sicherheitsrisiko von PING?
Mr. Jefferson
2011-06-08 22:31:58 UTC
view on stackexchange narkive permalink

Mir wurde gesagt, dass PING ein Sicherheitsrisiko darstellt, und es ist eine gute Idee, es auf Produktionswebservern zu deaktivieren / blockieren. Einige Untersuchungen haben ergeben, dass tatsächlich Sicherheitsrisiken bestehen. Ist es üblich, PING auf öffentlich sichtbaren Servern zu deaktivieren / zu blockieren? Und gilt dies auch für andere Mitglieder der ICMP-Familie wie traceroute ( Wikipedia zur Sicherheit)?

Ich halte es für angemessener zu fragen, wann die Deaktivierung von ICMP-Ping angemessen ist. In welcher Bedrohungsumgebung sollten ICMP-Ping-Antworten deaktiviert werden? Welche Schwachstellen hat / könnte ICMP haben? Wie können wir das Risiko von ICMP-Schwachstellen begrenzen?
Wenn Ping ein Sicherheitsrisiko für Ihr Netzwerk darstellt, gibt es größere Probleme als die Sicherheit: P.
Acht antworten:
Thomas Pornin
2011-06-08 23:22:01 UTC
view on stackexchange narkive permalink

Das ICMP-Echo-Protokoll (normalerweise als "Ping" bekannt) ist größtenteils harmlos. Die wichtigsten sicherheitsrelevanten Probleme sind:

  • Bei Anforderungen mit einer gefälschten Quelladresse ("Spoofing") kann ein Zielcomputer relativ große Pakete an einen anderen Host senden . Beachten Sie, dass eine Ping-Antwort nicht wesentlich größer als die entsprechende Anforderung ist, sodass dort kein Multiplikatoreffekt auftritt: Sie gibt dem Angreifer im Rahmen eines Denial-of-Service-Angriffs keine zusätzliche Leistung. Dies kann den Angreifer jedoch vor Identifikation schützen.

  • Eine geehrte Ping-Anforderung kann Informationen über die interne Struktur eines Netzwerks liefern. Dies ist jedoch für öffentlich sichtbare Server nicht relevant, da diese bereits öffentlich sichtbar sind.

  • In einigen weit verbreiteten TCP / IP-Implementierungen gab es Sicherheitslücken, bei denen ein fehlerhafter Ping auftrat Anfrage könnte eine Maschine zum Absturz bringen (der "Ping of Death"). Diese wurden jedoch im letzten Jahrhundert ordnungsgemäß gepatcht und sind kein Problem mehr.

Es ist üblich, Ping auf öffentlich sichtbaren Servern zu deaktivieren oder zu blockieren - aber common ist nicht dasselbe wie empfohlen . www.google.com antwortet auf Ping-Anfragen; www.microsoft.com nicht. Persönlich würde ich empfehlen, alle ICMPs für öffentlich sichtbare Server passieren zu lassen.

Einige ICMP-Pakettypen DÜRFEN NICHT blockiert werden, insbesondere die ICMP-Nachricht "Ziel nicht erreichbar", da dies blockiert wird Man unterbricht die Pfad-MTU-Erkennung. Die Symptome sind, dass DSL-Benutzer (hinter einer PPPoE-Schicht, die die MTU auf 1492 Byte beschränkt) nicht auf Websites zugreifen können, die diese Pakete blockieren (es sei denn, sie verwenden den von ihrem ISP bereitgestellten Web-Proxy). .

Dies ist nicht vollständig korrekt. Weitere Informationen finden Sie in der Antwort von @Ori's.
Ich finde es immer schwieriger, Netzwerktechnikern die Notwendigkeit zu erklären, PMTU-Discs, Squench-Typen und andere Szenarien von "gutem ICMP" nicht zu erreichen. Siehe auch - http://rfc-ignorant.org
@atdre Ich stimme zu, dass es Typen gibt, die notwendig sind. ICMP-Echo / Antwort war wirklich das, wohin ich ging. Nicht erreichbare sind absolut notwendig. @Thomas Ich liebe "Mostly Harmless" (bezüglich Douglas Adams) in jedem Beitrag. Deshalb wollte ich überhaupt erst antworten.
Ping of Death ist eigentlich ein irreführender Name, da es sich eher um einen Angriff auf die IP-Schicht als auf ICMP handelt. Mit anderen Worten, der Angriff könnte genauso gut auf jedes andere IP-Protokoll gerichtet sein, das nicht gefiltert wird.
Das nicht erreichbare Ziel wird nicht für die Pfad-MTU verwendet - eine erforderliche Fragmentierung ist erforderlich.
Wenn Sie IPv6 verwenden, sollten Sie Ping-Anforderungen und Ping-Echo nicht blockieren, da dies die Unterstützung für Personen unterbricht, die über Teredo eine Verbindung zu Ihrem Server herstellen
google.com akzeptiert ICMP-Paket ja, aber wenn die Paketgröße nicht geändert wird!
Ori
2011-06-08 23:57:58 UTC
view on stackexchange narkive permalink

ICMP enthält eine Datenkomponente. Es kann verwendet werden, um Tunnel zu bauen, und dies ist nicht nur eine theoretische Sache, es ist in freier Wildbahn verfügbar. Es wurde von mehreren verschiedenen Forschern als Teil von Malware -Toolkits gefunden. Ganz zu schweigen davon, dass es zu diesem Thema ein prominentes Howto gibt, ganz zu schweigen vom Wiki oder dem Hackaday

. ICMPTX verwendet das ICMP-Echo und die ICMP-Antwort . ICMP Echo ist nicht immer harmlos, da es eine Datenkomponente enthält, Daten exfiltrieren oder als Steuerkanal oder (im Fall von ICMPTX) als Tunnelprotokoll verwendet werden kann / p>

Aktuelle Implementierung in die Verteilung mit Howto (ICMPTX): http://thomer.com/icmptx/

Reales Angriffsszenario mit ICMP-Datenübertragung für Nutzlastinjektion: Open Packet Capture

Verwendung eines ICMP-Datenübertragungsprotokolls über ähnliche Methoden wie ICMPTX (2006) für Trojaner C&C und Exfiltration: Network World

Würden Sie bitte die Forschungen zitieren, die ICMPTX in Malware-Toolkits gefunden haben?
Es ist fast ein Jahrzehnt her, ich werde sehen, ob es noch etwas Greifbares gibt. Im Moment ist es hier, aber ich habe mit Leuten gearbeitet, die in einigen frühen Fällen Erfahrungen aus erster Hand gemacht haben.
Ang Cui wird eine Demo von IOS-Angriffen unter Verwendung von ICMP als Steuerkanal geben. http://www.blackhat.com/html/bh-us-11/bh-us-11-briefings.html Ich werde heute Abend einige Untersuchungen zu vorhandenen Exploit-Frameworks durchführen, um festzustellen, ob es eine ICMP-Nutzlast gibt, die häufig als verteilt wird Gut.
Vielen Dank. Zur weiteren Verdeutlichung: Ang Cui, [Den Mythos der Cisco IOS-Vielfalt töten] (http://www.blackhat.com/html/bh-us-11/bh-us-11-briefings.html): Auf dem Weg zu Zuverlässigkeit, groß - Skalierte Ausnutzung von Cisco IOS 'Mit dieser Fähigkeit kann der Angreifer die Nutzlast harmloser Pakete wie ICMP als verdeckten Befehls- und Kontrollkanal verwenden.'
Was ist, wenn ICMP zum Tunneln von Daten verwendet werden kann? Dies gilt auch für jedes andere Netzwerkprotokoll, das Sie auswählen. Kann DNS - werden Sie den gesamten DNS-Verkehr blockieren? Kann HTTP - werden Sie alle Port 80 blockieren? Ich denke, dies ist ein falscher Grund, Ping zu blockieren.
Es ist ein weiterer "Dienst", den ein Angreifer in einem mehrstufigen Szenario nutzen kann. Warum aktivieren, wenn Sie es nicht benötigen?
@D.W. Sie werden keinen DNS-Verkehr * in * Ihr Netzwerk zulassen, oder? Sie würden nicht in Betracht ziehen, Port 80 einem beliebigen Server zuzulassen, oder? Wenn es keinen Betriebs- oder Usability-Grund dafür gibt, wird die Angriffsfläche unnötig vergrößert.
@AviD: jedoch sind die Ping-Pakete _ nützlich_ - wenn auch nur als Diagnosewerkzeug von außen. Es ist ein Kompromiss.
@D.W. Der Titel der Frage lautet "Sicherheitsrisiko von PING?" und diese Antwort ist ein sehr guter Punkt, der aufgenommen werden sollte. Obwohl dies zutrifft, ist die Verwendung verdeckter Kanäle nicht der einzige Grund für die Blockierung von ICMP (Ehrlich gesagt besteht der häufigste Grund für die Blockierung von ICMP darin, Aufklärungsversuche zu erschweren). Außerdem würde ich definitiv DNS und HTTP blockieren ... und das tue ich, abgesehen von meinem Proxy.
Mein Punkt ist, dass Sie, wenn Sie die verdeckte Kommunikation beenden möchten, die gesamte Kommunikation blockieren müssen (in beide Richtungen, unabhängig davon, welcher Endpunkt die Verbindung initiiert hat). Das ist eindeutig absurd. Es ist also albern, Ping zu blockieren, um verdeckte Kommunikation zu blockieren. Selbst nach dem Blockieren von Ping können Personen weiterhin verdeckt kommunizieren. Es ist kein Kompromiss zwischen Sicherheit und Funktionalität: Es ist die Art von Dingen, die Menschen dazu bringen, Sicherheitsleute zu verfluchen, weil sie die Funktionalität ohne erkennbaren Sicherheitsvorteil brechen.
ICMP ist nur dann wirklich nützlich, wenn Sie irgendwo im Bereich eines benachbarten Netzwerkinfrastrukturgeräts oder eines Remote-Netzwerküberwachungsgeräts sprechen. In diesem Fall würde ich eine Technik verwenden, die der von Daniel entspricht. Ich glaube nicht, dass es immer * vollständig * deaktiviert sein sollte, aber wenn es unnötig ist, warum sollte es jemand verwenden?
Ich stimme @Ori zu - die Regel sollte "nur das zulassen, was benötigt wird", um Ihre Schwachstellenlandschaft zu reduzieren. Durch die Begrenzung der möglichen Kanäle ist es einfacher, sie zu überwachen.
Daniel Miessler
2011-06-10 05:20:02 UTC
view on stackexchange narkive permalink

Es ist richtig, dass ICMP von Angreifern verwendet werden kann, um Informationen zu erhalten, Daten verdeckt zu transportieren usw. Es ist auch wahr, dass ICMP äußerst nützlich ist und dass das Deaktivieren häufig Probleme verursachen kann. Traceroute verwendet tatsächlich ICMP. Wenn Sie also bestimmte ICMP-Typen nicht zulassen, wird es beschädigt.

Die Frage hebt das klassische Gleichgewicht zwischen Sicherheit und Funktionalität hervor, und es liegt an Ihnen, zu bestimmen, wie viel Funktionalität Sie verlieren möchten um x Sicherheit zu erhalten.

Eine Empfehlung besteht darin, nur bestimmte Typen (die am häufigsten verwendeten) zuzulassen und alle anderen zu deaktivieren. Hier sind meine iptables-Regeln. Beachten Sie, dass diese zulässig sind, da alles andere standardmäßig nicht zulässig ist.

  # Eingehenden ICMP zulassen: Ping, MTU-Erkennung, TTL abgelaufen / sbin / iptables -A INPUT -i eth0 -p icmp -d $ YOURBOX --icmp-Typ 8/0 -j ACCEPT / sbin / iptables -A INPUT -i eth0 -p icmp -d $ YOURBOX --icmp-Typ 3/4 -j ACCEPT / sbin / iptables -A INPUT -i eth0 -p icmp -d $ YOURBOX --icmp-type 11/0 -j AKZEPTIEREN  
gute Antwort. Ich sehe es jedoch nicht als Kompromiss: Das Blockieren von Ping bringt wahrscheinlich höchstens einen vernachlässigbaren Sicherheitsvorteil. Wenn Sie es nicht benötigen, blockieren Sie es natürlich, wenn Sie möchten (hey, Whitelists sind besser als Blacklists).
ICMP-basierte Traceroute ist jedoch nicht die einzige Option. Sie können TCP-basierte Traceroute (siehe z. B. 'tcptraceroute') oder UDP (so funktioniert das Tracert von Microsoft - obwohl dies eingehendes ICMP erfordert) verwenden.Sie können auch einige externe ICMP-Ziele für Netzwerktests und -verwaltung auf die Whitelist setzen.
atdre
2011-06-10 08:19:07 UTC
view on stackexchange narkive permalink

Ich denke, dass ausgehende Echoantworten aufgrund der ICMP-Verstärkung gefährlicher sind als eingehende Echoanforderungen (entweder Ratenbegrenzung oder Verweigerung dieses Datenverkehrs). Nach jahrzehntelangem Nachdenken über dieses Thema bin ich jedoch zu dem Schluss gekommen, dass ICMP eher gefährlich als nützlich ist und daher in beide Richtungen blockiert werden sollte, um potenziell gefälschten ausgehenden Verkehr anzumelden.

Das Beste von Alle Welten sind Nullrouten für alles, was zustandsbehaftet, aber unerwünscht (TCP-Verbindungen) und reflexive ACLs (leistungsgesteuert) für alle zustandsbehafteten, aber zulässigen und / oder nicht vollständig zustandsbehafteten (UDP-Datagramme) sein kann, während andere entfernt werden IP-Protokolltypen, da diese nicht erforderlich sind. IPsec AH / ESP ist nicht erforderlich. Verwenden Sie stattdessen OpenVPN (oder ähnliches).

Nachdem Sie die ICMP-Traceroute blockiert haben, müssen Sie sich auch mit UDP-basierter Traceroute sowie mit Technologiekonzepten wie den in der 0trace-, LFT- und osstmm_afd-Tools.

Auch wenn Nmap Xmas-Scans nicht von Snort / Suricata erfasst werden, geschweige denn von SQLi- oder Javascript-basierten Angriffen (in jede Richtung), müssen wir die Bedeutung von Risiken erkennen gebunden an Netzwerk- und Anwendungssicherheitsangriffe gegen moderne Infrastruktur. Wir sollten jede Art von Footprint-Verkehr ablehnen, testen und verifizieren - und ich verstehe nicht, warum dies ICMP nicht einschließen würde, aber es startet oder stoppt dort wirklich nicht

Christopher Alfred
2015-02-04 20:23:28 UTC
view on stackexchange narkive permalink

Ping und Traceroute sind zur Fehlerbehebung in Netzwerken erforderlich. Mit modernen Firewalls und Sicherheitstools gibt es nur sehr wenig und grenzt an die nicht vorhandene Chance, dass eines der beiden Protokolle auf böswillige Weise erfolgreich verwendet wird.

1996 war es sicher ein Problem, aber es ist jetzt 2015, fast 20 Jahre später, und das Blockieren dieser führt nur zu dramatisch verlängerten Zeitrahmen, um Konnektivität und Leistung zu lösen. Die Fähigkeit von Tier-1/2-Teams, einfache Routing- und Netzwerkprobleme zu identifizieren und zu beheben, ist ein Problem bei der Bereitstellung von Diensten, das sich auf die Zufriedenheit der Kunden mit den von Ihnen bereitgestellten Netzwerkdiensten auswirkt.

goodguys_activate
2012-01-25 23:08:43 UTC
view on stackexchange narkive permalink

Anstatt die Hauptfrage "Was sind die Sicherheitsrisiken von Ping?" zu beantworten, beantworte ich Ihre Unterfrage "Ist es eine gute Idee, auf Produktionswebservern zu blockieren / zu deaktivieren"

Ich denke, wir können hier ein Gleichgewicht zwischen Sicherheit und Nutzen finden. Support-Mitarbeiter finden Ping im Allgemeinen nützlich, wenn sie die Latenz oder Verfügbarkeit eines bestimmten Knotens überprüfen. Sicherheitspersonal ist besorgt über viele der auf dieser Seite beschriebenen Sicherheitsprobleme und häufig die "Bösen".

Deaktivieren Sie Ping in einem Whitelist- / Blacklist-Format und teilen Sie dies Ihrem Support mit Mitarbeiter. Wenn sich Ihre Kerngruppe in einer bestimmten geografischen Region befindet, beschränken Sie die Ping-Fähigkeit basierend auf der IANA-IP-Zuweisung

Sehr wahr, besonders wenn man bedenkt, dass der Nutzen von Ping für die Verfügbarkeit von Bedeutung ist, der oft vergessene [Bruder der Vertraulichkeit und Integrität] (http://en.wikipedia.org/wiki/CIA_triad#Key_concepts).
Furkan Turan
2020-03-10 17:13:42 UTC
view on stackexchange narkive permalink

Nach einem ersten Zugriff auf Ihren Server kann eine schädliche Software das Ping-Protokoll als Kommunikationsmittel zu ihrem Befehls- und Steuerungsserver verwenden. Als Beispiel eine Reverse Shell mit dem Ping-Protokoll: https://github.com/inquisb/icmpsh

Dies wird bereits durch andere Antworten abgedeckt
Ich denke, die Frage bezog sich darauf, ob es Sicherheitsrisiken gibt, auf Pings zu antworten, ohne dass ein Programm installiert ist, das Pings senden kann.
Tomas Zubiri
2020-03-10 13:51:08 UTC
view on stackexchange narkive permalink

In "Anforderung für Internet-Hosts" gibt eine angesehene Behörde, die für die Standardisierung der ICMP-, TCP-, IP- und anderer Protokolle verantwortlich ist, die IETF an, dass Hosts auf ICMP-Anfragen antworten sollen. Die Praxis ist also nicht nur sicher, sondern wird auch als obligatorisch für die Einhaltung ihrer Standards angesehen:

Jeder Host MUSS eine ICMP-Echo-Serverfunktion implementieren, die Echo-Anforderungen empfängt und entsprechende Echo-Antworten sendet. Ein Host SOLLTE auch eine Schnittstelle auf Anwendungsebene zum Senden einer Echoanforderung und zum Empfangen einer Echoantwort zu Diagnosezwecken implementieren.

In der Standard-IETF-Sprache MUSS MUSS bedeuten, dass "das Element absolut ist Anforderung der Spezifikation. " Zwar SOLLTE dies bedeuten, dass "unter bestimmten Umständen gültige Gründe vorliegen können, um dieses Element zu ignorieren, aber die vollständigen Auswirkungen sollten verstanden werden"

Dies bedeutet, dass ein Server auf eine ICMP-Echoabfrage antworten muss, dies jedoch möglicherweise nicht Stellen Sie eine Benutzeroberfläche für sie bereit.

Das Dokument bezieht sich auf eine ausführliche Debatte, die vor dem Datum der Redaktion 1989 stattfand:

"Diese neutrale Bestimmung resultiert aus einer Leidenschaft Debatten zwischen Personen, die der Meinung sind, dass ICMP-Echo an eine Broadcast-Adresse eine wertvolle Diagnosefunktion bietet, und Personen, die der Ansicht sind, dass ein Missbrauch dieser Funktion zu leicht zu Paketstürmen führen kann. "

Auch nach neueren ( 2010) Diskussionen über theoretische Angriffe durch ICMP auf RFC 5927 hat die IETF die ICMP-ECHO-Antworten immer noch nicht von einem MUSS auf ein MUSS herabgestuft. Das Ziel dieses RFC sind Anbieter und Implementierer von ICMP und TCP, nicht Verbraucher. Die im schlimmsten Fall beschriebenen Szenarien sind eine Verschlechterung des Dienstes.

Kurz gesagt, ICMP ist sicher. Das Deaktivieren wird nicht empfohlen.

Wenn Sie die Schultern der Riesen respektieren, auf denen Sie stehen, respektieren Sie deren Entscheidung und vermeiden Abweichungen von der Konvention.

"MUSS" bedeutet nichts.Was wird die IETF tun, wenn ich nicht gehorche?Sie haben wahrscheinlich nicht das Budget, um einen Anwalt oder einen Killer einzustellen.Darüber hinaus verfügen eine Vielzahl von Consumer-Routern über Standardeinstellungen zum Löschen eingehender ICMP-Nachrichten, und alle explodieren auch nicht.
Wir sprechen über die Gruppe, die icmp zusammen mit tcp, ip, dns usw. entworfen und standardisiert hat. Ignorieren Sie es auf eigene Gefahr
Dies beantwortet genau keinen meiner Punkte.Was ist der Nachteil der Deaktivierung?Was ist der Nachteil des Ungehorsams?Sie tun so, als würde das Internet zusammenbrechen, aber das tut es nicht.
Ich verstehe Ihre Besorgnis, es ist ein Appell an die Autorität, aber es funktioniert für mich.Ich habe kein Interesse daran, tiefer zu graben. Ein Appell an diese Autorität scheint eine gute Tiefenbegrenzung für jede Suche nach meinem Wissen zu sein.Und es beantwortet die ursprüngliche Frage: Ist es üblich, ICMP zu deaktivieren?Nein, besteht ein Risiko für ICMP?Nein.
Der RFC ist jedoch notorisch alt.Diese Antwort könnte durch Hinzufügen von https://tools.ietf.org/html/rfc5927 verbessert werden.Es gibt keine Änderung des MUST-Status, aber es wird ausführlich beschrieben, um die möglichen theoretischen Risiken von icmp zu beschreiben.
Ich habe einen Link zu RFC 5927 hinzugefügt, der auf mehr Sicherheitsrisikodiskussionen verweist, als Sie jemals benötigen werden.
Tomas - aber Sie haben die falsche Aussage "ICMP ist sicher" geschrieben - wie alles andere ist es nicht sicher.Es stellt ein Risiko dar, das in einem bestimmten Kontext verstanden werden sollte.
Wir müssen in der Lage sein, mindestens eine Sache als sicher zu kennzeichnen, sonst die Antwort auf jede Frage "Wird dies als sicher angesehen?"wird sein "alles hat ein Risiko".Ich setze meinen Fuß auf ICMP.
Dies beantwortet die Frage nicht und beruht auf einem massiven Logikfehler.Und Sie interpretieren "Risiko" falsch als "sicher".Wir müssen * nichts * als "sicher" kennzeichnen.Die Frage ist wörtlich: "Was sind die Risiken?"Sie vermeiden das völlig.
"Auf eigene Gefahr ignorieren" - ok - welche Gefahr?Was ist das Risiko***?
RFC 5927 ist *** nicht *** "mehr Sicherheitsrisikodiskussion als Sie jemals brauchen werden".Es deckt leicht eine kleine Dimension einer Art von Risiko ab.
Möglicherweise besteht ein Kompromiss darin, alles in einem Subnetz für virtuelle Hosts oder den Router pingbar zu machen.
Sicher ist das Fehlen von Risiken, sie sind Antonyme.Das Risiko, sichere Funktionen zu befürchten, besteht darin, dass Sie von echten Risiken abgelenkt werden.Es ist wie bei diesen schrecklichen Builds, die fünftausend Warnungen liefern. Sie verpassen die wichtigen, wenn Sie die trivialen nicht herausfiltern können.
@TomasZubiri Sie verstehen das Konzept des Risikos nicht, und das hilft immer noch nicht, die Frage zu beantworten: "Was sind die Risiken?"Dies ist keine Antwort.


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...