DoT - DNS over TLS
Das Domain Name System (DNS) ist ein verteiltes System, das es Computern ermöglicht, einfach zu merkende Domain-Namen in IP-Adressen umzuwandeln. Außerdem können im Internet weitere Informationen dezentral bereitgestellt werden. Daher ist DNS ein wesentlicher Bestandteil des Internets und liefert wichtige Informationen für TCP/IP-Verbindungen.
Die Übertragung der Informationen aus dem DNS erfolgt in der Regel im Klartext und ohne nachprüfbaren Absender. Damit besteht die Gefahr, dass die DNS-Kommunikation von Dritten abgehört oder manipuliert werden kann. Um die Zuverlässigkeit, Sicherheit und den Datenschutz der Namensauflösung mit DNS zu verbessern gibt es mehrere Erweiterungen.
Eine Möglichkeit ist die Übertragung von DNS über TLS. Das Protokoll wird als DNS over TLS, kurz DoT, bezeichnet. Das Protokoll Transport Layer Security (TLS) ermöglicht eine sichere Kommunikation über ein TCP/IP-Netzwerk. TLS wird zur Authentifizierung von Gegenstellen und Verschlüsselung von Datenpaketen verwendet. Wenn die DNS-Kommunikation mit TLS verschlüsselt übertragen wird, dann wird sichergestellt, dass die DNS-Kommunikation nicht von Dritten abgehört oder manipuliert werden kann.
DNS mit Privacy und Security
Um Datenschutz und Sicherheit in der Kommunikation, sowie die Korrektheit der Daten im DNS zu gewährleisten, stehen verschiedene, teilweise konkurrierende Lösungen zur Verfügung.
- DoT - DNS over TLS
- DoH - DNS over HTTPS
- DoQ - DNS over QUIC
- DNSSEC
Es gibt keine „beste Lösung“ für die Sicherheitsprobleme von DNS. Alle Verfahren bieten zumindest teilweise eine Verbesserung, haben jedoch erhebliche Nachteile. Daher ist die Entwicklung in diesem Bereich noch nicht abgeschlossen. Man sollte auch bedenken, dass DNS eine zentrale Rolle im Internet spielt, weshalb Fehlfunktionen unbedingt vermieden werden müssen.
Welche Probleme löst DNS over TLS?
DNS over TLS, kurz DoT, soll drei Probleme lösen, die DNS und DNSSEC teilweise haben.
- Es soll die Privatsphäre der Anwender gegen Lauscher schützen.
- Das Einschleusen manipulierter DNS-Informationen soll verhindert werden.
- Es soll auch den Denial-of-Service-Attacken via DNS ein Ende setzen.
Funktionsweise von DNS over TLS
DoT | DoH | DoQ | DoH3 |
---|---|---|---|
HTTP/2 | HTTP/3 | ||
TLS | TLS | QUIC | QUIC |
TCP | TCP | UDP | UDP |
IP | IP | IP | IP |
Statt über ungesicherte UDP-Datenpakete ruft der Client mit DNS over TLS die DNS-Informationen über eine TCP-Verbindung vom DNS-Resolver ab. Dabei vereinbaren der Client und der Resolver einen Verbindungsaufbau. Danach erfolgt die Authentifizierung des Resolvers durch den Client. Anschließend besteht die Möglichkeit die DNS-Informationen verschlüsselt auszutauschen. Die DNS-Informationen können bei der Übertragung weder eingesehen noch manipuliert werden.
Optimalerweise sollten die DNS-Informationen mit DNSSEC validiert sein. DNS over TLS und DNSSEC ergänzen sich dabei.
Nachteile von DNS over TLS
Leider hat DNS over TLS ein paar Nachteile, die es zu berücksichtigen gilt.
- Zusätzlicher Verwaltungsanteil in der Kommunikation
- Konfiguration durch den Nutzer notwendig
- Fallback auf unsicheres DNS möglich
Zusätzlicher Verwaltungsanteil in der Kommunikation
Die unverschlüsselte DNS-Kommunikation erfolgt über das schlanke User Datagram Protocol (UDP). Durch die Authentifizierung und Verschlüsselung mit TLS muss die Verbindung aber mit dem Transmission Control Protocol (TCP) erfolgen. Beide zusammen, TCP und TLS, erfordern etwas mehr Zeit für den Verbindungsaufbau als nur UDP. Wenn eine Webseite, die mehrere Ressourcen von vielen unterschiedlichen Domain-Namen bezieht, dann zieht das viele Namensauflösungen nach sich, was bei der Verwendung von DHT die Darstellung der Webseite verzögert.
Um diesen Effekt zu reduzieren, werden über eine einmal geöffnete DoT-Verbindung möglichst viele DNS-Abfragen abgewickelt. So fällt der längere Verbindungsaufbau durch TCP und TLS nicht mehr so sehr ins Gewicht.
Die Nutzung von TLS Version 1.3 bringt zusätzliche Optimierungen mit, die DNS over TLS nahe an die Geschwindigkeit des klassischen DNS heranbringen. Zum Beispiel 0-RTT, asynchrone Kanäle, TCP Fast Open, TCP Connection Re-Use und Pipelining.
Konfiguration durch den Nutzer notwendig
Standardmäßig erfolgt die Namensauflösung über das Betriebssystem und über einen DNS-Server, der in der IP-Konfiguration im Betriebssystem hinterlegt ist.
Um DNS over TLS nutzen zu können, muss der Anwender die IPv4- und IPv6-Adressen eines DoT-fähigen DNS-Servers in Erfahrung bringen und in seine DNS-Konfiguration selber eintragen. Dazu muss das verwendete Betriebssystem DNS over TLS beherrschen. Wenn nicht, dann muss der Anwender den DoT-Client selber installieren. Alternativ besteht die Möglichkeit, dass die Namensauflösung mit DNS over TLS in einem Client direkt integriert ist und nicht über das Betriebssystem läuft.
Die beste Lösung wäre, wenn die Betriebssysteme, Internet-Zugangsrouter, DHCP-Clients und DHCP-Server die Namensauflösung mit DNS over TLS implementieren würden. Dann müsste sich der Anwender um nichts kümmern.
Fallback auf unsicheres DNS möglich
Der vielleicht größte Nachteil von DNS over TLS ist, dass ein Fallback auf unsicheres DNS möglich ist. Der Grund dafür ist, dass die DoT-Verbindung über den TCP-Port 853 erfolgt. Wird dieser Port blockiert, muss der Client die Namensauflösung über den UDP-Port 53 im Klartext machen. Für die Sicherheit ist das natürlich fatal, aber um die Funktion der Namensauflösung zu garantieren, nachvollziehbar.
Bei der Nutzung von DNS over TLS kann man sich also nicht sicher sein, dass die erhaltenen DNS-Informationen sicher übertragen wurden und verlässlich sind. Es gibt Netze und Firewalls, die unbekannte Port blockieren. Dazu gehört vielleicht auch Port 853. Obwohl der Anwender davon ausgeht, dass die Namensauflösung durch DNS over TLS sicher ist, fällt die DNS-Kommunikation auf ungesichertes DNS zurück, ohne das der Anwender etwas davon mitbekommt.
Fazit
Standardmäßig erfolgt die Namensauflösung über den im Betriebssystem implementierten DNS-Client. Der kümmert sich um die Namensauflösungen aller Software-Clients, die in dem Betriebssystem installiert sind. Von dort erfolgt die Namensauflösung über einen DNS-Server im lokalen Netzwerk und dann beim DNS-Server des Internet-Zugangsanbieters. Im Prinzip verläuft die Namensauflösung über eine natürlich gewachsene Vertrauenskette, die man als Anwender im Zweifelsfall überprüfen und bei Bedarf korrigieren kann.
Bei DNS over TLS kann es sein, dass die Namensauflösung in den Clients (z. B. ein Browser) und dann über irgendeinen dort hinterlegten DNS-Resolver erfolgt, wovon man aber nichts mitbekommt. Man hat dann keine Kontrollmöglichkeit. Weil die IP-Adressen vom Resolver im Client fest hinterlegt sind, kann man die nicht ändern. Der Client führt dabei eigene, unkontrollierbare Verbindungen, die ein Sicherheitsrisiko darstellen können.
Das heißt, auf der einen Seite soll DNS over TLS die Sicherheit erhöhen, die Implementierung kann aber wieder zu Sicherheitslücken führen. So gut die Idee von DNS over TLS auch ist, führt sie zu neuen Komplikationen, auf die man sich nur ungern einlässt. Beispielsweise der Fallback auf unsicheres DNS.
Übersicht: DNS mit Privacy und Security
- DoT - DNS over TLS
- DoH - DNS over HTTPS
- ODoH - Oblivious DNS over HTTPS
- DoQ - DNS over QUIC
- DNSSEC
Weitere verwandte Themen:
- DNS - Domain Name System
- DNS mit Privacy und Security
- Grundlagen der Netzwerk-Sicherheit
- TLS - Transport Layer Security
- TCP/IP
Lernen mit Elektronik-Kompendium.de
Noch Fragen?
Bewertung und individuelles Feedback erhalten
Aussprache von englischen Fachbegriffen
Netzwerktechnik-Fibel
Alles was du über Netzwerke wissen musst.
Die Netzwerktechnik-Fibel ist ein Buch über die Grundlagen der Netzwerktechnik, Übertragungstechnik, TCP/IP, Dienste, Anwendungen und Netzwerk-Sicherheit.
Netzwerktechnik-Fibel
Alles was du über Netzwerke wissen musst.
Die Netzwerktechnik-Fibel ist ein Buch über die Grundlagen der Netzwerktechnik, Übertragungstechnik, TCP/IP, Dienste, Anwendungen und Netzwerk-Sicherheit.
Artikel-Sammlungen zum Thema Netzwerktechnik
Alles was du über Netzwerktechnik wissen solltest.