Ich weiß, dass Benutzer die IP-Header ändern und die Quell-IP-Adresse ändern können, aber es sollte für Netzwerkgeräte einfach sein, diese Nachrichten zu erkennen. Wenn nicht, warum ist es so schwer? Fügt es zu viel Overhead hinzu?
Ich weiß, dass Benutzer die IP-Header ändern und die Quell-IP-Adresse ändern können, aber es sollte für Netzwerkgeräte einfach sein, diese Nachrichten zu erkennen. Wenn nicht, warum ist es so schwer? Fügt es zu viel Overhead hinzu?
Antworten:
Ich weiß, dass Benutzer die IP-Header ändern und die Quell-IP-Adresse ändern können, aber es sollte für Netzwerkgeräte einfach sein, diese Nachrichten zu erkennen.
Gefälschte IP-Quelladressen in Headern können in kommerziellen Netzwerkgeräten erkannt und blockiert werden. Andere gefälschte IPv4-Header sind möglicherweise etwas schwieriger zu identifizieren. Die meisten Leute bezeichnen die Funktion zum Erkennen gefälschter Quell-IP-Adressen als "Unicast Reverse Path Forwarding", was als uRPF abgekürzt wird . uRPF ist in RFC 3704 definiert und gilt als Best Current Practice im Internet . uRPF sollte am ersten Router vom Kundenstandort oder am Edge-Router in einem Unternehmensnetzwerk angewendet werden.
Wenn nicht, warum ist es so schwer? Fügt es zu viel Overhead hinzu?
Solange der Router kein CPU-basierter Router ist, gibt es keine Leistungseinbußen. Viele der von ISPs verwendeten Router / Switches verfügen über diese Funktion, die in einen ASIC in der Hardware integriert ist. Normalerweise gibt es keine großen Leistungseinbußen beim Einschalten. Manchmal gibt es Funktionskonflikte, aber auch dies ist in den meisten Fällen keine große Sache.
Die Richtlinien und Kompetenzen des ISP-Technik- / Betriebspersonals variieren, und viele ISPs (insbesondere in kleineren Ländern) sind so damit beschäftigt, Dinge "funktionieren" zu lassen, dass sie keine Zyklen haben, um Dinge "gut funktionieren" zu lassen.
Um eine Änderung der Quell-IP-Adresse zu verhindern, sind entweder Zugriffslisten (ACL) oder Unicast-Reverse-Path-Filterung (uRPF) erforderlich.
Weder kommen kostenlos. uRPF erfordert normalerweise eine zusätzliche Suche oder eine komplexere einzelne Suche, sodass sich die Suchleistung auf einigen Plattformen sogar halbieren kann. ACL verlangsamt die Suche und verwendet Speicher.
uRPF ist wartungsfrei, Sie konfigurieren es nur einmal und vergessen es. ACL benötigt ein System, das weiß, welche Adressen sich hinter der Schnittstelle befinden, und sicherstellt, dass die ACL auf dem neuesten Stand bleibt.
ACL wird häufiger unterstützt als uRPF. URPF ist eine vergleichsweise seltene Funktion in L3-Switch-Level-Geräten. In "echten" Routern sind normalerweise beide Funktionen verfügbar.
Selbst wenn beide Funktionen verfügbar sind, kann die Konfiguration von uRPF an einer falschen Stelle im Netzwerk das Netzwerk beschädigen. Wenn Sie die plattformspezifischen ACL-Einschränkungen nicht verstehen, kann dies zu Ausfällen führen.
Normalerweise profitieren Sie selbst nicht davon, das Spoofing von Quelladressen zu verhindern. Meistens profitiert das Internet insgesamt. Sie tragen ein Risiko ungleich Null, wenn Sie versuchen, dies zu tun, da Sie möglicherweise Dinge kaputt machen. Und Ihre Kunden werden keinen Nutzen daraus ziehen, niemand wird Sie mehr dafür bezahlen, sie umzusetzen. Die Belohnung ist also gering.
Verantwortliche Dienstanbieter tun dies, weil es das Richtige ist, aber es ist unrealistisch zu erwarten, dass wir in einem relevant großen Teil der bereitgestellten Zugriffsgeräte Antispoofing erhalten. Ein viel realistischeres Ziel ist, wenn wir ACL in IP-Transitverbindungen verwenden, da es dort nur etwa 6000 oder so stumpfe AS-Nummern gibt.
Warum dies überhaupt ein Problem ist, liegt an UDP-Reflexionsangriffen, die durch Protokolle wie QUIC und MinimaLT behoben werden können, die sicherstellen, dass die Reflexion keine Gewinne erzielt, da eingehende Abfragen garantiert größer sind als ausgehende Antworten, sodass Spoofing seinen Vorteil verliert.
In letzter Zeit ist es wieder sehr beliebt geworden, UDP-Reflektion als DDoS-Angriff zu verwenden. Es gibt viele weit geöffnete DNS-Server in CPE-Geräten für Verbraucher, die den Verbrauchern nicht bekannt sind. Daher leiden diese Verbraucher, da ihre Heimverbindung überlastet ist, da sie Angriffe widerspiegelt. Und es ist auch eine einfache Möglichkeit, eine signifikante Verstärkung zu erzielen. Eine kleine Abfrage von mehreren zehn Bytes kann eine große Antwort von über tausend Bytes ergeben. Es gab Reflexions-DDoS-Angriffe, die mehrere hundert Gigabit pro Sekunde betragen, und kleinere sind täglich, nur am Sonntagabend haben wir einen Angriff mit 43 Gbit / s zu einem unserer Kunden transportiert.
Das Filtern von Quelladressen ist in der realen Welt nicht trivial, da das Internet-Routing asymmetrisch ist. Daher benötigen wir im Prinzip eine fundierte Vermutung, ob ein Paket von dieser Quelle wahrscheinlich auf dieser eingehenden Schnittstelle erscheint.
Dafür gibt es keine einfache Formel, denn für jede Regel, die in fast allen Fällen funktioniert, gibt es auch einen Anwendungsfall, der geschäftlich sinnvoll ist und dann brechen würde.
Die Umkehrpfadfilterung funktioniert hervorragend bei Edge-Routern, bei denen "innen" und "außen" klar definiert sind. Außenstehende dürfen keine "inneren" Adressen verwenden und umgekehrt. Es wird komplizierter, sobald ich aus Redundanzgründen mehrere Edge-Router verwende.
Für Backbone-Router besteht die einzige Möglichkeit, eine Umkehrpfadfilterung zu implementieren, darin, eingehende Pakete zuzulassen, wenn der Peer eine Arbeitsroute ankündigt (unabhängig davon, ob dies unsere Präferenz wäre). Das wäre eine unerschwinglich lange Suche, die leicht umgangen werden kann und den Anwendungsfall bricht, in dem ich absichtlich Transit kaufe, aber mein Präfix nicht über diesen Link ankündige.