Domain Name System (DNS)
Das Domain Name System (DNS) ordnet den Namen, die Anwender verwenden, um eine Website zu finden, der IP-Adresse zu, die ein Computer verwendet, um eine Website zu. Wenn jemand zum Beispiel example.com in einen Webbrowser eingibt, ordnet ein Server im Hintergrund diesen Namen der entsprechenden IP-Adresse zu, die in etwa so aufgebaut ist: 121.12.12.121.
Das Surfen im Internet und die meisten anderen Internet-Aktivitäten verlassen sich auf DNS, um schnell die Informationen bereitzustellen, die erforderlich sind, um Benutzer mit entfernten Hosts zu verbinden. Die DNS-Zuordnung ist im gesamten Internet ein einer Hierarchie der Autorität verteilt. Zugangsprovider und Unternehmen sowie Regierungen, Universitäten und anderen Organisationen haben in der Regel ihre eigenen zugewiesenen Bereiche von IP-Adressen und einen zugewiesenen Domainnamen. Sie betreiben in der Regle auch DNS-Server, um die Zuordnung dieser Namen zu diesen Adressen zu verwalten. Die meisten URLs sind um den Domänennamen des Webservers herum aufgebaut, der Client-Anfragen entgegennimmt.
So funktioniert DNS
DNS-Server beantworten Anfragen sowohl von innerhalb als auch außerhalb ihrer eigenen Domäne. Wenn ein Server eine Anfrage von außerhalb der Domäne nach Informationen über einen Namen oder eine Adresse innerhalb der Domäne erhält, gibt er die maßgebliche Antwort. Wenn ein Server eine Anfrage aus seiner eigenen Domäne für Informationen über einen Namen oder eine Adresse außerhalb dieser Domäne erhält, gibt er die Anfrage an einen anderen Server weiter. In der Regel ist dieser Server einer, der von seinem Internet Service Provider (ISP) verwaltet wird. Wenn dieser Server die Antwort oder die maßgebliche Antwort für die Quelle nicht kennt, wendet er sich an die DNS-Server für die Top-Level-Domain – zum Beispiel für alle .de oder .com. Dann wird die Anfrage an den autorisierten Server für die spezifische Domain weitergeleitet, zum Beispiel techtarget.com. Die Antwort fließt auf demselben Weg zurück.
Die Struktur des Domain Name System
Ein Domain-Name besteht aus mehreren Teilen, den sogenannten Labels. Die Domain-Hierarchie wird von rechts nach links gelesen, wobei jeder Abschnitt eine Unterteilung bezeichnet. Die Top-Level-Domain ist das, was nach dem Punkt im Domain-Namen erscheint. Ein paar Beispiele für Top-Level-Domains sind .com, .org und .de. Einige können oder Ländercode oder geografischen Stand bezeichnen, wie zum Beispiel .fr für Frankreich oder .ca für Kanada.
Jede Bezeichnung auf der linken Seite bezeichnet eine weitere Subdomain auf der rechten Seite. So ist zum Beispiel „techtarget“ eine Subdomain von .com und „www.“ ist eine Subdomain von techtarget.com. Es kann bis zu 127 Ebenen von Subdomains geben, und jede Bezeichnung kann bis zu 63 Zeichen haben. Die Gesamtlänge der Domain kann bis zu 253 Zeichen betragen. Weitere Regeln sind, dass Bezeichnungen nicht mit Bindestrichen beginnen oder enden dürfen und dass der Top-Level-Domain-Name nicht vollständig numerisch sein darf.
Die IETF (Internet Engineering Task Force) hat in den RFC 1035, 1123, 2181 und 5892 Regeln für Domain-Namen festgelegt.
Wie wirkt sich DNS auf die Web-Performance aus?
Um effizienter zu arbeiten, können die Server die erhaltenen Antworten für eine bestimmte Zeit zwischenspeichern. Dadurch können sie bei der nächsten Anfrage für dieselbe Suche schneller reagieren. Wenn beispielsweise alle Mitarbeiter eines Büros am selben Tag auf das gleiche Schulungsvideo auf einer bestimmten Website zugreifen müssen, muss der lokale DNS-Server den Namen normalerweise nur einmal auflösen. Alle anderen Anfragen kann der Server dann aus seinem Cache bedienen. Die Dauer für die der Datensatz gehalten wird, oder die Time to Live, ist konfigurierbar. Längere Werte verringern die Belastung der Server, kürzere Werte gewährleisten die genauesten Antworten.
DNS-Sicherheit
DNS hat ein paar Schwachstellen, die im Laufe der Zeit entdeckt wurden. So ist beispielsweise DNS-Cache-Poisoning so eine Schwachstelle. Beim DNS-Cache-Poisoning werden Daten an Caching-Resolver übergeben, die sich als die originären Ursprungsserver ausgeben. Die Daten können dann falsche Informationen darstellen und die Time-to-Live beeinflussen. Anfragen können so auf ein bösartiges Host-Netzwerk umgeleitet werden (siehe auch Was ist eigentlich DNS-Cache-Poisoning?).
Angreifer mit böswilligen Absichten können präparierte Websites mit irreführenden Titeln erstellen, um Anwender davon zu überzeugen, dass die Website auf der sie sich befinden, echt ist. Dadurch erhält der Angreifer Informationen des Benutzers. Durch das Ersetzen eines Zeichens in einem Domain-Namen durch ein ähnliches aussehendes Zeichen – zum Beispiel die Zahl Eins „1“ durch und ein kleines L „l“. Je nach Schriftart können solche Kombinationen sehr ähnlich aussehen und den Benutzer dazu verleiten auf den falschen Link zu klicken. Dies wird häufig für Phishing-Angriffe ausgenutzt.
Mit den DNS Security Extensions oder auch kurz einfach DNSSEC existieren eine Reihe von IETF-Standards, die die Sicherheit von DNS verbessern.