Was ist DNS und wie funktioniert es?
Das Domain Name System (DNS) ist eine der Grundlagen des Internets, doch die meisten Menschen außerhalb des Netzwerks wissen wahrscheinlich nicht, dass sie es jeden Tag nutzen, um ihre Arbeit zu erledigen, ihre E-Mails zu checken oder Zeit auf ihren Smartphones zu verschwenden.
Im Grunde ist DNS ein Verzeichnis von Namen, die mit Nummern übereinstimmen. Die Nummern sind in diesem Fall IP-Adressen, über die Computer miteinander kommunizieren. Die meisten Beschreibungen von DNS verwenden die Analogie eines Telefonbuchs, was für Leute über 30, die wissen, was ein Telefonbuch ist, in Ordnung ist.
Wenn Sie unter 30 sind, stellen Sie sich DNS wie die Kontaktliste Ihres Smartphones vor, die die Namen von Personen mit ihren Telefonnummern und E-Mail-Adressen abgleicht. Dann multiplizieren Sie diese Kontaktliste mit allen anderen Menschen auf dem Planeten.
Eine kurze Geschichte des DNS
Als das Internet noch sehr, sehr klein war, war es für die Menschen einfacher, bestimmte IP-Adressen mit bestimmten Computern zu verbinden, aber das hielt nicht lange an, als mehr Geräte und Menschen dem wachsenden Netzwerk beitraten. Es ist immer noch möglich, eine bestimmte IP-Adresse in einen Browser einzugeben, um eine Website aufzurufen, aber damals wie heute wollten die Leute eine Adresse, die aus leicht zu merkenden Wörtern besteht, von der Art, die wir heute als Domain-Namen (wie networkworld.com) erkennen würden. In den 1970er und frühen 80er Jahren wurden diese Namen und Adressen von einer Person vergeben – Elizabeth Feinler in Stanford – die eine Masterliste aller mit dem Internet verbundenen Computer in einer Textdatei namens HOSTS.TXT führte.
Dies war offensichtlich eine unhaltbare Situation, als das Internet wuchs, nicht zuletzt, weil Feinler nur Anfragen vor 18 Uhr kalifornischer Zeit bearbeitete und sich über Weihnachten freinahm. 1983 wurde Paul Mockapetris, ein Forscher an der USC, damit beauftragt, einen Kompromiss unter mehreren Vorschlägen zur Lösung des Problems zu finden. Er ignorierte sie im Grunde alle und entwickelte sein eigenes System, das er DNS taufte. Obwohl es sich seither offensichtlich stark verändert hat, funktioniert es im Grunde immer noch genauso wie vor fast 40 Jahren.
Wie DNS-Server funktionieren
Das DNS-Verzeichnis, das Namen und Nummern zuordnet, befindet sich nicht an einem einzigen Ort in einer dunklen Ecke des Internets. Mit mehr als 332 Millionen Domainnamen, die Ende 2017 gelistet waren, wäre ein einzelnes Verzeichnis sehr groß. Wie das Internet selbst ist das Verzeichnis über die ganze Welt verteilt und auf Domain-Name-Servern (allgemein kurz DNS-Server genannt) gespeichert, die alle sehr regelmäßig miteinander kommunizieren, um Aktualisierungen und Redundanzen bereitzustellen.
Autoritative DNS-Server vs. rekursive DNS-Server
Wenn Ihr Computer die IP-Adresse finden möchte, die mit einem Domain-Namen verknüpft ist, stellt er seine Anfrage zunächst an einen rekursiven DNS-Server, auch rekursiver Resolver genannt. Ein rekursiver Resolver ist ein Server, der in der Regel von einem ISP oder einem anderen Drittanbieter betrieben wird, und er weiß, welche anderen DNS-Server er fragen muss, um den Namen einer Site mit ihrer IP-Adresse aufzulösen. Die Server, die tatsächlich über die benötigten Informationen verfügen, werden autoritative DNS-Server genannt.
DNS-Server und IP-Adressen
Jede Domain kann mehr als einer IP-Adresse entsprechen. Tatsächlich haben einige Websites Hunderte oder mehr IP-Adressen, die mit einem einzigen Domainnamen korrespondieren. Zum Beispiel ist der Server, den Ihr Computer für www.google.com erreicht, wahrscheinlich völlig anders als der Server, den jemand in einem anderen Land erreichen würde, wenn er denselben Site-Namen in seinen Browser eingibt.
Ein weiterer Grund für die verteilte Natur des Verzeichnisses ist die Zeit, die Sie brauchen würden, um eine Antwort zu erhalten, wenn Sie nach einer Site suchen würden, wenn es nur einen Standort für das Verzeichnis gäbe, der unter den Millionen, wahrscheinlich Milliarden, von Leuten geteilt würde, die zur gleichen Zeit nach Informationen suchen. Das ist eine lange Schlange, um das Telefonbuch zu benutzen.
Was ist DNS-Caching?
Um dieses Problem zu umgehen, werden DNS-Informationen auf viele Server verteilt. Aber die Informationen für kürzlich besuchte Websites werden auch lokal auf den Client-Computern zwischengespeichert. Die Chancen stehen gut, dass Sie google.com mehrmals am Tag aufrufen. Anstatt dass Ihr Computer jedes Mal den DNS-Nameserver nach der IP-Adresse von google.com abfragt, werden diese Informationen auf Ihrem Computer gespeichert, sodass er nicht auf einen DNS-Server zugreifen muss, um den Namen mit seiner IP-Adresse aufzulösen. Zusätzliches Caching kann auf den Routern stattfinden, die verwendet werden, um Clients mit dem Internet zu verbinden, sowie auf den Servern des Internet Service Providers (ISP) des Benutzers. Bei so viel Zwischenspeicherung ist die Anzahl der Anfragen, die es tatsächlich zu den DNS-Nameservern schaffen, viel geringer, als es den Anschein hat.
Wie finde ich meinen DNS-Server?
Generell wird der DNS-Server, den Sie verwenden, automatisch von Ihrem Netzwerkanbieter eingerichtet, wenn Sie sich mit dem Internet verbinden. Wenn Sie sehen wollen, welche Server Ihre primären Nameserver sind – in der Regel der rekursive Resolver, wie oben beschrieben – gibt es Web-Utilities, die eine Vielzahl von Informationen über Ihre aktuelle Netzwerkverbindung liefern können. Browserleaks.com ist ein gutes Programm, das eine Menge Informationen liefert, einschließlich Ihrer aktuellen DNS-Server.
Kann ich 8.8.8.8 DNS verwenden?
Es ist wichtig, daran zu denken, dass Ihr ISP zwar einen Standard-DNS-Server einrichtet, Sie aber nicht verpflichtet sind, diesen zu verwenden. Einige Benutzer haben vielleicht einen Grund, den DNS ihres ISPs zu meiden – zum Beispiel verwenden einige ISPs ihre DNS-Server, um Anfragen für nicht existierende Adressen auf Seiten mit Werbung umzuleiten.
Wenn Sie eine Alternative wünschen, können Sie Ihren Computer stattdessen auf einen öffentlichen DNS-Server verweisen, der als rekursiver Resolver fungiert. Einer der bekanntesten öffentlichen DNS-Server ist der von Google; seine IP-Adresse lautet 8.8.8.8. Die DNS-Dienste von Google sind in der Regel schnell, und obwohl es gewisse Fragen zu den Hintergedanken von Google gibt, den kostenlosen Dienst anzubieten, können sie nicht wirklich mehr Informationen von Ihnen erhalten, als sie bereits von Chrome erhalten. Google hat eine Seite mit detaillierten Anweisungen, wie Sie Ihren Computer oder Router so konfigurieren, dass er sich mit Googles DNS verbindet.
Wie DNS die Effizienz steigert
DNS ist in einer Hierarchie organisiert, die hilft, die Dinge schnell und reibungslos laufen zu lassen. Zur Veranschaulichung: Nehmen wir an, Sie wollten networkworld.com besuchen.
Die erste Anfrage für die IP-Adresse wird an einen rekursiven Resolver gestellt, wie oben beschrieben. Der rekursive Resolver weiß, welche anderen DNS-Server er fragen muss, um den Namen einer Site (networkworld.com) mit ihrer IP-Adresse aufzulösen. Diese Suche führt zu einem Root-Server, der alle Informationen über Top-Level-Domains wie .com, .net, .org und all die Länderdomains wie .cn (China) und .uk (Großbritannien) kennt. Root-Server befinden sich auf der ganzen Welt, so dass das System Sie in der Regel zum geografisch nächstgelegenen leitet.
Erreicht die Anfrage den richtigen Root-Server, geht sie zu einem Top-Level-Domain (TLD)-Namensserver, der die Informationen für die Second-Level-Domain speichert, die Wörter, die verwendet werden, bevor man zu .com, .org, .net kommt (zum Beispiel lautet die Information für networkworld.com „networkworld“). Die Anfrage geht dann an den Domain Name Server, der die Informationen über die Website und ihre IP-Adresse enthält. Sobald die IP-Adresse ermittelt wurde, wird sie an den Client zurückgeschickt, der sie nun zum Besuch der Website verwenden kann. All dies dauert nur Millisekunden.
Da DNS seit über 30 Jahren funktioniert, halten die meisten Menschen es für selbstverständlich. Auch an die Sicherheit wurde bei der Entwicklung des Systems nicht gedacht, so dass Hacker dies ausgenutzt und eine Vielzahl von Angriffen entwickelt haben.
DNS-Reflection-Attacken
DNS-Reflection-Attacken können die Opfer mit einer großen Menge an Nachrichten von DNS-Resolver-Servern überfluten. Die Angreifer fordern große DNS-Dateien von allen offenen DNS-Resolvern an, die sie finden können, und tun dies mit der gefälschten IP-Adresse des Opfers. Wenn die Resolver antworten, erhält das Opfer eine Flut von nicht angeforderten DNS-Daten, die seine Rechner überfordert.
DNS-Cache-Poisoning
DNS-Cache-Poisoning kann Benutzer auf bösartige Websites umleiten. Angreifer schaffen es, falsche Adresseinträge in das DNS einzufügen, so dass, wenn ein potenzielles Opfer eine Adressauflösung für eine der vergifteten Sites anfordert, das DNS mit der IP-Adresse für eine andere Site antwortet, die vom Angreifer kontrolliert wird. Auf diesen gefälschten Seiten können die Opfer dazu verleitet werden, Passwörter preiszugeben oder Malware herunterzuladen.
DNS-Ressourcenerschöpfung
DNS-Ressourcenerschöpfungsangriffe können die DNS-Infrastruktur von ISPs verstopfen und die Kunden des ISPs daran hindern, Websites im Internet zu erreichen. Dies kann geschehen, indem Angreifer einen Domain-Namen registrieren und den Nameserver des Opfers als autoritativen Server der Domain verwenden. Wenn also ein rekursiver Resolver die mit dem Site-Namen verbundene IP-Adresse nicht liefern kann, fragt er den Nameserver des Opfers. Angreifer generieren eine große Anzahl von Anfragen für ihre Domain und fügen nicht existierende Subdomains hinzu, was dazu führt, dass eine Flut von Auflösungsanfragen auf den Nameserver des Opfers abgefeuert wird und diesen überfordert.
Was ist DNSSec?
DNS Security Extensions ist ein Versuch, die Kommunikation zwischen den verschiedenen Ebenen der Server, die an DNS-Lookups beteiligt sind, sicherer zu machen. Es wurde von der Internet Corporation for Assigned Names and Numbers (ICANN) entwickelt, der Organisation, die für das DNS-System zuständig ist.
ICANN wurde auf Schwachstellen in der Kommunikation zwischen den DNS-Top-Level-, Second-Level- und Third-Level-Verzeichnisservern aufmerksam, die es Angreifern ermöglichen könnten, Lookups zu kapern. Das würde es den Angreifern ermöglichen, auf Anfragen nach Lookups zu legitimen Sites mit der IP-Adresse für bösartige Sites zu antworten. Diese Sites könnten Malware auf Benutzer hochladen oder Phishing- und Pharming-Angriffe durchführen.
DNSSEC würde dieses Problem angehen, indem jede Ebene der DNS-Server ihre Anfragen digital signiert, was sicherstellt, dass die von Endbenutzern gesendeten Anfragen nicht von Angreifern übernommen werden. Dies schafft eine Vertrauenskette, so dass bei jedem Schritt der Suche die Integrität der Anfrage überprüft wird.
Zusätzlich kann DNSSec feststellen, ob Domain-Namen existieren, und wenn dies nicht der Fall ist, lässt es nicht zu, dass diese betrügerische Domain an unschuldige Antragsteller geliefert wird, die einen Domain-Namen auflösen lassen wollen.
Da immer mehr Domain-Namen erstellt werden, immer mehr Geräte über das Internet der Dinge und andere „intelligente“ Systeme dem Netzwerk beitreten und immer mehr Websites auf IPv6 migrieren, wird die Aufrechterhaltung eines gesunden DNS-Ökosystems erforderlich sein. Das Wachstum von Big Data und Analytik bringt auch einen größeren Bedarf an DNS-Management mit sich.
SIGRed: Ein wurmfähiger DNS-Fehler bäumt sich auf
Die Welt bekam kürzlich einen guten Einblick in die Art von Chaos, das Schwächen im DNS verursachen können, mit der Entdeckung eines Fehlers in Windows DNS-Servern. Die potenzielle Sicherheitslücke, genannt SIGRed, erfordert eine komplexe Angriffskette, kann aber ungepatchte Windows-DNS-Server ausnutzen, um potenziell beliebigen Schadcode auf Clients zu installieren und auszuführen. Und die Schwachstelle ist „wurmfähig“, das heißt, sie kann sich ohne menschliches Zutun von Computer zu Computer verbreiten. Die Sicherheitslücke wurde als so alarmierend eingestuft, dass US-Bundesbehörden nur wenige Tage Zeit hatten, um Patches zu installieren.
DNS über HTTPS: Eine neue Datenschutzlandschaft
Zurzeit steht DNS vor einem der größten Umbrüche in seiner Geschichte. Google und Mozilla, die zusammen den Löwenanteil des Browsermarktes kontrollieren, fördern den Übergang zu DNS over HTTPS, oder DoH, bei dem DNS-Anfragen durch das gleiche HTTPS-Protokoll verschlüsselt werden, das bereits den meisten Webverkehr schützt. In der Chrome-Implementierung prüft der Browser, ob die DNS-Server DoH unterstützen, und wenn nicht, leitet er DNS-Anfragen an Googles 8.8.8.8.
Es ist ein nicht unumstrittener Schritt. Paul Vixie, der in den 1980er Jahren einen großen Teil der frühen Arbeit am DNS-Protokoll geleistet hat, nennt den Schritt ein „Desaster“ für die Sicherheit: Die IT-Abteilung eines Unternehmens wird es viel schwerer haben, den DoH-Verkehr zu überwachen oder zu lenken, der ihr Netzwerk durchquert. Dennoch ist Chrome allgegenwärtig und DoH wird bald standardmäßig aktiviert sein, also werden wir sehen, was die Zukunft bringt.
(Keith Shaw ist ein ehemaliger Senior Editor für Network World und ein preisgekrönter Autor, Redakteur und Produktrezensent, der für viele Publikationen und Websites auf der ganzen Welt geschrieben hat.)
(Josh Fruhlinger ist ein Autor und Redakteur, der in Los Angeles lebt.)