DNS + Nameserver

DNS (Domain Name System)

Was ist ein DNS?

DNS oder auch "Domain Name System" ist wie das Telefonbuch des Internets. Jedes Gerät, dass mit dem Internet verbunden ist, hat eine eindeutige IP-Adresse. (z. B. 10.12.15.257) 

Web-Browser benutzen die IP-Adressen zur Interaktion. Damit man die IP-Adressen nicht jedes mal eingeben muss, um auf eine Website zu gelangen, übersetzt DNS die Domain-Namen um, damit die Ressourcen im Browser geladen werden können. 

Wie funktioniert DNS?

Um eine DNS aufzulösen, benötigt man einen Hostnamen (z. B. alexandergreub.ch) damit der Computer die Domain in eine verständliche IP-Adresse umwandeln kann.

Jedes Gerät, dass sich mit dem Internet verbindet, erhält eine IP-Adresse, damit das Gerät gefunden werden kann, wie z. B. eine Postanschrift bei einem Haus.



Es gibt 2 Verschieden Arten von IP-Adressen:

04_adresse_kuerzen_w640_h400.pngIP_Adresse Aufbau-01.png

Hilfreiche Ressourcen:

https://www.cloudflare.com/de-de/learning/dns/what-is-dns/

Die 3 Server zum Laden einer Webseite

Damit eine Webseite geladen werden kann, braucht es noch 3 Schritte. 


Ablauf einer DNS-Anfrage

Zur Repetition beschreibe ich kurz die einzelnen Schritte einer DNS-Abfrage für www.alexandergreub.ch, um darauf aufbauen zu können:

DNS-Zone

Erklärung der DNS-Zoneneinträge
A
IPv4 Adresse
AAAA
IPv6 Adresse
MX
Mail-Server
SRV Gibt einen Host und einen Port für bestimmte Dienste an (z.B. Instant Messaging, Kalender, VoIP)
NS Autoritative Nameserver
TXT Texteintrag (z. B. zur Unterbindung von Spam)
CNAME
Kanonischer Name (z. B. Verweis von einer Domain, wenn ein Alias besteht)

Zonen-File im System Configurator

2023-07-19 14_39_10-WEBLAND.CH - System Configurator.png

Zonen-Editor im WLCM

2023-07-19 14_41_31-WLCM (Webland Customer Management).png

2023-07-19 14_41_04-Window.png

DNSSEC

DNSSEC steht für "Domain Name System Security Extension" die das DNS mit verschiedenen Sicherheitsmöglichkeiten erweitert.

Bei der DNS Abfrage wird der ein gesamter Durchlauf durchgeführt, d.h. Der Länder-Nameserver, der Root Server und der Autoritative Nameserver wird angesprochen. Bei allen Server müssen die DNSSEC Daten vorhanden sein, damit die Abfrage erfolgreich ist.

Auflistung der DNSSEC Abfrage: DNSSEC

Einträge
RRSIG
Enthält eine kryptographische Signatur
DNSKEY Enthält einen Public Key
DS
Enthält den Hash eines DNSKEY Eintrags
NSEC und NSEC3
Für die explizite Anerkennung eines Nicht-Existenten DNS Eintrags
CDNSKEY und CDS
Für die untergeordnete Zone zur Anfrage von Aktualisierungen eines DNS Eintrags in der Übergeordneten Zone

RRset.png

Definition eines RRset

Beim RRset werden Einträge mit dem gleichen Namen und Typ gebündelt.

ZSK (Zone Signing Key)

RRSIG.png

Definition des RRSIG Eintrags

Im RRSIG Eintrag befinden sich die Daten des Private Key und werden beim Zonenbetreiber im Nameserver hinterlegt.

Schema ZSK.png

Schema des ZSK

KSK (Key Signing Key)

Der KSK siginert zusätzlich den öffentlichen ZSK, der im DNSKEY Eintrag gespeichert ist und erstellt einen neuen RRSIG für den DNSKEY. 

Schema KSK.png

Schema des KSK

Ablauf einer DNSSEC Abfrage

DNSSEC Ablauf.png

  1. Wenn ein Client die www.agreub.ch eintippt, wird die Anfrage zum autoritativen Nameserver geschickt. Wenn der Nameserver nun DNSSEC aktiviert hat, kann die Abfrage weiter erfolgen, ansonsten wird die Abfrage nicht weitergeführt.
  2. Der Nameserver hat DNSSEC aktiviert und sendet als Antwort den A-Record und eine verschlüsselte Signatur zurück.
  3. Der Resolver benötigt diese kryptographischen Signaturen und holt beim Nameserver den Public und den Private Key.
  4. Der Nameserver sendet die Keys und die Signaturen an den Resolver, damit die Verifizierung erfolgreich durchgeführt werden kann.
  5. Der Resolver fragt den TLD Nameserver an, ob dort die benötigten Daten hinterlegt sind.
  6. Die zu verifizierenden Informationen werden vom TLD Nameserver an den Resolver weitergeleitet.
    Wenn die Informationen übereinstimmen, ist die Domain validiert.
  7. Eigentlich wäre der Prozess hier beendet, jedoch ist hier ein Angriff immer noch möglich und deshalb wird der Root-Nameserver von .ch angefragt.
    Der Resolver fragt den TLD Nameserver nach den kryptographischen Keys, um die Informationen zu verifizieren.
  8. Der TLD Nameserver erhält die gewünschten Informationen (Keys und Signaturen).
  9. Der Resolver fragt den Root-Server für die zu verifizierenden Informationen, die beim TLD Nameserver hinterlegt sind.
  10. Der Root-Server sendet die zu verifizierenden Informationen zurück und der Resolver verifiziert die Informationen des TLD Nameservers.
  11. Der Resolver fragt den Root-Server nach den Kryptographischen Keys um die Informationen vom Resolver zu verifizieren.
  12. Der Root-Server sendet die Keys, damit die Informationen vom TLD Nameserver verifiziert werden können.
Die Kette des Vertrauens

Wie kann man sicherstellen, das der Root-Nameserver sicher ist? Jeder Verifizierende Resolver hat nur einer Entität zu vertrauen und zwar dem Root-Server. 

Der Resolver hat bereits die benötigten Schlüssel des Root-Server im Verzeichnis. Das heisst, nach Punkt 12 wird verglichen ob die Informationen des Resolvers und des Root-Server übereinstimmen. Man kann somit der TLD .ch und der Domain vertrauen.