Domain Name System

Das Domain Name System, kurz DNS, wurde in den 80er Jahren entwickelt. Als «Telefonbuch» des Internets übersetzt es menschenverständliche Domainnamen wie www.tec-bite.ch in maschinenlesbare IP-Adressen (149.126.6.73). Das bewährte DNS-Protokoll funktioniert sehr zuverlässig. Aber es überträgt die Daten im Klartext. Damals dachte noch niemand an die Privatsphäre der Benutzer, die DNS-Anfragen erstellen oder an die Authentizität (Echtheit) und Integrität (Korrektheit) der DNS-Antworten.


Ablauf einer DNS-Anfrage

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

  1. Der Client durchsucht zuerst seine Host-Datei und anschliessend seinen DNS-Cache, ob dort tec-bite.ch mit der dazugehörigen IP-Adresse hinterlegt ist.
  2. Falls nicht, leitet der Client die DNS-Anfrage an seinen DNS-Resolver weiter. Wenn der DNS-Resolver die IP-Adresse zu tec-bite.ch nicht in seinem Cache hat, kontaktiert er als nächstes einen Root-Nameserver. Der Root-Nameserver sendet die IP-Adressen der «.ch»-Zone-Nameserver an den DNS-Resolver zurück.
  3. Nun sendet der DNS-Resolver die DNS-Anfrage an einen der «.ch»-Zone-Nameserver (z.B. nic.ch). Dieser wiederum sendet die IP-Adresse der autoritativen Nameserver für tec-bite.ch zurück.
  4. Als nächster Schritt sendet der DNS-Resolver die DNS-Anfrage an den autoritativen Nameserver von tec-bite.ch. Dieser antwortet anschliessend mit der IP-Adresse welche für tec-bite.ch hinterlegt ist.
  5. Der DNS-Resolver sendet die erhaltene Antwort an den Client.

Schwachstellen des DNS-Systems

Der DNS-Traffic ist in zwei Abschnitte einzuteilen. Der erste Abschnitt ist zwischen dem Client und seinem DNS-Resolver. Der zweite Abschnitt ist zwischen dem DNS-Resolver und den autoritativen Nameservern. Da der DNS-Traffic im Klartext und ungeschützt erfolgt, kann bei beiden Abschnitten der DNS-Traffic mitgelesen oder sogar manipuliert werden. Das DNS-Protokoll ist so tief in unseren Systemen verankert, dass noch kein neueres Protokoll es ablösen konnte. Inzwischen wurden jedoch DNS-Protokoll-Erweiterungen eingeführt, um die heutigen Anforderungen zu erfüllen:

DNSSEC

Eine der DNS-Erweiterungen sind die Domain Name System Security Extensions (DNSSEC). Sie wurden entwickelt, um die Authentizität (Echtheit) und Integrität (Korrektheit) der DNS-Antworten im zweiten Abschnitt zu gewährleisten. Damit die DNSSEC-Erweiterung zum Schutz genutzt werden kann, müssen alle autoritativen Nameserver DNSSEC unterstützen und entsprechend konfiguriert sein. Die DNS-Anfrage selbst wird immer noch im Klartext überwiesen. Die Authentizität und die Integrität gelten nur für DNS-Antworten. In diesem Artikel gehe ich nicht weiter auf DNSSEC ein. Weitere Informationen können z.B. hier nachgelesen werden.

Weitere Informationen über DoT-Protokolle: de.wikipedia.org/wiki/DNS_over_TLS

DoT und DoH

Jedoch möchte ich gerne auf die beiden DNS-Erweiterungen DNS-over-TLS (DoT) und DNS-over-HTTPS (DoH) eingehen, welche im ersten Abschnitt genutzt werden können. In Firmennetzwerken werden vielfach interne DNS-Resolver installiert. Aber bei anderen Netzwerken wie Mobilfunknetzwerken oder in vielen privaten Netzwerken werden oft öffentlich zugängliche DNS-Resolver für die DNS-Auflösung genutzt. Da die DNS-Anfragen und DNS-Antworten dabei unverschlüsselt und ungeschützt im Internet zu den öffentlichen DNS-Resolvern übertragen werden, können die DNS-Pakete von Dritten geloggt, ausgewertet oder sogar manipuliert werden. Da setzten die beiden Protokolle DoT und DoH an, welche die DNS-Abfragen durch einer der beiden Protokolle verschlüsselt. Bei DoT wird der DNS-Traffic mit TLS verschlüsselt und bei DoH wird die Verschlüsselung durch HTTPS erreicht.

Weitere Informationen über DoH-Protokolle: de.wikipedia.org/wiki/DNS_over_HTTPS


Vor- und Nachteile von DoT und DoH

Durch die Verschlüsselung des DNS-Traffics zu den DNS-Resolvern ist nicht nur die Authentizität (Echtheit) und die Integrität (Korrektheit) im ersten Abschnitt gewährleistet sondern auch die Vertraulichkeit. Ein weiterer und wichtiger Aspekt ist, dass unser DNS-System vor über 30 Jahren zum Schutz und zur Stabilität dezentral aufgebaut wurde. Leider gibt es zur Zeit nur sehr wenige DNS-Resolver, die  DoT und DoH unterstützten. Die bekanntesten und wahrscheinlich die grössten DoT- und DoH-DNS-Resolver werden von Google und Cloudflare zur Verfügung gestellt. Wenn sich diese beiden grossen DNS-Resolvern im DoH und DoT Bereich durchsetzen, kann dies zu neuen Gefahren führen.


Vorteile DoT

  • Verschlüsselt und Authentisiert

Vorteile DoH

  • Webserver kann gleich die benötigten DNS-Antworten der eingebundenen externen URLs mitliefern.

Nachteile DoT

  • TCP (höhere Latenz beim Verbindungsaufbau, TLS Handshake)
  • Kommunikation über TCP Port 853
  • Durch blockieren der Verbindungen von TCP Port 853 kann DoT unterbunden werden. Viele Systeme wechseln in diesem Fall auf die herkömmliche DNS-Abfrage ohne DoT (Fail Open Konfiguration).

Nachteile DoH

  • DoH wird meist durch die Applikation gemacht:
    • Der Browser verwendet dann nicht mehr die System-DNS-Einstellungen
    • DNS Traffic des Browsers kann nicht mehr auf dem Firmen-DNS kontrolliert werden
  • Getunnelt durch HTTPS: höhere Komplexität, Latenz im Verbindungsaufbau
  • Webserver kann gleich die benötigten DNS-Antworten der eingebundenen externen URLs mitliefern. Dabei kann er auch falsche DNS-Antworten liefern.

Wie sieht die Realität in der Schweiz aus?

Gemäss der Statistik von nic.ch haben aktuell nur 4.1% aller .ch-Domains DNSSEC im Einsatz. Da ist die Schweiz noch ein Entwicklungsland und hat grossen Nachholbedarf. Jedoch kann der Schutz im ersten Abschnitt, also zwischen Client und DNS-Resolver, mit DoT oder DoH sehr einfach umgesetzt werden.


Öffentliche DoT- und DoH-DNS-Resolver

Die Digitale Gesellschaft, welche sich für Freiheitsrechte in einer vernetzten Welt einsetzt, betreibt in der Schweiz öffentliche DNS-Resolver welche DoT und DoH unterstützten. Bei diesen DNS-Resolvern findet kein Logging und keine Traffic Analyse statt.

Die Server sind wie folgt erreichbar:
DoT-Server: dns.digitale-gesellschaft.ch:853
DoH-Server: dns.digitale-gesellschaft.ch/dns-query


Anleitungen

Wer sein Endgerät für DoT oder DoH konfigurieren möchte, findet hier eine Anleitung:
www.digitale-gesellschaft.ch/dns

Wer selbst ein DoT- und/oder DoH-DNS-Resolver betreiben möchte, findet hier einen Konfigurationsvorschlag:
github.com/DigitaleGesellschaft/DNS-Resolver


Weitere Informationen

Hier können weitere Informationen über diese beiden DNS-Resolver von der Digitalen Gesellschaft abgerufen werden:

Als Web-Artikel:
www.digitale-gesellschaft.ch/2019/04/11/oeffentliche-dns-over-tls-und-https-dns-resolver-neuer-service-der-digitalen-gesellschaft/

Als Video-Tipp: Hier gibt es detailliertere Informationen wie die DNS-Resolver aufgebaut sind.
www.youtube.com/watch?v=3LephDI-nmU

Der Beitrag DNS ist nicht gleich DNS erschien zuerst auf Tec-Bite.