DNS over TLS (DoT) is a network protocol that encrypts DNS traffic between clients and resolvers using Transport Layer Security on TCP port 853, as defined in RFC 7858, protecting queries from being read or altered by on-path observers. While DoT closes the security gap on the client-to-resolver hop by wrapping standard DNS messages in encrypted TLS sessions, it introduces operational challenges including certificate validation failures, potential silent fallback to plaintext in opportunistic mode, and connection handling overhead on resolvers. Organizations must balance DoT's ease of port-based management and visibility compared to alternatives like DoH with careful policy planning to prevent resolution outages and ensure that encrypted queries are directed to approved resolvers rather than bypassing internal DNS filtering and security controls.
So funktioniert DNS über TLS
DoT überträgt gewöhnliche DNS-Nachrichten über eine verschlüsselte TLS-Sitzung statt im Klartext. Das Format der DNS-Nachrichten ändert sich nicht; lediglich der Transportweg ändert sich.
- Eine TCP-Verbindung herstellen: Der Client verbindet sich mit dem Resolver über den TCP-Port 853, den in RFC 7858 für DoT reservierten Port.
- TLS-Handshake abschließen: Der Client und der Resolver handeln TLS-Parameter aus, und der Resolver legt ein Zertifikat vor. Je nach Nutzungsprofil gemäß RFC 8310 überprüft der Client entweder die Identität des Resolvers (strikt) oder akzeptiert eine nicht authentifizierte Sitzung (opportunistisch).
- Senden der Anfrage: Der Client sendet eine Standard-DNS-Nachricht über die verschlüsselte Sitzung, der wie bei DNS over TCP ein zwei Byte langes Längenfeld vorangestellt ist.
- Empfang der Antwort: Der Resolver gibt die DNS-Antwort über dieselbe Sitzung zurück. Ein Beobachter auf dem Übertragungsweg sieht nur verschlüsselten Datenverkehr.
- Sitzung wiederverwenden oder schließen: Der Client kann die Verbindung offen halten und weitere Abfragen darüber senden, wodurch vermieden wird, dass der Handshake bei jeder Abfrage wiederholt werden muss.
DoT schützt nur die Verbindung zwischen dem Client und dem Resolver. Die eigenen Abfragen des Resolvers an autoritative Server stellen einen separaten Pfad dar und werden von DoT nicht abgedeckt. DoT überprüft zudem keine Antworten; dies ist die Aufgabe von DNSSEC.
Häufige Probleme mit DNS-over-TLS
Viele Firewalls und Gastnetzwerke blockieren ausgehende TCP-Verbindungen auf Port 853, sodass DoT-Abfragen eine Zeitüberschreitung verursachen. Im strengen Modus kann es dann vorkommen, dass der Client Namen nicht auflösen kann, und im opportunistischen Modus kann er stillschweigend auf Klartext zurückgreifen.
Im strengen Modus muss das Resolver-Zertifikat mit dem konfigurierten Namen übereinstimmen und eine Zertifikatskette zu einer vertrauenswürdigen Zertifizierungsstelle (CA) aufweisen. Ein abgelaufenes Zertifikat, ein fehlendes Zwischenzertifikat oder eine interne Zertifizierungsstelle, der die Clients nicht vertrauen, führt zu Handshake-Fehlern und Ausfällen bei der Auflösung.
Opportunistische Clients, die keine TLS-Sitzung aufbauen können, senden Abfragen möglicherweise ohne Vorwarnung unverschlüsselt. Benutzer glauben, dass das DNS geschützt ist, während Beobachter auf dem Übertragungsweg die Daten weiterhin lesen können.
Verschlüsselte Abfragen, die an einen externen Resolver gesendet werden, umgehen interne DNS-Filterung, Protokollierung und Split-Horizon-Antworten. Interne Namen geben „NXDOMAIN“ zurück, oder Richtlinienkontrollen werden übersprungen, bis die Clients auf einen zugelassenen DoT-Resolver umgeleitet werden.
Resolver, die DoT beenden, müssen viele langlebige TCP- und TLS-Sitzungen offen halten. Zu niedrige Verbindungslimits oder Timeouts bei Inaktivität führen zu Rücksetzungen und zusätzlicher Latenz bei Abfrage-Spitzen.