Einführung
Herkömmliche DNS-Abfragen und -Antworten werden ohne Verschlüsselung über UDP oder TCP gesendet. Dies ist anfällig für Abhören und Spoofing (einschließlich DNS-basierter Internetfilterung). Antworten von rekursiven Resolvern an Clients sind am anfälligsten für unerwünschte oder schädliche Änderungen. Die Kommunikation zwischen rekursiven Resolvern und autoritativen Nameservern beinhaltet oft zusätzlichen Schutz.
Um diese Probleme zu beheben, bietet Google Public DNS die DNS-Auflösung über TLS-verschlüsselte TCP-Verbindungen gemäß RFC 7858. DNS-over-TLS verbessert den Datenschutz und die Sicherheit zwischen Clients und Resolvern. Dies ergänzt DNSSEC und schützt DNSSEC-validierte Ergebnisse vor Modifizierungen oder Spoofing auf dem Weg zum Client.
Funktionsweise
Ein Clientsystem kann DNS-over-TLS mit einem von zwei Profilen verwenden: strikt oder opportunistisch. Mit dem strengen Datenschutzprofil konfiguriert der Nutzer einen DNS-Servernamen (der Authentifizierungsdomainname in RFC 8310) für den DNS-over-TLS-Dienst. Der Client muss eine sichere TLS-Verbindung über Port 853 zum DNS-Server herstellen können. Wenn keine sichere Verbindung hergestellt wird, ist dies ein schwerwiegender Fehler und führt dazu, dass für den Client kein DNS-Dienst verfügbar ist.
Mit dem opportunistischen Datenschutzprofil kann die IP-Adresse des DNS-Servers direkt vom Nutzer konfiguriert oder vom lokalen Netzwerk (mithilfe von DHCP oder auf andere Weise) abgerufen werden. Der Client-Resolver versucht, über Port 853 eine sichere Verbindung zum angegebenen DNS-Server herzustellen. Wenn eine sichere Verbindung hergestellt wird, bietet dies Datenschutz für die Abfragen des Nutzers von passiven Beobachtern im Pfad. Da der Client die Authentizität des Servers nicht überprüft, ist er nicht vor einem aktiven Angreifer geschützt. Wenn der Client keine sichere Verbindung über Port 853 herstellen kann, greift er auf die Kommunikation mit dem DNS-Server am DNS-Standardport 53 über UDP oder TCP ohne Sicherheit oder Datenschutz zurück. Die Verwendung des opportunistischen Datenschutzes soll die schrittweise Bereitstellung eines erhöhten Datenschutzes mit Blick auf die flächendeckende Einführung des strengen Datenschutzprofils unterstützen.
Bei Verwendung eines strikten Datenschutzprofils stellen Stub-Resolver mit den folgenden Schritten eine DNS-over-TLS-Verbindung her.
- Der Stub-Resolver ist mit dem DNS-over-TLS-Resolver
dns.google
konfiguriert. - Der Stub-Resolver ruft die IP-Adressen für
dns.google
mit dem lokalen DNS-Resolver ab. - Der Stub-Resolver stellt an dieser IP-Adresse eine TCP-Verbindung zu Port 853 her.
- Der Stub-Resolver initiiert einen TLS-Handshake mit dem Google Public DNS-Resolver.
- Der Google Public DNS-Server gibt sein TLS-Zertifikat zusammen mit einer vollständigen Kette von TLS-Zertifikaten bis zu einem vertrauenswürdigen Root-Zertifikat zurück.
- Der Stub-Resolver überprüft die Identität des Servers anhand der bereitgestellten Zertifikate.
- Wenn die Identität nicht validiert werden kann, schlägt die DNS-Namensauflösung fehl und der Stub-Resolver gibt einen Fehler zurück.
- Nachdem die TLS-Verbindung hergestellt wurde, hat der Stub-Resolver einen sicheren Kommunikationspfad zwischen einem Google Public DNS-Server.
- Jetzt kann der Stub-Resolver DNS-Abfragen senden und Antworten über die Verbindung empfangen.
Wenn ein opportunistisches Datenschutzprofil verwendet wird, versucht der Client zuerst, eine sichere TLS-Verbindung zum Server herzustellen. Dies geschieht ähnlich wie oben, allerdings mit einem wichtigen Unterschied: Der Client führt keine Zertifikatsprüfung durch. Das bedeutet, dass die Identität des Servers nicht vertrauenswürdig ist. Wenn keine TLS-Verbindung zum Server über Port 853 hergestellt werden kann, spricht der Stub-Resolver über Port 53 mit dem DNS-Server.
Datenschutz
Für den DNS-over-TLS-Dienst gilt unsere Datenschutzerklärung.
Am 27.06.2019 haben wir das EDNS-Client-Subnetz (ECS) für den DNS-over-TLS-Dienst wieder aktiviert. ECS wurde bei der Einführung des Dienstes deaktiviert.
Unterstützung von Standards
Google Public DNS implementiert DNS-over-TLS gemäß RFC 7858. Darüber hinaus unterstützen wir die folgenden Empfehlungen, um einen qualitativ hochwertigen DNS-Dienst mit niedriger Latenz bereitzustellen.
- TLS 1.3 (RFC 8846)
- TCP Fast Open (RFC 7413)
- Anforderungen für die Implementierung von DNS-Transport über TCP (RFC 7766)
Jetzt verwenden
In der instructions findest du Informationen zur Konfiguration auf einem Gerät mit Android 9 (Pie) oder höher.
DNS-over-TLS wird auch für den reinen IPv6-Google Public DNS64-Dienst unterstützt. Es wird nicht empfohlen, DNS64 für ein Mobilgerät zu konfigurieren, das an mehrere Netzwerke angehängt wird, da DNS64 nur funktioniert, wenn IPv6 verfügbar ist.