Wstęp
Tradycyjne zapytania i odpowiedzi DNS są przesyłane przez protokół UDP lub TCP bez szyfrowania. Jest to narażone na podsłuchiwanie i podszywanie się (w tym filtrowanie internetowe przez DNS). Odpowiedzi pochodzących od resolverów rekurencyjnych są najbardziej narażone na niepożądane lub szkodliwe zmiany, a komunikacja między resolvemi rekurencyjnymi a wiarygodnymi serwerami nazw często obejmuje dodatkową ochronę.
Aby rozwiązać te problemy, Google Public DNS zapewnia rozdzielczość DNS przez połączenia TCP szyfrowane przy użyciu protokołu TLS, jak określono w RFC 7858. Tryb DNS-over-TLS zwiększa prywatność i bezpieczeństwo danych między klientami a rozwiązaniami. Uzupełnia to DNSSEC i chroni wyniki sprawdzone przez DNSSEC przed modyfikacją lub podszywaniem się pod klienta.
Jak to działa
System kliencki może używać DNS-over-TLS w jednym z 2 profili: ścisłej lub osobistej. W ramach ścisłego profilu prywatności użytkownik konfiguruje nazwę serwera DNS (nazwę domeny uwierzytelniania w RFC 8310) dla usługi DNS-over-TLS, a klient musi utworzyć bezpieczne połączenie TLS na porcie 853 z serwerem DNS. Jeśli nie uda się nawiązać bezpiecznego połączenia, jest to poważny błąd i klient nie uzyska żadnej usługi DNS.
W profilu prywatności o Narzędzie do rozpoznawania klienta próbuje nawiązać bezpieczne połączenie przez port 853 z określonym serwerem DNS. Jeśli nawiązać bezpieczne połączenie, zapewni to prywatność zapytań użytkownika pochodzących z pasywnych obserwatorów ścieżki. Ponieważ klient nie weryfikuje autentyczności serwera, nie jest on zabezpieczony przed aktywnym ataku. Jeśli klient nie może nawiązać bezpiecznego połączenia przez port 853, korzysta z komunikacji z serwerem DNS przez standardowy port DNS 53 przez UDP lub TCP bez dodatkowej ochrony. Wykorzystywanie prywatności operatywnej ma na celu wspieranie przyrostowego wdrażania zwiększonej prywatności z powodu powszechnego zastosowania rygorystycznego profilu prywatności.
Jeśli używasz rygorystycznego profilu prywatności, resolvery tworzą połączenie DNS-over-TLS, wykonując te czynności.
- Program do przenoszenia treści jest skonfigurowany przy użyciu nazwy resolvera DNS-over-TLS
dns.google
. - Narzędzie do rozpoznawania sprzężenia uzyskuje adresy IP
dns.google
na potrzeby lokalnego resolvera DNS. - Program do przenoszenia treści tworzy parę TCP z numerem 853 pod tym adresem IP.
- Program do przenoszenia nazw elementów inicjujących rozpoczyna uzgadnianie połączenia TLS z publicznym resolverem DNS Google.
- Publiczny serwer DNS Google zwraca certyfikat TLS wraz z pełnym łańcuchem certyfikatów TLS, aż do zaufanego certyfikatu głównego.
- Narzędzie do rozpoznawania wycinków weryfikuje tożsamość serwera na podstawie przedstawionych certyfikatów.
- Jeśli nie można zweryfikować tożsamości, rozpoznanie nazwy DNS nie powiedzie się, a resolver zwróci błąd.
- Po nawiązaniu połączenia przy użyciu protokołu TLS resolver ma bezpieczną ścieżkę komunikacji między publicznym serwerem DNS Google.
- Rozpoznawanie treści może teraz wysyłać zapytania DNS i otrzymywać odpowiedzi przez połączenie.
Gdy używany jest oporny profil prywatności, klient najpierw próbuje utworzyć bezpieczne połączenie TLS z serwerem. Odbywa się to podobnie jak powyżej, ale z jedną ważną różnicą – klient nie przeprowadza weryfikacji certyfikatu. Oznacza to, że tożsamość serwera nie jest zaufana. Jeśli nie można nawiązać połączenia TLS z portem 853 z serwerem, resolver wraca do komunikacji z serwerem DNS przez port 53.
Prywatność
Nasza polityka prywatności dotyczy usługi DNS-over-TLS.
27 czerwca 2019 roku ponownie włączyliśmy podsieć klienta EDNS (ECS) dla usługi DNS-over-TLS. ECS zostało wyłączone w momencie uruchomienia usługi.
Pomoc w zakresie standardów
Publiczny serwer DNS Google implementuje tryb DNS-over-TLS w oparciu o RFC 7858. Ponadto obsługujemy następujące zalecenia, aby zapewnić usługę DNS o wysokiej jakości i krótkim czasie oczekiwania.
- TLS 1.3 (RFC 8846)
- TCP Fast Open (RFC 7413)
- Wymagania DNS dotyczące przesyłania przez protokół TCP (RFC 7766)
Zacznij korzystać
Wykonaj te instrukcje, aby skonfigurować go na urządzeniu z Androidem 9 (Pie) lub nowszym.
Tryb DNS-over-TLS jest też obsługiwany tylko w przypadku usługi publicznej DNS64 tylko dla IPv6. Nie zalecamy konfigurowania DNS64 na urządzeniu mobilnym, które będzie przyłączone do wielu sieci, ponieważ DNS64 działa tylko wtedy, gdy jest dostępny IPv6.