it-swarm.com.de

Ist es eine schlechte Idee für eine Firewall, ICMP zu blockieren?

Diese Frage wurde inspiriert von diese Antwort die teilweise besagt:

Die generische Firewall-Manifestdatei wird beendet, indem alles gelöscht wird, was ich sonst nicht zugelassen habe (außer ICMP. ICMP nicht deaktivieren).

Aber ist es wirklich eine gute Praxis für eine Firewall, ICMP zuzulassen? Was sind die Auswirkungen auf die Sicherheit und gibt es Fälle, in denen ICMP deaktiviert werden sollte?

104
Justin Ethier

Im Vergleich zu anderen IP-Protokollen ist ICMP relativ klein, erfüllt jedoch eine große Anzahl unterschiedlicher Funktionen. Im Kern wurde ICMP als Debugging-, Fehlerbehebungs- und Fehlerberichterstattungsmechanismus für IP entwickelt. Dies macht es wahnsinnig wertvoll, so dass viele Überlegungen erforderlich sind, um es herunterzufahren. Es wäre ein bisschen wie das Anheften von >/dev/null 2>&1 bis zum Ende aller Ihrer Cron-Einträge.

Die meiste Zeit, wenn ich mit Leuten über das Blockieren von ICMP spreche, sprechen sie wirklich über Ping und Traceroute. Dies führt zu 3 Typen

  • 0 - Echoantwort (Ping-Antwort)
  • 8 - Echoanforderung (Ping-Anfrage)
  • 11 - Zeit abgelaufen

Das sind 3 von 16 Typen. Schauen wir uns einige der anderen verfügbaren ICMP-Typen an.

  • 4 - Source Quench (von einem Router senden, um einen Host zu bitten, seine Übertragungen zu verlangsamen)
  • 3 - Ziel nicht erreichbar (besteht aus 16 verschiedenen Arten von Nachrichten, von der Meldung eines Fragmentierungsproblems bis hin zur Meldung, dass ein Port geschlossen ist)

Beides kann von unschätzbarem Wert sein, damit nicht böswillige Hosts in einem Netzwerk ordnungsgemäß funktionieren. Tatsächlich gibt es zwei (wahrscheinlich mehr, aber diese sind für mich am offensichtlichsten) sehr gute Fälle, in denen Sie nicht ICMP einschränken möchten.

  • Pfad-MTU-Erkennung - Wir verwenden eine Kombination aus dem Flag "Nicht fragmentieren" und dem Code 4 vom Typ 3 (Ziel nicht erreichbar - Fragmentierung erforderlich) und DF Flag gesetzt), um die kleinste MTU auf dem Pfad zwischen zu bestimmen Auf diese Weise vermeiden wir eine Fragmentierung während der Übertragung.
  • Für Active Directory müssen Clients die Domänencontroller anpingen, um Gruppenrichtlinienobjekte abzurufen. Sie verwenden Ping, um den "nächsten" Controller zu bestimmen. Wenn keiner antwortet, wird angenommen, dass keiner nahe genug ist. Das Richtlinien-Update findet also nicht statt.

Das heißt nicht, dass wir unbedingt alles offen lassen sollten, damit die ganze Welt es sehen kann. Aufklärung ist mit ICMP möglich und das ist im Allgemeinen der Grund für die Blockierung. Man kann Pings verwenden, um festzustellen, ob ein Host tatsächlich eingeschaltet ist, oder Time Exceededs (als Teil einer Traceroute), um Netzwerkarchitekturen zuzuordnen, oder Rory verbietet eine Umleitung (Typ 5 Code 0), um die Standardroute eines Hosts zu ändern.

Angesichts all dessen ist mein Rat wie immer, Ihren Schutz gemessen und nachdenklich anzugehen. Das Blockieren von ICMP in seiner Gesamtheit ist wahrscheinlich nicht die beste Idee, aber das Auswählen und Auswählen von was Sie blockieren und zu/von wo bringt Ihnen wahrscheinlich das, was Sie wollen.

123
Scott Pack

ICMP existiert aus einem Grund, und nicht jeder dieser Gründe ist ping. Es ist das "Meta" -Protokoll, mit dem Kontrollnachrichten über das Netzwerk selbst übermittelt werden. Schauen Sie sich ICMP auf Wikipedia an, um eine bessere Vorstellung davon zu bekommen, was es ist und wofür es ist.

Andere ICMP-Nachrichten umfassen auch nicht erreichbaren Zielhost, erforderliche Fragmentierung, Überlastungskontrolle, TTL überschritten, IP-Protokollfehler und eine Reihe anderer.

Das Netzwerk funktioniert ohne ICMP - die Ausfallsicherheit angesichts von Paketverlusten ist eine der Hauptstärken von IP -, arbeitet jedoch langsamer, weniger effizient und ohne die Vorteile dieser Signale, um Probleme zu diagnostizieren und zu lösen.

Sicherheitsprobleme mit ICMP sind in der Regel die eher nebulösen Probleme bei der Offenlegung von Informationen. Z.B. Wenn Ihr Router eine ICMP-Nachricht an jemanden zurücksendet, weiß dieser, dass Sie einen Router haben. Vielleicht ist der Angreifer, der weiß, dass Sie einen Router haben, etwas, worüber Sie sich Sorgen machen, oder eher nicht. Aber Sicherheitsforschung neigt dazu, auf der Seite der Stille zu irren, nur um auf der sicheren Seite zu sein, nur für den Fall.

Gelegentlich gibt es in einem Betriebssystem eine ICMP-bezogene Sicherheitslücke im "Ping of Death" -Stil. Derzeit gibt es keine in Mainstream-Betriebssystemen. Aber auch hier sind Sicherheitsanwälte für alle Fälle auf der Hut.

34
tylerl

Um ehrlich zu sein, ist es klug, ausgehende ICMPs sowohl auf Router- als auch auf Software-Firewall-Ebene als zusätzliche Sicherheitsebene zu filtern.

Es ist nicht relevant, ein DoS oder DDoS zu stoppen, aber böswillige Personen verwenden immer noch ICMP, um so viele Informationen wie möglich über ein Netzwerk abzurufen, bevor sie versuchen, es zu verletzen.

Ich sage nicht, dass sie NUR ICMP verwenden, aber das ist einer der wenigen Pakettypen, die sie verwenden. Je nachdem, ob Sie Schleusentore geöffnet haben, können sie in kürzester Zeit detaillierte Informationen erhalten.

Nehmen Sie sich etwas Zeit, um zu googeln und Informationen darüber nachzuschlagen, wie NMAP und einige andere Programme ICMP als eine der Ressourcen zum Sammeln von Informationen verwenden, und stützen Sie Ihre Filter dann auf das, was Sie für erforderlich halten, um sich und Ihr Netzwerk zu schützen.

Wenn möglich, richten Sie ein internes Testnetzwerk ein (ich habe mir persönlich einen billigen sekundären WLAN-Router gekauft und habe einen sekundären PC als Firewall, um alle Einstellungen meiner Router-/IPchains-/Software-Firewalls zu testen, bevor ich sie in meinem Hauptnetzwerk für verwende Mein Haushalt und jeder Kunde, der mich beauftragt, seine Netzwerke zu sichern.

Ich empfehle den Menschen dringend, Nachforschungen über das Scannen von Ports und das Durchbrechen von Firewalls in ihrem eigenen Netzwerk anzustellen, damit sie sich selbst und jede Familie, der sie helfen, besser schützen können.

Hier sind einige Ressourcen, die ich zuvor verwendet und an Freunde verwiesen habe. Ohne Informationssicherheit Wie ICMP zur Aufklärung verwendet wird

Und auch

ICMP-Angriffe des InfoSec-Instituts

Einige der Angriffe sind nicht mehr praktikabel, aber es gibt neuere Formen von Schlumpf, die immer noch funktionieren, da der Programmierer den ursprünglichen Angriff neu codieren und seine Funktionsweise ändern und Ressourcen verwenden konnte.

Stöbern Sie herum und Google ist Ihr Freund zusammen mit Stack Exchange und auch die duckduckgo-Suchmaschine ist wunderbar für Ressourcen, die Google herausfiltern könnte. Seien Sie vorsichtig und verwenden Sie Ihren Verstand!

Ich bin seit 22 Jahren PC-Techniker und seit 10 Jahren Spezialist für Netzwerksicherheit. Ich bin derzeit in der Schule für mein ECH und mein CPTS und schaue mir Offensiv-Sicherheitskurse an, wenn ich diese abgeschlossen habe.

Ich hoffe, dies hilft und andere finden diese Informationen nützlich, wenn ich Backups wiederherstelle, die ich auf diesem System erstellt habe, und ich finde meine anderen Links und Ressourcen zu diesem Thema. Ich werde diese Antwort aktualisieren.

4
brandizzle

Wie Sie der Protokollstruktur entnehmen können, hängt alles von dem Bereich ab, in dem es verwendet wird. Da Firewalls auf Typ- und Codeparameter reagieren können, können Sie entscheiden, was durch die Firewall geleitet werden soll und was nicht. Wenn die Firewall die ICMP-Echoanforderung empfängt und Sie kein Problem damit haben, sie darüber zu informieren, ob der Zielhost aktiv ist oder nicht, muss die Firewall auch in der Lage sein, eine Echoantwort zuzulassen. Aber seien Sie vorsichtig: ICMP-Pakete müssen DPI unterzogen werden, dh sie müssen mit den Spezifikationen des Pakets übereinstimmen: Wenn ein ICMP-Paket die eingehende/ausgehende Firewall passiert hat und auf einem oder mehreren Hosts in Ihrem Netzwerk Malware vorhanden ist, Diese Hosts können Befehle von einem C & C-Server abrufen und Informationen auf diesen Server übertragen. Im Allgemeinen halte ich es nicht für sinnvoll, es auf Grenzroutern zu verwenden, aber für die interne Netzwerkdiagnose, ja.

2
lone

Das Blockieren von ICMP ist nicht nur nutzlos, sondern in den meisten Fällen auch schädlich. Es gibt mehrere Gründe, warum Sie ICMP nicht blockieren sollten, wenn Sie nicht absolut sicher sind, was Sie tun, und insbesondere, warum Sie dies tun. Ja, ICMP-Ping kann anderen helfen, Ihr Netzwerk zu "profilieren". Aber seien wir ehrlich, wenn Sie überhaupt einen TCP-Dienst geöffnet haben, werden Sie gesehen. Wenn Sie nur Pakete verwerfen, werden Sie gesehen. Wenn Sie falsch reagieren, werden Sie gesehen. Wenn Sie also der Theorie glauben, dass Sie unsere wichtigen Server im Netzwerk verstecken müssen, weil sie dadurch sicherer werden, ist es beim Blockieren Ihres icmp wahrscheinlicher, dass Ihr Host ein noch helleres Ziel ist. Es gibt nur unzählige Möglichkeiten, es falsch zu machen, sodass Sie die Ermittlung des MTU-Pfads, die Überlastungskontrolle usw. unterbrechen und Ihren Server sogar von der Masse abheben. Blockieren Sie also in der Nusszelle Ihr icmp nicht, wenn Sie keinen guten Grund dafür haben, und tun Sie es dann vorsichtig und lesen Sie die icmp-Protokollspezifikationen, damit Sie verstehen, was und warum Sie tun, was Sie sind. Ja, es kann eine gute Idee sein, die ICMP-Umleitung am Rand Ihres Netzes zu blockieren, wenn Sie nicht sicher sind, ob Sie alte Kernel haben. Andererseits ist es besser, Ihre Server und andere Hosts zu aktualisieren (echte Probleme zu beheben), als sie unter einem Teppich zu verstecken, auf dem ohnehin jemand Ihre Fehler findet.

2
Tapio Haapala