Bei DNS over TLS werden DNS-Anfragen und -Antworten über eine mit TLS gesicherte Verbindung übertragen, die zwischen dem Client wie bspw. dem Webbrowser und dem Server des DNS-Anbieters aufgebaut wird. TLS (Transport Layer Security, weitläufiger bekannt unter der Vorgängerbezeichnung Secure Sockets Layer SSL) ist ein Verschlüsselungsprotokoll zur sicheren Datenübertragung im Internet. Der für DNS over TLS zum Verbindungsaufbau von der IETF standardisierte Port ist 853.[3]
Sicherheit
Die DNS-Abfrage ist in diesem Fall über das Verschlüsselungsprotokoll Transport Layer Security (TLS) gesichert und – im Gegensatz zum ungesicherten DNS – gegen Ausspähung und Manipulation durch einen Man-in-the-Middle-Angriff geschützt. Dadurch soll sowohl die Privatsphäre der Anwender vor Lauschern geschützt als auch die Einschleusung manipulierter DNS-Informationen verhindert werden. Zudem sollen damit Denial-of-Service-Attacken erschwert werden.[4]
Implementierungen
Auf Client-Seite wird DNS over TLS von Android ab Android P ohne Zusatzprogramme vom Betriebssystem direkt unterstützt.[5] Dabei erlaubt das Android Pie dem Nutzer, den bevorzugten DoT-Server explizit in den Einstellungen einzutragen. Das Betriebssystem Windows hat zurzeit keinen[6] eigenen Support für DoT, weswegen hier auf lokale DNS-Resolver gesetzt werden muss, die die DNS-Anfragen mittels des Localhost zuerst intern auf dem Client umleiten und dann zu den entsprechenden öffentlichen Servern weiterleiten. Auf Server-Seite wird es von verschiedenen Programmen unterstützt. So wird es in DNSDist von PowerDNS in der aktuellen Version 1.3.0. unterstützt.[7]Name Server Daemon unterstützt DoT seit Version 4.2.[8] Bei BIND ist es in Kombination mit dem Tool stunnel möglich, DNS over TLS zu verwenden.[9] Technitium DNS Servers hat bekannt gegeben, dass sie DNS over TLS seit Version 1.3 unterstützen.[10]
DNS over TLS wird mittlerweile frei verfügbar von mehreren öffentlichen DNS-Provider angeboten.
In Windows 11 previews ab Version 25158 ist es möglich, DNS-over-TLS (DoT) über die Konsole einzuschalten. Die Benutzung von DNS over HTTPS (DoH) ist bereits per Eingabe in die Standard-Netzwerk-Dialog-Eingabemaske des User Interface der regulären Windows-11-Version möglich. Dabei ist ebenfalls Discovery of Designated Resolvers (DDR) konfigurierbar.[11] DDR ist dabei für die automatische Konfiguration von DoH verantwortlich.[12][13]
DDR ist seit dem 22H2-Update im Windows stable Kanal, also dem Standard-Windows, enthalten.[14]
FreeBSD (und eines seiner Derivate NomadBSD), NetBSD und OpenBSD bieten die Möglichkeit, mit einem dedizierten lokalen Unbound daemon DNS over TLS zu betreiben.[15]
Seit MacOS Ventura und iOS 16 sind DoT sowie DoH mit dem DDR Encrypted Initial Kontakt standardmäßig benutzbar und ohne Konsolen Eingriff in MacOS nutzbar.[16]
Unterschiede zu anderen Protokollen
Standardmäßig werden DNS-Anfragen und Antworten unverschlüsselt mit UDP übertragen.
Für die Implementierung einer Verschlüsselung gibt es aktuell vor allem drei Optionen, nämlich:
Bei DNS over TLS werden normale DNS-Anfragen über einen TLS-Tunnel geschickt, während bei DNS over HTTPS eine HTTPS-Verbindung aufgebaut wird, über die die Kommunikation erfolgt. Dies führt dazu, dass – falls der DNS-Provider auf Port 443 zusätzlich eine Website anbietet – für einen Lauscher im Gegensatz zu DNS over TLS auch nicht ersichtlich ist, ob DNS-Anfragen gestellt oder Webinhalte abgerufen werden. Dafür ist DNS over TLS deutlich schneller. Drittens gibt es noch DNSCrypt, bei dem Anfragen und Antworten verschlüsselt direkt per UDP oder TCP übertragen werden.[17][18]
Literatur
Mark E. Jeftovic: Managing Mission – Critical Domains and DNS. S. 303; eingeschränkte Vorschau in der Google-Buchsuche
Michael Dooley, Timothy Roone: DNS Security Management. S. 168; eingeschränkte Vorschau in der Google-Buchsuche
Duane Wessels, John Heidemann, Liang Zhu, Allison Mankin, Paul Hoffman: RFC: 7858 – Specification for DNS over Transport Layer Security (TLS) [Errata: RFC 7858]. Mai 2016 (aktualisiert durch RFC 8310, englisch).
Einzelnachweise
↑ ab
Duane Wessels, John Heidemann, Liang Zhu, Allison Mankin, Paul Hoffman: RFC: 7858 – Specification for DNS over Transport Layer Security (TLS) [Errata: RFC 7858]. Mai 2016 (aktualisiert durch RFC 8310, englisch).
↑RFC: 8310 – Usage Profiles for DNS over TLS and DNS over DTLS. März 2018 (englisch).
↑Duane Wessels, John Heidemann, Liang Zhu, Allison Mankin, Paul Hoffman: RFC: 7858 – Specification for DNS over Transport Layer Security (TLS). Mai 2016, Abschnitt 3: Establishing and Managing DNS-over-TLS Sessions. (englisch).