Wenn es um DNS geht, hat Cricket Liu buchstäblich das Buch geschrieben. Er ist Mitautor aller fünf Ausgaben des Buches „DNS and BIND“ von O’Reilly, das allgemein als der maßgebliche Leitfaden für alle Dinge im Zusammenhang mit dem Domain Name System gilt. Cricket ist derzeit Chief Infrastructure Officer bei Infoblox.
DNS ist zweifellos ein wichtiger Bestandteil von Computernetzwerken, aber es gibt Zeiten, in denen diese Tools für Missbräuche verwendet werden können. Im New Tech Forum dieser Woche wirft Cricket einen Blick auf das wachsende Problem der DNS-basierten DDoS-Angriffe und wie man ihnen begegnen kann. — Paul Venezia
DNS-basierte DDoS-Angriffe: Wie sie funktionieren und wie man sie stoppen kann
Der DNS-basierte DDoS (Distributed Denial-of-Service Attack) ist zu einem der häufigsten destruktiven Angriffe im Internet geworden. Aber wie funktionieren sie? Und was können wir tun, um uns gegen sie zu verteidigen?
In diesem Artikel beschreibe ich, wie DDoS-Angriffe die DNS-Infrastruktur ausnutzen und angreifen. Außerdem zeige ich Ihnen, was Sie tun können, um sich und andere zu schützen.
Der große Spoof
Die Erstellung eines DDoS-Angriffs unter Verwendung der DNS-Infrastruktur ist bemerkenswert einfach: Die Angreifer senden Anfragen an Nameserver im Internet, und diese Nameserver geben Antworten zurück. Anstatt die Abfragen von ihren eigenen IP-Adressen aus zu senden, fälschen die Angreifer jedoch die Adresse ihres Ziels, bei dem es sich um einen Webserver, einen Router, einen anderen Nameserver oder einen beliebigen Knoten im Internet handeln kann.
Das Fälschen von DNS-Abfragen ist besonders einfach, da sie normalerweise über UDP (das verbindungslose User Datagram Protocol) übertragen werden. Das Senden einer DNS-Anfrage von einer beliebigen IP-Adresse aus ist ungefähr so einfach und hat in etwa die gleiche Wirkung wie das Schreiben der Absenderadresse einer anderen Person auf eine Postkarte.
Das Fälschen von Abfragen reicht jedoch nicht aus, um ein Ziel außer Gefecht zu setzen. Wenn die Antworten auf diese Abfragen nicht größer wären als die Abfragen selbst, würde ein Angreifer das Ziel genauso gut mit gefälschten Abfragen überfluten. Nein, um den Schaden für das Ziel zu maximieren, sollte jede Abfrage eine sehr große Antwort liefern. Es hat sich herausgestellt, dass dies sehr einfach zu bewerkstelligen ist.
Seit der Einführung von EDNS0, einer Reihe von DNS-Erweiterungen, die 1999 eingeführt wurden, können UDP-basierte DNS-Nachrichten eine große Menge an Daten übertragen. Eine Antwort kann bis zu 4.096 Byte groß sein. Die meisten Abfragen hingegen sind weniger als 100 Byte lang.
Es war früher relativ schwierig, eine so große Antwort im Namensraum des Internets zu finden. Aber jetzt, wo Unternehmen DNSSEC, die DNS Security Extensions, einsetzen, ist es viel einfacher geworden. DNSSEC speichert kryptografische Schlüssel und digitale Signaturen in Datensätzen im Namensraum. Diese sind im wahrsten Sinne des Wortes riesig.
Ein Beispiel für eine Antwort aus der isc.org-Zone, die DNSSEC-Datensätze enthält, finden Sie in meinem Blog. Die Größe der Antwort beträgt 4.077 Bytes, verglichen mit einer Abfrage von nur 44 Bytes.
Stellen Sie sich nun vor, dass Angreifer aus dem ganzen Internet diese gefälschte Abfrage von der IP-Adresse Ihres Webservers an die isc.org-Namensserver senden. Für jede 44-Byte-Anfrage erhält Ihr Webserver eine 4.077-Byte-Antwort, was einem Verstärkungsfaktor von fast 93 entspricht.
Lassen Sie uns eine kurze Berechnung anstellen, um herauszufinden, wie schlimm dies werden könnte. Nehmen wir an, jeder Angreifer hat eine relativ bescheidene 1-Mbps-Verbindung zum Internet. Er kann etwa 2.840 44-Byte-Anfragen pro Sekunde über diese Verbindung senden. Dieser Abfragestrom würde dazu führen, dass fast 93 Mbit/s an Antworten Ihren Webserver erreichen. Jeweils 11 Angreifer stehen für 1 Gbps.
Woher sollten asoziale Angreifer 10 Freunde finden, die ihnen bei der Durchführung eines Angriffs helfen? Eigentlich brauchen sie gar keine. Sie werden ein Botnetz aus Tausenden von Computern verwenden.
Die Auswirkungen sind verheerend. In seinem vierteljährlichen globalen DDoS-Angriffsbericht berichtet Prolexic (ein Unternehmen für DDoS-Abwehr) über einen kürzlich erfolgten DNS-basierten Angriff gegen einen Kunden, der 167 Gbps überstieg. Prolexic berichtete ferner, dass die durchschnittliche Bandbreite von DDoS-Angriffen in einem einzigen Quartal um 718 Prozent auf 48 Gbps gestiegen ist.
Aber halt! Könnten die isc.org-Nameserver nicht so modifiziert werden, dass sie erkennen, dass sie immer wieder von derselben IP-Adresse aus nach denselben Daten gefragt werden? Könnten sie den Angriff nicht unterdrücken?
Das können sie sicherlich. Aber die isc.org-Nameserver sind nicht die einzigen, die ein Angreifer nutzen kann, um seinen Datenverkehr zu verstärken. Sicher, es gibt andere autoritative Nameserver, die der Angreifer benutzen könnte, aber noch schlimmer sind offene rekursive Nameserver.
Ein offener rekursiver Nameserver ist einfach ein Nameserver, der rekursive Anfragen von jeder IP-Adresse aus verarbeitet. Ich kann ihm die Anfrage nach isc.org-Daten schicken und er wird mir antworten, und Sie können dasselbe tun.
Es sollte nicht viele offene rekursive Nameserver im Internet geben. Ein rekursiver Nameserver hat die Aufgabe, im Auftrag von DNS-Clients, wie denen auf Ihrem Laptop oder Smartphone, Daten im Namensraum des Internets zu suchen. Die Netzwerkadministratoren, die rekursive Nameserver einrichten (z. B. Ihre IT-Abteilung), beabsichtigen in der Regel, dass diese von einer bestimmten Gemeinschaft (z. B. von Ihnen und Ihren Kollegen) genutzt werden. Wenn sie nicht gerade Dienste wie OpenDNS oder Google Public DNS betreiben, wollen sie nicht, dass sie von den Bürgern der Republik Moldau genutzt werden. Daher konfigurieren öffentlichkeitsbewusste, sicherheitsorientierte und vor allem kompetente Administratoren Zugriffskontrollen auf ihren rekursiven Nameservern, um deren Nutzung auf autorisierte Systeme zu beschränken.
Wie groß kann also das Problem offener rekursiver Nameserver sein? Ziemlich groß. Das Open Resolver Project hat eine Liste von 33 Millionen offenen rekursiven Nameservern zusammengestellt. Hacker können gefälschte Anfragen an beliebig viele dieser Server richten, um Ihren Webserver, Nameserver oder Border-Router mit isc.org-Daten zu überfluten, bis er zusammenbricht.
So funktionieren DNS-basierte DDoS-Angriffe. Zum Glück gibt es ein paar Möglichkeiten, sie zu bekämpfen.
Wie man den Sturm übersteht
Das erste Gebot der Stunde ist die Instrumentierung Ihrer DNS-Infrastruktur, damit Sie wissen, wann Sie angegriffen werden. Zu viele Unternehmen haben keine Ahnung, wie hoch ihre Abfragelast ist, so dass sie gar nicht wissen, ob sie überhaupt angegriffen werden.
Die Ermittlung Ihrer Abfragelast kann so einfach sein wie die Verwendung der in BIND eingebauten Statistikunterstützung. Der BIND-Nameserver gibt Daten in seine Statistikdatei aus, wenn Sie z. B. rndc stats ausführen, oder in einem konfigurierbaren Statistikintervall. Sie können die Statistiken auf Abfragerate, Socket-Fehler und andere Anzeichen eines Angriffs untersuchen. Machen Sie sich keine Sorgen, wenn Sie noch nicht sicher sind, wie ein Angriff aussehen wird – ein Teil des Ziels der DNS-Überwachung besteht darin, eine Basislinie zu erstellen, damit Sie erkennen können, was anormal ist.
Als Nächstes werfen Sie einen Blick auf Ihre dem Internet zugewandte Infrastruktur. Beschränken Sie sich nicht nur auf Ihre externen autoritativen Namensserver, sondern untersuchen Sie auch Ihre Switch- und Router-Infrastruktur, Ihre Firewalls und Ihre Verbindungen zum Internet. Ermitteln Sie alle Schwachstellen. Stellen Sie fest, ob Sie diese leicht (und kostengünstig) beseitigen können.
Wenn möglich, ziehen Sie eine breite geografische Verteilung Ihrer externen autoritativen Namenserver in Betracht. Dies hilft natürlich, einzelne Fehlerquellen zu vermeiden, aber es hilft auch, wenn Sie nicht angegriffen werden. Ein rekursiver Nameserver, der einen Domänennamen in einer Ihrer Zonen auflöst, wird versuchen, den nächstgelegenen autoritativen Nameserver abzufragen, so dass eine geografische Verteilung in der Regel eine bessere Leistung für Ihre Kunden und Korrespondenten bietet. Wenn sich Ihre Kunden in bestimmten Regionen befinden, sollten Sie versuchen, einen autoritativen Nameserver in ihrer Nähe zu platzieren, um die schnellsten Antworten zu erhalten.
Die vielleicht grundlegendste Methode zur Bekämpfung von DoS-Angriffen ist die Überversorgung Ihrer Infrastruktur. Ein leistungsfähiger Nameserver kann zehn- oder sogar hunderttausende von Abfragen pro Sekunde verarbeiten. Sie sind sich nicht sicher, wie hoch die Kapazität Ihrer Nameserver ist? Sie können Abfragetools wie dnsperf verwenden, um die Leistung Ihrer Nameserver zu testen – vorzugsweise mit einer Testplattform, die Ihren Produktions-Nameservern in einem Labor ähnlich ist, und nicht mit den Produktionsservern selbst.
Die Entscheidung, wie viel Sie Ihre Nameserver überdotieren sollten, ist subjektiv: Was ist Ihre Online-Präsenz wert? Gibt es andere Komponenten Ihrer Internet-Infrastruktur, die eher ausfallen werden als die Nameserver? Natürlich ist es töricht, Geld für den Aufbau einer erstklassigen DNS-Infrastruktur hinter einem Grenzrouter oder einer Firewall auszugeben, die ausfallen wird, bevor Ihre Nameserver überhaupt ins Schwitzen kommen.
Wenn Geld keine Rolle spielt, ist es vielleicht hilfreich zu wissen, dass moderne DDoS-Angriffe auf die DNS-Infrastruktur 100 Gbps überschreiten können.
Die Verwendung von Anycast kann ebenfalls dazu beitragen, DDoS-Angriffen zu widerstehen. Anycast ist eine Technik, die es mehreren Servern ermöglicht, sich eine einzige IP-Adresse zu teilen, und sie funktioniert besonders gut mit DNS. Die Root-Nameserver des Internets verwenden Anycast seit Jahren, um Root-Zonen-Daten weltweit bereitzustellen, wobei die Liste der Roots in eine einzige UDP-basierte DNS-Nachricht passt.
Um Anycast einzusetzen, müssen die Hosts, die Ihre Nameserver unterstützen, ein dynamisches Routing-Protokoll wie OSPF oder BGP verwenden. Der Routing-Prozess gibt seinen Nachbar-Routern eine Route zu einer neuen, virtuellen IP-Adresse bekannt, auf die Ihr Name-Server hört. Der Routing-Prozess muss außerdem so intelligent sein, dass er die Bekanntgabe dieser Route stoppt, wenn der lokale Nameserver nicht mehr antwortet. Sie können Ihren Routing-Daemon mit eigenem Code an den Zustand Ihres Nameservers koppeln – oder Sie kaufen ein Produkt, das diese Aufgabe für Sie übernimmt. NIOS von Infoblox enthält, nicht zufällig, Anycast-Unterstützung.
Wie schützt Anycast vor DDoS-Angriffen? Nun, nehmen wir an, Sie haben sechs externe Nameserver in zwei Anycast-Gruppen (d.h. drei teilen sich eine Anycast-IP-Adresse und drei eine andere). Jede Gruppe besteht aus einem Mitglied in den Vereinigten Staaten, einem in Europa und einem in Asien. Ein Host, der einen DDoS-Angriff gegen Sie durchführt, kann immer nur Datenverkehr an ein Mitglied einer der beiden Gruppen von einem beliebigen Punkt im Internet aus senden und somit auch nur dieses angreifen. Solange Angreifer nicht genügend Datenverkehr aus Nordamerika, Europa und Asien gleichzeitig senden können, um Ihre Infrastruktur zu überschwemmen, werden sie keinen Erfolg haben.
Schließlich gibt es eine Möglichkeit, wie Sie die Vorteile einer weiten geografischen Verteilung und von Anycast gleichzeitig nutzen können, und zwar ohne großen Kapitalaufwand: Nutzen Sie einen Cloud-basierten DNS-Anbieter. Unternehmen wie Dyn und Neustar betreiben eigene Anycast-Nameserver in Rechenzentren auf der ganzen Welt. Sie bezahlen sie dafür, dass sie Ihre Zonen hosten und Anfragen nach Ihren Daten beantworten. Sie können auch weiterhin die direkte Kontrolle über Ihre Zonendaten behalten, indem Sie einen Anbieter bitten, seine Nameserver als Secondaries für Ihre Zonen zu konfigurieren und die Daten von einem Master-Nameserver zu laden, den Sie selbst bestimmen und verwalten. Achten Sie nur darauf, dass Sie den Master-Server versteckt betreiben (d. h. ohne NS-Eintrag, der auf ihn verweist), sonst laufen Sie Gefahr, dass ein Angreifer ihn als Single Point of Failure angreift.
Ein Wort der Vorsicht bei der Nutzung von Cloud-basierten DNS-Anbietern: Die meisten stellen Ihnen zumindest teilweise die Anzahl der Abfragen in Rechnung, die ihre Nameserver für Daten in Ihren Zonen erhalten. Bei einem DDoS-Angriff könnten diese Abfragen drastisch ansteigen (völlig außerhalb Ihrer Kontrolle und keineswegs zu Ihrem Vorteil). Vergewissern Sie sich also, dass der Anbieter über eine Regelung für den Umgang mit DDoS-Angriffen verfügt, ohne die Kosten für den Datenverkehr an Sie weiterzugeben.
So vermeiden Sie es, zum Komplizen von DDoS-Angriffen zu werden
Jetzt wissen Sie, wie Sie Ihre DNS-Infrastruktur so konfigurieren, dass sie einem DDoS-Angriff standhält. Fast genauso wichtig ist es jedoch, dafür zu sorgen, dass Sie nicht zum Komplizen eines DDoS-Angriffs gegen jemand anderen werden.
Erinnern Sie sich an die Beschreibung, wie DNS-Server den Datenverkehr verstärken können? Angreifer können sowohl offene rekursive Nameserver als auch autoritative Nameserver als Verstärker verwenden, indem sie gefälschte Anfragen senden, die die Nameserver veranlassen, Antworten, die mehr als 100 Mal so groß sind wie die Anfrage, an beliebige Ziele im Internet zu senden. Natürlich wollen Sie nicht das Ziel eines solchen Angriffs sein, aber Sie wollen auch nicht zum Komplizen werden. Der Angriff nutzt sowohl die Ressourcen Ihrer Nameserver als auch Ihre Bandbreite. Wenn das Ziel Maßnahmen ergreift, um den Verkehr von Ihrem Nameserver zu seinem Netz zu blockieren, kann das Ziel nach Beendigung des Angriffs möglicherweise keine Domänennamen in Ihren Zonen auflösen.
Wenn Sie einen offenen rekursiven Nameserver betreiben, ist die Lösung einfach: Tun Sie es nicht. Es gibt nur sehr wenige Organisationen, die einen für rekursive Abfragen offenen Nameserver betreiben können. Google Public DNS und OpenDNS sind zwei, die mir in den Sinn kommen, aber wenn Sie dies lesen, gehören Sie wahrscheinlich nicht dazu. Alle anderen sollten Zugangskontrollen für ihre rekursiven Nameserver einrichten, um sicherzustellen, dass nur autorisierte Abfrager sie benutzen. Das bedeutet wahrscheinlich, dass wir DNS-Abfragen auf IP-Adressen in unseren internen Netzwerken beschränken müssen, was bei jeder Nameserver-Implementierung, die etwas taugt, leicht zu bewerkstelligen ist. (Der Microsoft DNS-Server unterstützt keine IP-Adressen-basierten Zugriffskontrollen für Abfragen. Lesen Sie dazu, was Sie wollen.)
Aber was ist, wenn Sie einen autoritativen Nameserver betreiben? Offensichtlich können Sie die IP-Adressen, von denen Sie Anfragen akzeptieren, nicht einschränken – zumindest nicht sehr (Sie könnten Anfragen von offensichtlich gefälschten IP-Adressen, wie RFC 1918-Adressen, ablehnen). Aber Sie können die Antworten einschränken.
Zwei langjährige Internet-„White Hats“, Paul Vixie und Vernon Schryver, haben erkannt, dass DDoS-Angriffe, die autoritative Nameserver zur Verstärkung nutzen, bestimmte Abfragemuster aufweisen. Insbesondere senden die Angreifer Nameservern immer wieder dieselbe Anfrage von derselben gefälschten IP-Adresse (oder demselben Adressblock), um eine maximale Verstärkung zu erreichen. Kein gut funktionierender rekursiver Nameserver würde das tun. Er hätte die Antwort zwischengespeichert und erst dann erneut angefragt, wenn die Lebenszeit der Datensätze in der Antwort abgelaufen wäre.
Vixie und Schryver haben einen cleveren Mechanismus namens Response Rate Limiting (RRL) entwickelt, der es einem autoritativen Nameserver ermöglicht, zu verfolgen, wie oft er dieselbe Antwort an denselben Anfrager gesendet hat. Überschreitet diese Rate einen konfigurierbaren Schwellenwert, sendet der Nameserver diese Antwort für eine bestimmte Zeit nicht mehr an den Abfragenden. Wenn der Abfragende aufhört, den autoritativen Nameserver mit der gleichen Frage zu bombardieren, hört der autoritative Nameserver auf, diese Antwort zu unterdrücken. Das Ergebnis ist, dass der autoritative Nameserver niemals eine Antwort an einen Abfrager mit einer Rate über dem Schwellenwert sendet, was ihn bei einem DDoS-Angriff nutzlos macht.
RRL wurde in Version 9.9.4 in BIND-Nameserver integriert, und einige andere Nameserver-Implementierungen unterstützen es jetzt, einschließlich NSD und Knot. Wenn die Leute ihre Nameserver auf neuere Versionen oder neue Implementierungen aktualisieren, die RRL unterstützen, sollte es für Angreifer allmählich schwieriger werden, die DNS-Infrastruktur als Verstärker zu nutzen.
Ich hoffe, diese Diskussion hat Ihnen geholfen zu verstehen, wie die DNS-Infrastruktur bei DDoS-Angriffen sowohl ins Visier genommen als auch ausgenutzt wird und wie Sie sich am besten gegen DDoS-Angriffe wehren und sicherstellen können, dass Ihre Nameserver nicht, ohne es zu wissen, an einem solchen Angriff teilnehmen.
Das New Tech Forum bietet die Möglichkeit, aufkommende Unternehmenstechnologien in noch nie dagewesener Tiefe und Breite zu erforschen und zu diskutieren. Die Auswahl ist subjektiv und basiert auf unserer Auswahl der Technologien, die wir für wichtig und von größtem Interesse für InfoWorld Leser halten. InfoWorld akzeptiert kein Marketingmaterial zur Veröffentlichung und behält sich das Recht vor, alle Beiträge zu bearbeiten. Senden Sie alle Anfragen an [email protected].
Dieser Artikel, „Der ultimative Leitfaden zur Verhinderung von DNS-basierten DDoS-Angriffen“, wurde ursprünglich auf InfoWorld.com veröffentlicht. Für die neuesten Nachrichten aus der Wirtschaftstechnologie folgen Sie InfoWorld.com auf Twitter.