Nameserver DDoS legt MTB-News.de teilweise lahm

Eine groß angelegte Distributed Denial of Service-Attacke gegen unseren DNS-Provider everydns.net hat dessen vier Nameserver in den letzten Tagen mehrfach lahm gelegt. Damit war es zeitweise auch nicht möglich, die Adressen von MTB-News.de aufzulösen. Ein Bot-Net hatte soviele Anfragen an die Nameserver unseres Anbieters geschickt, dass diese unter der Last förmlich zusammengebrochen sind. Zeitweise wurde auf jedem einzelnen der vier Nameserver Traffic mit einer Bandbreite von über 400 Megabit pro Sekunde erzeugt, ein Zigfaches des Normalen.

Ein Nameserver löst Domainnamen (www.mtb-news.de) in IP-Adressen (70.86.5.18) auf. IP-Adressen lassen sich vom Menschen nur schwer merken, griffig klingende Domainnamen schon viel leichter. Nachteil der Domainnamen: Das Internet Protocol (IP) kann mit ihnen nichts anfangen. In jedem einzelnen Datenpaket, das durch das Internet rauscht, sind Absender- und Empfänger-IP-Adresse vermerkt (wie auf einem Briefumschlag). So weiß jede am Transport dieses Pakets beteiligte Partei (dein Internetprovider, z. B. die Telekom, Arcor usw., die großen Router an den Netzknotenpunkten) wo ein Paket hingeroutet werden muss und kann sie immer auf den optimalen Weg schicken.

Voraussetzung für die Kommunikation ist also, dass die IP-Adressen bekannt sind, sie müssen also irgendwie den Domainnamen zugeordnet werden. Diese Aufgabe erledigen Nameserver. Sie haben mehr oder weniger große Tabellen mit Zuordnungen von Domainnamen zu IP-Adressen im Speicher und können bei einer Anfrage die richtige IP-Adresse zu einem Domainnamen liefern.

Jetzt gibt es noch ein kleines Problem: Wie finde ich den Nameserver, der genau die Daten zu meiner gewünschten Domain gespeichert hat? Es kann ja nicht jeder Nameserver alle Domains dieser Welt kennen.

Man hat das Domain Name System hierarchisch aufgebaut – Domainnamen werden von hinten beginnend aufgelöst. Das heißt, man löst zuerst den Teil mit dem Länderkürzel auf (.de, .com, .net, .fr usw.). Dazu gibt es die sogenannten Root-Server. Das sind momentan 14 Maschinen, welche rund um den Globus verstreut stehen und die jedem Nameserver bekannt sein sollten. Diese wissen, welcher Nameserver etwas mehr über die Domains mit zum Beispiel der Endung .de sagen kann. Schauen wir uns das mal praktisch an.

Wir wollen also die Domain www.mtb-news.de in eine IP-Adresse auflösen und beginnen bei einem der 14 Root-Server, nämlich bei k.root-servers.net (193.0.14.129):

[email protected]:~$ dig www.mtb-news.de @k.root-servers.net

; <<>> DiG 9.2.4 <<>> www.mtb-news.de @k.root-servers.net
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60284
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 6, ADDITIONAL: 8

;; QUESTION SECTION:
;www.mtb-news.de.               IN      A

;; AUTHORITY SECTION:
de.                     172800  IN      NS      a.nic.de.
de.                     172800  IN      NS      f.nic.de.
de.                     172800  IN      NS      c.de.net.
de.                     172800  IN      NS      l.de.net.
de.                     172800  IN      NS      s.de.net.
de.                     172800  IN      NS      z.nic.de.

;; ADDITIONAL SECTION:
a.nic.de.               172800  IN      A       193.0.7.3
f.nic.de.               172800  IN      A       81.91.164.5
c.de.net.               172800  IN      A       208.48.81.43
l.de.net.               172800  IN      A       89.213.253.189
s.de.net.               172800  IN      A       193.159.170.149
z.nic.de.               172800  IN      A       194.246.96.1
f.nic.de.               172800  IN      AAAA    2001:608:6::5
z.nic.de.               172800  IN      AAAA    2001:628:453:4905::53

;; Query time: 4 msec
;; SERVER: 193.0.14.129#53(193.0.14.129)
;; WHEN: Tue Dec  5 11:58:55 2006
;; MSG SIZE  rcvd: 291

Wir erhalten eine ganze Menge Informationen als Antwort. Ohne jetzt auf die Details einzugehen, können wir die Antwort folgendermaßen deuten: „Ich kenne die IP-Adresse für www.mtb-news.de nicht, weiß aber, wer dir weiter helfen kann“. Dann bekommen wir eine Liste mit für .de-Domains verantwortliche Nameserver (also so etwas wie Root-Server für .de-Domains).

Wir müssen jetzt also einen Server aus der Liste fragen:

[email protected]:~$ dig www.mtb-news.de @a.nic.de

; <<>> DiG 9.2.4 <<>> www.mtb-news.de @a.nic.de
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38980
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 4, ADDITIONAL: 0

;; QUESTION SECTION:
;www.mtb-news.de.               IN      A

;; AUTHORITY SECTION:
mtb-news.de.            86400   IN      NS      ns1.everydns.net.
mtb-news.de.            86400   IN      NS      ns2.everydns.net.
mtb-news.de.            86400   IN      NS      ns3.everydns.net.
mtb-news.de.            86400   IN      NS      ns4.everydns.net.

;; Query time: 14 msec
;; SERVER: 193.0.7.3#53(193.0.7.3)
;; WHEN: Tue Dec  5 12:02:29 2006
;; MSG SIZE  rcvd: 117

Auch hier bekommen wir noch keine IP-Adresse für unsere Domain, dafür aber wieder eine Liste mit Nameservern, die wir fragen sollen. Also tun wir das:

[email protected]:~$ dig www.mtb-news.de @ns1.everydns.net

; <<>> DiG 9.2.4 <<>> www.mtb-news.de @ns1.everydns.net
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26008
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 4

;; QUESTION SECTION:
;www.mtb-news.de.               IN      A

;; ANSWER SECTION:
www.mtb-news.de.        3600    IN      A       70.86.5.18

;; AUTHORITY SECTION:
mtb-news.de.            86400   IN      NS      ns1.everydns.net.
mtb-news.de.            86400   IN      NS      ns2.everydns.net.
mtb-news.de.            86400   IN      NS      ns3.everydns.net.
mtb-news.de.            86400   IN      NS      ns4.everydns.net.

;; ADDITIONAL SECTION:
ns1.everydns.net.       120     IN      A       209.131.97.97
ns2.everydns.net.       120     IN      A       204.152.184.150
ns3.everydns.net.       120     IN      A       216.218.240.206
ns4.everydns.net.       120     IN      A       64.158.219.3

;; Query time: 199 msec
;; SERVER: 209.131.97.97#53(209.131.97.97)
;; WHEN: Tue Dec  5 12:04:45 2006
;; MSG SIZE  rcvd: 197

Aha, da haben wir sie also endlich, die IP-Adresse. Wie wir sehen können, ist der Prozess der Namensauflösung gar nicht so trivial wie man meinen möchte. Zumal ich hier noch eine Kleinigkeit ausgelassen habe: Wir erhalten ja normalerweise (nicht immer, siehe Schritt 1) nur Domainnamen von weiteren Nameservern und nicht deren IP-Adressen. Also müssen die eigentlich auch noch mal aufgelöst werden. Da kommt schon eine Menge an Abfragen für eine einzige Domain zusammen.

Wenn jetzt die Nameserver, welche die IP-Adresse für www.mtb-news.de kennen, durch einen Angriff nicht erreichbar sind, dann bekommt man eben auch die Adresse nicht. Genau das war in den letzten Tagen hin und wieder der Fall. Alle Internet Provider (Telekom, Arcor usw.) haben noch mal eigene Nameserver, die die Ergebnisse solcher Abfragen zwischenspeichern, um die Last auf das Netz und die Nameserver etwas zu mildern, so dass man nicht gleich merkt, wenn etwas faul ist. So war auch immer nur ein Teil unserer Benutzer betroffen.

Ein Gedanke zu „Nameserver DDoS legt MTB-News.de teilweise lahm

Schreibe einen Kommentar

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