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

Diese Frage wurde von dieser Antwort inspiriert, die teilweise lautet:

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?

Kommentare

Antwort

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 so, als würde man >/dev/null 2>&1 an das Ende all Ihrer Cron-Einträge heften.

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

  • 0 – Echoantwort (Ping-Antwort)
  • 8 – Echoanforderung (Ping-Anforderung)
  • 11 – Zeitüberschreitung

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

  • 4 – Source Quench (von einem Router gesendet, um einen Host zu bitten, seine Übertragung zu verlangsamen)
  • 3 – Ziel nicht erreichbar (besteht aus 16 verschiedenen Arten von Nachrichten, die von der Meldung eines Fragmentierungsproblems bis zur Firewall reichen Melden, 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 die offensichtlichsten für mich) sehr gute Fälle, in denen Sie ICMP nicht 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 den Hosts zu bestimmen. Auf diese Weise vermeiden wir eine Fragmentierung während der Übertragung.
  • Active Directory erfordert, dass 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 dies 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 erhalten Sie wahrscheinlich das, was Sie wollen.

Kommentare

  • kleines Detail: Während ICMP in IPv4 optional ist, muss IPv6 normal funktionieren. Die Rolle des ICMP hat sich stark verändert. Leichte Informationen dazu: blogs.cisco.com/security/icmp-and-security-in-ipv6
  • @Mike Oh sicher, Ich glaube, ich war nicht ‚ nicht klar, aber ich habe speziell über v4 gesprochen. IPv6 ist so unterschiedlich, dass wir es beim Entwerfen und Schützen von v6-Netzwerken wirklich als völlig anderes Protokoll behandeln müssen.
  • +1 “ .. . oder Rory verbieten … “ Ich habe tatsächlich laut gelacht.
  • @tylerl: Ich habe auch gelacht, als ich es geschrieben habe. Zugegeben, ich hatte etwas Wein getrunken und es war 1,5 Stunden nach dem Schlafengehen.
  • Source Quench wurde offiziell abgelehnt ( RFC 6633 ). Und ist seit Jahrzehnten kaum noch im Internet zu sehen.

Antwort

ICMP existiert aus einem Grund, und nicht alle dieser Gründe sind 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 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 – 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 nebulöseren Probleme bei der Offenlegung von Informationen. Wenn Ihr Router beispielsweise eine ICMP-Nachricht an jemanden zurücksendet, weiß dieser, dass Sie einen Router haben. Vielleicht kennt der Angreifer Sie Einen Router zu haben, ist etwas, worüber Sie sich „Sorgen machen, oder eher nicht“. Aber Sicherheitsforschung neigt dazu, nur auf der Seite der Stille zu irren 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 auf der Seite der Vorsicht, nur für den Fall.

Kommentare

  • Sie ‚ liegt falsch, aber ich stimme Ihnen zu, dass reguläre Benutzer / Administratoren ICMP nicht blockieren sollten. Es gibt mehrere kritische Sicherheitsbedenken bei ICMP. Das Hauptproblem besteht darin, dass eine Rückmeldung auf Steuerungsebene (ttl-überschritten) nicht nur vom Ziel, sondern auch von Zwischensprüngen gesendet wird. Sie kann für Gerätefingerabdrücke verwendet werden, die auf Merkmalen (anfängliche TTL, IP-Flags und vor allem IP) basieren ID) der ICMP-Nachricht. Darüber hinaus können ICMP-Nachrichten auch eine Rückmeldung für das Durchlaufen der Firewall sein. In Kombination mit Firewalls zur Überprüfung des TCP-Fensters können Sie Inferenzangriffe auf Sequenznummern durchführen.

Antwort

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, a zu stoppen DoS oder DDoS, 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 eines der wenigen Die von ihnen verwendeten Pakettypen und je nachdem, ob Sie die 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 zu erhalten, wie NMAP und a Nur wenige andere Programme verwenden ICMP als eine der Ressourcen zum Sammeln von Informationen und stützen Ihre Filter dann auf das, was Sie für notwendig halten, um sich selbst zu schützen Ihr Netzwerk.

Wenn möglich, richten Sie ein internes Testnetzwerk ein (ich persönlich habe einen billigen sekundären WLAN-Router gekauft und habe einen sekundären PC als Firewall, um alle meine Router- / IPchains- / Software-Firewalls zu testen Einstellungen, bevor ich sie in meinem Hauptnetzwerk für meinen Haushalt und alle Kunden einsetze, die mich mit der Sicherung ihrer Netzwerke beauftragen.

Ich empfehle den Mitarbeitern dringend, Nachforschungen über das Scannen von Ports und das Durchbrechen von Firewalls an ihren Netzwerken anzustellen eigenes Netzwerk, damit sie sich 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 Verwendung von ICMP zur Aufklärung

und auch

ICMP-Angriffe des InfoSec-Instituts

Einige der Angriffe sind nicht mehr durchführbar, aber es gibt neuere Formen von Schlumpf, die immer noch funktionieren, da der Programmierer den ursprünglichen Angriff neu codieren konnte und Ändern Sie, wie es funktioniert und Ressourcen verwendet.

Stöbern Sie herum und Google ist Ihr Freund zusammen mit Stack Exchange. Auch die Suchmaschine duckduckgo eignet sich hervorragend für Ressourcen, die Google herausfiltern kann. 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 Kurse zur offensiven Sicherheit an, wenn ich diese abgeschlossen habe.

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

Antwort

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, damit Sie die Erkennung von MTU-Pfaden, die Überlastungskontrolle usw. unterbrechen und sogar Ihren Server 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.

Antwort

Wie Sie der Protokollstruktur entnehmen können, hängt alles von dem Bereich ab, in dem es verwendet wird, und von den Firewalls Wenn Sie 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.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.