- Namensauflösung
- Namensauflösungsanfragen
- DNS-Client
- RR: Der Resource Record
- Das DNS-Paketformat
- Namensauflösung verfolgen
- Angriff auf DNS
- DANE
- Links
Namensauflösung
Benutzer rufen Webseiten über Namen auf, wie etwas www.hs-flensburg.de für die Hochschule Flensburg. Tatsächlich werden die Pakete an eine IP-Adresse gesandt. Das lässt sich durch einen einfachen Ping-Befehl ermitteln.$ ping www.hs-flensburg.de PING hs-flensburg.de (193.175.191.141) 56(84) bytes of data. 64 bytes from hs-flensburg.de (193.175.191.141): icmp_seq=1 ttl=52 time=23.7 ms 64 bytes from hs-flensburg.de (193.175.191.141): icmp_seq=2 ttl=52 time=23.2 ms 64 bytes from hs-flensburg.de (193.175.191.141): icmp_seq=3 ttl=52 time=23.2 ms ^C --- hs-flensburg.de ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 23.216/23.380/23.694/0.221 msDer Webserver der Hochschule Flensburg residiert offenbar auf der IP-Adresse 193.175.191.141.
Pakete werden im Internet nicht über ihren Namen, sondern über die numerische IP-Adresse versendet. In der Version IPv4 sind die Adressen 4 Byte lang. Und selbst in der neuesten Version IPv6 sind die Adressen mit 16 Byte immer noch kleiner als so mancher Domain-Namen.
Für die Umsetzung des Domain-Namens muss das Internet-Wörterbuch befragt werden. Dieses nennt sich Domain Name System und liefert für den Domain-Namen die passende IP-Adresse.
Protokoll-Steckbrief
- Port 53 UDP/TCP
- Hierarchisch, dezentral organisiert
- RFC 882 und 883, inzwischen abgelöst durch 1034 und 1035
- Anwendungsschicht
- Jeder Server betreut eine Zone
- Übersetzung von Host-Namen in IP-Adressen
Beispiel: www.hs-flensburg.de wird zu 193.175.191.141 - Übersetzung der IP-Adresse in den kanonischen Namen
Für jeden Host gibt es einen offiziellen Hauptnamen. - Host-Alias
Im lokalen Netzwerk kann ein Host unter mehreren Namen auftreten. Derselbe Host 192.168.0.50 könnte beispielsweise unter den Namen server, mail und ftp im lokalen Netzwerk ansprechbar sein. - Herausfinden des Mail-Servers
E-Mail-Adressen enthalten keinen Host. Das DNS muss den für die Domain zuständigen Mailserver liefern können. - Lastverteilung
Einem Namen können mehrere IP-Adressen zugeordnet werden, die bei jeder Anfrage abgewechselt werden. Dadurch werden die Anfragen auf mehrere physische Hosts verteilt.
Namensauflösungsanfragen
In einer URL wird der Name des PCs von hinten nach vorn aufgelöst. www.willemer.de wird aufgeglieder in:- de: Die Top-Level-Domain. Dazu gehören die landesspezifischen TLDs wie de, fr oder dk, aber auch com (commercial) oder edu (education - Universitäten).
- willemer: Die Domain unterhalb der TLD. Wer willemer.de hat, hat noch lange nicht willemer.edu.
- www: Dies ist der Hostname des Computers, der den Webserver stellt.
Für die Auflösung der TLDs ist das Root-DNS zuständig, das zu Anfang von 13 Root-DNS-Servern A.root-servers.net bis M.root-servers.net übernommen wurde. Heute sind es deutlich mehr. Sie werden von der ICANN verwaltet.
Für die Verwaltung der deutschen Domains unter der TLD de ist die DENIC zuständig.
DNS-Client
Ein Arbeitsplatz-Computer benötigt notwendig die IP-Adresse eines DNS-Servers, um ins Internet zu gelangen. Die Adresse erfährt er heutzutage in der Regel automatisch per DHCP. Alternativ kann die IP-Adresse des DNS-Server manuell eingetippt werden.Üblicherweise stellt der Internet-Provider einen DNS-Server zur Verfügung. Dessen Adresse verteilt der Router mit seinem DHCP auf die lokalen PCs.
Logischerweise muss der DNS-Server als IP-Adresse bekannt sein. Ansonsten müsste zu deren Auflösung zunächst ein DNS-Server bemüht werden und die Katze beißt sich in den Schwanz.
Sie lösen die lokalen Namen des LANs auf und arbeiten ansonsten als Proxy und leiten weitergehende Fragen an den übergeordneten DNS-Server weiter.
Rekursive und iterative Namensauflösung
Es gibt zwei verschiedene Arten, die Anfragen an den lokalen DNS-Server weiterzureichen: rekursiv und iterativ.rekursiv
Bei einer rekursiven Namensauflösung werden Anfragen, die ein lokaler DNS-Server nicht beantworten kann an dessen übergeordneten Server weitergeleitet, bis der oberste gemeinsame Server gefunden ist. Von dort werden nun für die jeweilige Domain verantwortlichen Server aufgesucht, bis die IP-Adresse gefunden ist. Diese wird dann auf dem umgekehrten Weg zurückgereicht.Beispiel: Ein PC reicht die DNS-Anfrage an den Router weiter.
- Der Router weiß es auch nicht. Er fragt den DNS-Server des Providers.
- Provider weiß es auch nicht. Er fragt Root-DNS.
- Root-DNS fragt TLD (Top Level Domain)-DNS.
- TLD-DNS weiß, dass Verisign für .net zuständig ist und fragt dort.
- Verisign stellt fest, welcher DNS-Server für gmx.net zuständig ist
- Verisign fragt den zuständigen DNS für gmx.net nach mail.gmx.net
- Der DNS von gmx.net weiß, welche IP mail.gmx.net hat.
- Der DNS von gmx.net sendet die IP für mail.gmx.net an Verisign.
- Verisign sendet das Ergebnis an TLD-DNS zurück.
- TLD-DNS sendet das Ergebnis an Root-DNS zurück.
- Root-DNS sendet das Ergebnis an Provider-DNS zurück.
- Provider-DNS sendet das Ergebnis an Router zurück.
- Router sendet das Ergebnis an Client zurück.
- Rekursiv: Root-DNS, TLD und Verisign kommen ins Schwitzen.
iterativ
Beim iterativen Ansatz leitet der angefragte DNS-Server die Anfrage nicht weiter, sondern informiert den Anfrager, welcher DNS-Server für die weitere Auflösung des Namens zuständig ist. Der Anfrager muss also mehrere Anfragen stellen, bis die IP-Adresse gefunden ist.Beispiel: Der Client fragt den Router nach mail.gmx.net
- Der Router weiß es auch nicht. Er fragt den DNS-Server des Providers.
- Provider weiß es auch nicht. Er fragt iterativ Root-DNS nach .net.
- Root-DNS sendet Adresse von TLD an Provider.
- Provider fragt TLD. Verisign sendet Adresse von Verisign an Provider.
- Provider fragt Versign nach gmx.net
- Verisign liefert die Adresse des DNS-Servers für gmx.net zurück.
- Provider fragt DNS für gmx.net nach IP-Adresse von mail.gmx.net.
- Der DNS von gmx.net sendet die IP von mail.gmx.net zurück.
- Provider-DNS sendet die IP-Adresse an den Router zurück.
- Router sendet an Client zurück.
- Iterativ: Der Provider-DNS muss schwitzen.
Caching
Die Last der Namensauflösung wird dadurch erleichtert, dass jeder DNS-Server auch gleichzeitig als Cache arbeitet, der einmal gefundene Namenszuordnungen zwischenspeichert. Solche Einträge werden allerdings nach einer gewissen Zeit gelöscht, um eine Aktualität zu gewährleisten. Da aber viele Informationen in den lokalen Name-Servern gespeichert werden, werden die übergeordneten Server entlastet.RR: Der Resource Record
Die Informationen des DNS werden in RRs (Resource Record) gespeichert und auch verteilt.- name=: Der Name der Anfrage bzw. Antwort
- value=: Der Wert zu diesem Namen, beispielsweise die IP-Adresse
- type=: Was soll aufgelöst werden?
- A name: Host, value: IPv4-Adresse
- AAAA name: Host, value: IPv6-Adresse
- NS Suche nach einem Name-Server. name: Der gesuchte Hostname, value: Der Name des autotitativen DNS-Server der Domain
- CNAME name: Alias-Name für einen canonical Namen, value: der canonical Name
- MX name: Die Domain, value: Der der Domain zugeordnete Mailserver
- ttl=: Maximale Zeit, um den Eintrag zu cachen
Das DNS-Paketformat
Zufällige 16-Bit-ID | Flags |
Anzahl der Fragen | Antwort-RRs |
Authority-RRs | Zusätzliche RRs |
Anfrage(n) an DNS-Server | |
Antworte(n) von den DNS-Servern | |
Autoritative-Server | |
Zusätzliche Info (z. B. canonical name) |
- Flags: query/reply, recursion desired, recursion available, reply is authoritative
- Die folgenden vier Einträge werden benötigt, weil mehrere Anfragen und Antworten möglich sind.
- In den nachfolgenden Einträgen befinden sich die Texte der Fragen und Antworten
- Ein autoritativer Server ist der DNS der DNS-Server der Organisation, der für die Mapping des Hostnames mit der IP zuständig ist.
Namensauflösung verfolgen
Der Befehl nslookup kann den Weg der Namensauflösung verfolgen. Dieser Befehl ist aber inzwischen deprecated. Stattdessen sollte der Befehl dig oder host verwendet werden.$ host www.willemer.de www.willemer.de has address 217.160.0.27
Angriff auf DNS
Mit dem Tool dnsspoof lassen sich DNS-Pakete umlenken. Dazu wird eine /etc/hosts-ähnliche Datei mit dem umzulenkenden Namen auf eine andere IP eingetragen:192.168.1.10 www.willemer.deDanach wird ein Aufruf von www.willemer.de auf den Rechner 192.168.1.100 im lokalen Netzwerk gehen.
dnsproof -f umlenkdatei udp port 53
DANE
DNS-Based Authentication of Named Entities (DANE) wird in RFC 6698 festgelegt.DANE basiert auf DNSSEC. Bei der Namensauflösung erhält der Client einen Fingerabdruck des Mailservers, den er nutzt, um eine verschlüsselte Verbindung anzufordern.