Obwohl das Domain Name System (DNS) zu den Grundpfeilern des Internets gehört, ist den meisten Nicht-IT'lern nicht klar, dass sie es jeden Tag nutzen, wenn sie ihre Mails checken oder sich die Zeit am Smartphone vertreiben.
Domain Name System - Definition
Einfach gesagt handelt es sich beim DNS um ein Verzeichnis von Namen, die mit bestimmten Zahlen korrespondieren. Diese Zahlen sind in diesem Fall IP-Adressen, die Computer verwenden, um miteinander zu kommunizieren. Wenn Sie älter als 30 Jahre sein sollten, können Sie sich das Ganze wie ein Telefonbuch vorstellen. Wenn Sie unter 30 sind, dürfen Sie das Domain Name System gerne als die Kontaktliste des Smartphones visualisieren. Statt den Telefonnummern des eigenen Bekanntenkreises beherbergt das Domain Name System den weltweiten Bestand an Internet-Domains und IP-Adressen.
DNS - Entstehungsgeschichte
Als das Internet noch in den Kinderschuhen steckte, war es einfach, bestimmte IP-Adressen mit spezifischen Rechnern in Verbindung zu bringen. Das änderte sich aufgrund der ständig steigenden Nutzer- und Gerätezahl im Internet schnell. Zwar könnte man auch noch heute eine IP-Adresse in einen Browser eintippen, um eine Website zu erreichen. Aber schon damals setzte man lieber auf einprägsamere Wortkombinationen. Was wir heute als Domainnamen kennen, wurde in den 1970er und 1980er Jahren von nur einer Person verwaltet. Elizabeth Feinler von der Universität Stanford war die Herrin über eine "Master List", auf der jeder mit dem Internet verbundene Rechner in einer Textdatei erfasst war.
Nicht zuletzt, weil Feinler Anfragen nur bis 18.00 Uhr kalifornischer Zeit annahm und über Weihnachten Urlaub machte, wurde die Situation für das rapide wachsende Internet bald untragbar. Deswegen wurde 1983 der Informatiker Paul Mockapetris damit beauftragt, eine Lösung zu finden. Mockapetris verwarf alle bisherigen Ansätze und entwickelte sein eigenes System, das er auf den Namen "DNS" taufte. Auch wenn sich das Domain Name System seitdem deutlich verändert hat, funktioniert es in seinen Grundzügen immer noch so wie vor knapp vierzig Jahren.
Domain-Name-Server - Funktionsweise
Das DNS-Verzeichnis, das die Namen den Nummern zuordnet, befindet sich nicht in einer einzelnen, dunklen Ecke des Internets. Mit mehr als 332 Millionen Domainnamen, die Ende 2017 gelistet waren, wäre ohnehin jede "Ecke" zu klein. Wie das Internet selbst, ist auch das DNS-Verzeichnis über die ganze Welt verteilt und auf Domain-Name-Servern (kurz DNS-Server genannt) gespeichert, die alle regelmäßig miteinander kommunizieren, um Updates und Redundanzen bereitzustellen.
Wenn ein Rechner die mit dem Domainnamen einer Website verbundene IP-Adresse finden möchte, schickt er eine Anfrage an einen rekursiven DNS-Server. Dabei handelt es sich um einen Server, der den für die Namensauflösung nötigen DNS-Server kennt und vom Internet-Provider oder einem Drittanbieter betrieben wird. Die Server, die die angefragten Informationen entalten, werden autoritative Server genannt.
Jede Domain kann mit mehreren IP-Adressen korrespondieren. Einigen Seiten sind sogar über hunderte verschiedener IP-Adressen erreichbar. Der Browserzugriff auf "www.google.com" etwa wird nicht in jedem Land über den gleichen Server abgewickelt.
Ein anderer Grund für den verteilten Aufbau des DNS-Verzeichnisses liegt in der potenziell sehr hohen Bearbeitungszeit, die die Anfrage an ein einziges, großes "Telefonbuch" nach sich ziehen würde, wenn Millionen oder gar Milliarden von Nutzern zeitgleich auf der Suche nach IP-Adressen wären.
Um die Wartezeit für Anfragen zu minimieren, werden DNS-Daten über viele Server verteilt. Darüber hinaus werden die Informationen der kürzlich besuchten Websites auch lokal auf dem Rechner zwischengespeichert - schließlich ist die Wahrscheinlichkeit hoch, dass Seiten wie Google mehrmals am Tag aufgerufen werden. Der Computer muss also nicht jedes Mal einen DNS-Nameserver anfragen, um "google.com" in die entsprechende IP-Adresse aufzulösen. Darüber hinaus kann Caching auch auf den Routern stattfinden, die die Clients mit dem Internet verbinden oder auf den Servern des jeweiligen Netzanbieters. Wegen der ausgiebigen Caching-Möglichkeiten kommt in der Praxis nur eine Handvoll Anfragen bei den autoritativen DNS-Servern an.
DNS-Server finden und ändern
In der Regel wird der von Ihnen verwendete DNS-Server automatisch von Ihrem Netzanbieter eingerichtet, sobald Sie sich mit dem Internet verbinden. Wenn Sie nachprüfen möchten, welche Server zu Ihren primären Nameservern gehören, gibt es Web Utilities, die eine Vielzahl von Informationen über Ihre aktuelle Netzwerkverbindung bereitstellen können. Browserleaks.com ist beispielsweise ein geeignetes Tool, das neben anderen Daten auch Ihren aktuellen DNS-Server ermittelt.
Wichtig ist dabei zu wissen, dass keine Verpflichtung besteht, den vom Netzanbieter voreingerichteten DNS-Server zu nutzen. Manche User haben guten Grund dazu, diese Server zu meiden, etwa weil einige Provider Anfragen für nicht-existente IP-Adressen automatisch auf Werbeseiten umleiten.
Eine Alternative bieten öffentlich zugängliche DNS-Server. Einer der bekanntesten Server dieser Art ist der von Google, erreichbar unter der IP-Adresse 8.8.8.8. Googles DNS-Dienste arbeiten im Regelfall ziemlich schnell, allerdings gibt es Bedenken hinsichtlich der Absichten hinter diesem kostenlosen Angebot. Google kann auf diesem Weg jedoch auch nicht mehr User-Informationen einsammeln als über Chrome. Ein detailliertes Tutorial unterstützt Sie bei der Konfiguration Ihres Routers oder Rechners für die Nutzung des Google DNS-Servers.
DNS-Security - Angrifssmethoden und Verteidigung
Die hierarchische Organisation des DNS trägt dazu bei, dass alles flott und reibungslos abläuft. Die einzelnen Prozessstufen lassen sich an einem Beispielfall illustrieren, bei dem ein User auf computerwoche.de zugreifen möchte.
Die Erstanfrage für die IP-Adresse wird an einen rekursiven Resolver gestellt, der weiß, an welche autoritativen DNS-Server er sich richten muss, um den Namen einer Seite (computerwoche.de) in ihre IP-Adresse aufzulösen. Diese Suche führt wiederum zu einem Root-Server, auf dem alle Informationen über Top-Level-Domains wie ".com", ".net", ".org" und Länderdomains wie ".cn" (China) und ".uk" (Großbritannien) liegen. Root-Server sind über die ganze Welt verteilt, die Anfrage wird üblicherweise an den geografisch nächstgelegenen Server weitergeleitet.
Sobald die Anfrage den richtigen Root-Server erreicht hat, geht sie an einen Top-Level-Domain (TLD)-Nameserver, der die Informationen für die Second-Level-Domain speichert, also für diejenigen Wörter, die vor dem ".com", ".org " oder ".net" stehen (im Beispiel "computerwoche"). Schließlich wird die Anfrage an den Domain-Name-Server weitergeleitet, der die Daten über die Website und ihre IP-Adresse enthält. Sobald die IP-Adresse von diesem ermittelt wurde, wird sie an den Client zurückgeschickt, der sie nun zum Besuch der Seite verwenden kann. All das geschieht in Millisekunden.
Dass das System seit mehr als 30 Jahren so gut funktioniert, hat aber auch seine Schattenseiten: Das Domain Name System ist für Internetnutzer eine Selbstverständlichkeit geworden und bei seinem Aufbau spielte das Thema Security keine große Rolle. Insbesondere letzterer Umstand hat dafür gesorgt, dass kriminelle Hacker das DNS ins Visier genommen haben. Dabei stechen drei unterschiedliche Angriffsmethoden heraus:
DNS Reflection Attacks: DNS-Reflection-Angriffe überfluten Opfer mit einer Unmenge an Nachrichten von DNS-Resolvern. Die Angreifer fordern hierzu unter Verwendung der gefälschten IP-Adresse des Opfers große Datenmengen von allen ihnen zugänglichen, rekursiven Resolvern an. Sobald die Resolver antworten, gehen die DNS-Daten auf dem Rechner des Opfers ein und können diesen lahmlegen.
DNS Cache Poisoning: Mit DNS-Cache-Poisoning-Attacken können Angreifer User auf bösartige Websites umleiten. Das gelingt ihnen durch falsche Adresseinträge im DNS. Wenn ein potenzielles Opfer nun eine Adressauflösung für eine der manipulierten Seiten anfordert, antwortet das System mit der IP-Adresse für eine andere, vom Angreifer kontrollierten Website, die Passwort-Diebstahl oder dem Download von Malware dienen kann.
DNS Resource Exhaustion: Mit DNS-Resource-Exhaustion-Angriffen können Hacker die DNS-Infrastruktur von Onlinehändlern überlasten und auf diese Weise deren Kunden daran hindern, Webseiten aufzurufen. Das lässt sich zum Beispiel bewerkstelligen, indem Angreifer einen Domain-Namen registrieren und den Nameserver des Opfers als autoritativen Server für diese Domain verwenden. Wenn ein rekursiver Resolver die mit dem Seitennamen verbundene IP-Adresse nicht liefern kann, fragt er den Nameserver des Opfers an. Um den Effekt zu verstärken, generieren Angreifer eine große Anzahl von Anfragen für ihre Domain und fügen darüber hinaus nicht-existierende Subdomains ein, was dazu führt, dass eine Flut von Auflösungsanfragen auf den Nameserver des Opfers einprasselt und diesen in die Knie zwingt.
SIGRed: Ein gefährlicher DNS-Exploit für Windows-User
Wie viel Chaos Schwachstellen im DNS-System verursachen können, zeigte sich kürzlich nach der Aufdeckung einer Sicherheitslücke bei Windows-DNS-Servern. Der "SIGRed" genannte Exploit bedarf zwar einer komplexen Attack Chain - ist diese aber erfolgreich, können ungepatchte Windows-Server genutzt werden, um beliebigen Schadcode bei Clients zu installieren und auszuführen. Zudem ist SIGRed "wormable", kann sich also ohne menschliches Zutun von Computer zu Computer ausbreiten.
DNSSec soll Serverkommunikation schützen
Die DNS Security Extensions (DNSSec) sollen die Kommunikation zwischen den verschiedenen Serverebenen, die an DNS-Lookups beteiligt sind, sicherer gestalten. Sie wurden von der Internet Corporation for Assigned Names and Numbers (ICANN) entwickelt, welche auch für das DNS-System zuständig ist.
Die ICANN wurde auf Schwachstellen in der Kommunikation zwischen den DNS-Top-Level-, Second-Level- und Third-Level-Verzeichnis-Servern aufmerksam, die es Hackern ermöglichen könnten, Suchanfragen nach legitimen Websites zu kapern und mit der IP-Adresse für bösartige Seiten zu beantworten, um dort Phishing- oder Pharming-Angriffe zu initiieren.
DNSSEC will hier Abhilfe schaffen, indem jede Ebene des DNS-Servers Anfragen digital signiert und so sichergestellt wird, dass die Suchanfrage des Endnutzers nicht von Dritten übernommen werden kann. Das etabliert eine Chain of Trust, bei der DNS-Anfragen auf jeder Stufe validiert werden.
Darüber hinaus lässt sich mit Hilfe von DNSSec ermitteln, ob ein Domain-Name tatsächlich existiert. Sollte das nicht der Fall sein, verhindert das System die Weiterleitung der Domain an ahnungslose User.
Weil immer mehr Domains registriert werden, immer mehr IoT Devices und "intelligente" Systeme das Internet bevölkern und gleichzeitig viele Seiten auf IPv6 umgestellt werden, ist ein gesundes DNS-Ökosystem essenziell. Der inzwischen verbreitete Einsatz von Big-Data- und Analytics-Systemen erfordert außerdem ein optimiertes DNS Management.
DNS over HTTPS: Die Zukunft?
Zur Zeit steht das Domain Name System vor einer der größten Veränderungen seiner Geschichte: Die Browser-Giganten Google und Mozilla wollen den Übergang zu "DNS over HTTPS" (DoH) forcieren. Bei diesem Verfahren werden die DNS-Anfragen durch das gleiche HTTPS-Protokoll verschlüsselt, das bereits den Großteil des Web Traffics schützt. In der Chrome-Implementierung prüft der Browser, ob die DNS-Server DoH unterstützen - und leitet die DNS-Anfragen an Googles 8.8.8.8 um, wenn das nicht der Fall ist.
Dieser Schritt ist nicht unumstritten. Paul Vixie, der in den 1980er Jahren am DNS-Protokoll mitgearbeitet hat, nennt die Umstellung eine Security-Katastrophe, da es beispielsweise der IT-Abteilung eines Unternehmens viel schwerer fallen würde, den DoH-Verkehr zu überwachen, der durch ihr Netzwerk läuft. Dennoch ist Chrome mittlerweile omnipräsent und DoH wird bald zur Standardeinstellung. Es bleibt also abzuwarten, was die Zukunft für das Domain Name System bereithält. (fm)