Kategorien
Webentwicklung

DNS

Das Domain Name System löst die Namen von Internetseiten mit den zugrundeliegenden IP-Adressen auf und sorgt so für mehr Effizienz und Sicherheit im Prozess.

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 genommen ist DNS ein Verzeichnis von Namen, die mit Nummern übereinstimmen. Die Nummern sind in diesem Fall IP-Adressen, die Computer benutzen, um miteinander zu 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 du unter 30 bist, stell dir DNS wie die Kontaktliste deines Smartphones vor, die die Namen der Leute mit ihren Telefonnummern und E-Mail-Adressen abgleicht. Dann multipliziere 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 bestimmten Computern zuzuordnen, 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 Webseite zu erreichen, 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 kennen (wie networkworld.com). In den 1970er und frühen 80er Jahren wurden diese Namen und Adressen von einer Person zugewiesen – Elizabeth Feinler in Stanford – die eine Masterliste von jedem 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 frei nahm. 1983 wurde Paul Mockapetris, ein Forscher an der USC, damit beauftragt, einen Kompromiss unter mehreren Vorschlägen für den Umgang mit dem Problem zu finden. Er ignorierte sie im Grunde alle und entwickelte sein eigenes System, das er DNS taufte. Obwohl es sich seither offensichtlich ziemlich verändert hat, funktioniert es im Grunde immer noch genauso wie vor fast 40 Jahren.

Wie DNS-Server funktionieren
Das DNS-Verzeichnis, das die Namen den 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 einziges Verzeichnis in der Tat sehr groß. Wie das Internet selbst, ist das Verzeichnis über die ganze Welt verteilt, gespeichert auf Domain Name Servern (allgemein kurz DNS-Server genannt), die alle sehr regelmäßig miteinander kommunizieren, um Updates und Redundanzen bereitzustellen.

Autoritative DNS-Server vs. rekursive DNS-Server
Wenn dein Computer die IP-Adresse finden will, die mit einem Domainnamen verbunden ist, stellt er seine Anfrage zuerst an einen rekursiven DNS-Server, auch bekannt als rekursiver Resolver. Ein rekursiver Resolver ist ein Server, der in der Regel von einem ISP oder einem anderen Drittanbieter betrieben wird. Er weiß, welche anderen DNS-Server er fragen muss, um den Namen einer Seite mit ihrer IP-Adresse aufzulösen. Die Server, die tatsächlich die benötigten Informationen haben, werden autoritative DNS-Server genannt.

DNS-Server und IP-Adressen
Jede Domain kann mit mehr als einer IP-Adresse korrespondieren. Tatsächlich haben einige Websites hunderte oder mehr IP-Adressen, die mit einem einzigen Domainnamen korrespondieren. Zum Beispiel ist der Server, den dein 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 Seitennamen in seinen Browser eingibt.

Ein weiterer Grund für die verteilte Natur des Verzeichnisses ist die Zeit, die du brauchen würdest, um eine Antwort zu bekommen, wenn du nach einer Seite suchen würdest, wenn es nur einen Ort für das Verzeichnis gäbe, der unter den Millionen, wahrscheinlich Milliarden, von Menschen 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 die DNS-Informationen auf viele Server verteilt. Aber die Informationen für kürzlich besuchte Seiten werden auch lokal auf den Client-Computern zwischengespeichert. Die Chancen stehen gut, dass du google.com mehrmals am Tag besuchst. Anstatt dass dein Computer jedes Mal den DNS-Nameserver nach der IP-Adresse von google.com abfragt, wird diese Information auf deinem Computer gespeichert, so dass 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 Nutzers. 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 kann ich meinen DNS-Server finden?
Im Allgemeinen wird der DNS-Server, den du benutzt, automatisch von deinem Netzwerkanbieter eingerichtet, wenn du dich mit dem Internet verbindest. Wenn du sehen willst, welche Server deine primären Nameserver sind – in der Regel der rekursive Resolver, wie oben beschrieben – gibt es Web-Utilities, die eine Vielzahl von Informationen über deine aktuelle Netzwerkverbindung liefern können. Browserleaks.com ist ein gutes Programm, das eine Menge Informationen liefert, einschließlich deiner aktuellen DNS-Server.

Kann ich 8.8.8.8 DNS verwenden?
Es ist wichtig zu wissen, dass dein ISP zwar einen Standard-DNS-Server einrichtet, du aber nicht verpflichtet bist, diesen zu nutzen. Manche Nutzer haben einen Grund, den DNS ihres ISPs zu vermeiden – zum Beispiel nutzen einige ISPs ihre DNS-Server, um Anfragen für nicht existierende Adressen auf Seiten mit Werbung umzuleiten.

Wenn du eine Alternative möchtest, kannst du deinen 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. Googles DNS-Dienste sind in der Regel schnell, und obwohl es gewisse Fragen über die Hintergedanken von Google gibt, den kostenlosen Dienst anzubieten, können sie nicht wirklich mehr Informationen von dir bekommen, als sie bereits von Chrome bekommen. Google hat eine Seite mit detaillierten Anweisungen, wie du deinen Computer oder Router so konfigurierst, dass er sich mit Googles DNS verbindet.

Wie DNS die Effizienz erhöht
DNS ist in einer Hierarchie organisiert, die dazu beiträgt, dass die Dinge schnell und reibungslos ablaufen. Um das zu veranschaulichen, nehmen wir an, dass du networkworld.com besuchen möchtest.

Die erste Anfrage nach der 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. Die Root-Server befinden sich auf der ganzen Welt, daher leitet dich das System normalerweise zum geografisch nächstgelegenen.

Sobald die Anfrage den richtigen Root Server erreicht hat, geht sie zu einem Top-Level-Domain (TLD) Nameserver, der die Informationen für die Second-Level-Domain speichert, also die Wörter, die verwendet werden, bevor man zu .com, .org, .net kommt (zum Beispiel sind die Informationen für networkworld.com “networkworld”). Die Anfrage geht dann an den Domain Name Server, der die Informationen über die Seite und ihre IP-Adresse hält. Sobald die IP-Adresse ermittelt wurde, wird sie an den Client zurückgeschickt, der sie nun nutzen kann, um die Webseite zu besuchen. All das dauert nur wenige Millisekunden.

Da das DNS seit über 30 Jahren funktioniert, nehmen die meisten Menschen es als selbstverständlich hin. Die Sicherheit wurde bei der Entwicklung des Systems nicht berücksichtigt, so dass Hacker dies ausgenutzt haben und eine Vielzahl von Angriffen entwickelt haben.

DNS-Reflection-Angriffe
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 Nutzer auf bösartige Webseiten 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 Seiten anfordert, das DNS mit der IP-Adresse für eine andere Seite antwortet, eine, die vom Angreifer kontrolliert wird. Einmal auf diesen gefälschten Seiten angekommen, können Opfer dazu verleitet werden, Passwörter preiszugeben oder Malware herunterzuladen.

Erschöpfung der DNS-Ressourcen
DNS-Ressourcenerschöpfungsangriffe können die DNS-Infrastruktur von ISPs verstopfen und die Kunden des ISPs davon abhalten, Websites im Internet zu erreichen. Dies kann geschehen, indem Angreifer einen Domainnamen registrieren und den Nameserver des Opfers als autoritativen Server der Domain verwenden. Wenn also ein rekursiver Resolver die mit dem Webseitennamen verbundene IP-Adresse nicht liefern kann, wird er den Nameserver des Opfers fragen. 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 verantwortlich ist.

ICANN wurde auf Schwachstellen in der Kommunikation zwischen den DNS-Top-Level-, Second-Level- und Third-Level-Verzeichnis-Servern aufmerksam, die es Angreifern ermöglichen könnten, Lookups zu kapern. Das würde den Angreifern erlauben, auf Anfragen für Lookups zu legitimen Seiten mit der IP-Adresse für bösartige Seiten zu antworten. Diese Seiten könnten Malware auf die Nutzer hochladen oder Phishing- und Pharming-Angriffe durchführen.

DNSSEC würde dieses Problem angehen, indem jede Ebene des DNS-Servers seine Anfragen digital signiert, was sicherstellt, dass die Anfragen, die von Endnutzern gesendet werden, nicht von Angreifern übernommen werden. Dies schafft eine Vertrauenskette, so dass bei jedem Schritt des Lookups die Integrität der Anfrage überprüft wird.

Außerdem kann DNSSec feststellen, ob Domainnamen existieren, und wenn nicht, lässt es nicht zu, dass diese betrügerische Domain an unschuldige Antragsteller geliefert wird, die einen Domainnamen auflösen lassen wollen.

Da immer mehr Domainnamen erstellt werden, immer mehr Geräte über das Internet der Dinge und andere “intelligente” Systeme dem Netzwerk beitreten und immer mehr Standorte 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 erhebt sein Haupt
Mit der Entdeckung einer Schwachstelle in Windows DNS-Servern bekam die Welt kürzlich einen guten Einblick in die Art von Chaos, das Schwächen im DNS verursachen können. 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 der Exploit ist “wurmbar”, was bedeutet, dass er sich ohne menschliches Zutun von Computer zu Computer verbreiten kann. Die Schwachstelle wurde als so alarmierend angesehen, dass die US-Bundesbehörden nur wenige Tage Zeit hatten, Patches zu installieren.

DNS über HTTPS: Eine neue Datenschutzlandschaft
Zu diesem Zeitpunkt steht DNS vor einer der größten Veränderungen in seiner Geschichte. Google und Mozilla, die zusammen den Löwenanteil des Browsermarktes kontrollieren, fördern den Wechsel 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 um.

Es ist ein Schritt, der nicht unumstritten ist. Paul Vixie, der in den 1980er Jahren einen Großteil der frühen Arbeit am DNS-Protokoll geleistet hat, bezeichnet den Schritt als “Katastrophe” 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, zum Beispiel. Dennoch ist Chrome allgegenwärtig und DoH wird bald standardmäßig aktiviert sein, also werden wir sehen, was die Zukunft bringt.

Schreibe einen Kommentar

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

17 − drei =