DNS-over-TLS

Wstęp

Tradycyjne zapytania i odpowiedzi DNS są wysyłane przez UDP lub TCP bez szyfrowania. Jest to szczególnie narażone na podsłuch i podszywanie się (w tym filtrowanie internetu oparte na DNS). Odpowiedzi klientów za pomocą resolvera rekurencyjnego są najbardziej narażone na niepożądane lub szkodliwe zmiany. Komunikacja między rekurencyjnymi resolverami a autorytatywnymi serwerami nazw często obejmuje dodatkową ochronę.

Aby rozwiązać te problemy, Google Public DNS oferuje rozpoznawanie nazw DNS przez połączenia TCP z szyfrowaniem TLS zgodnie z opisem w RFC 7858. DNS-over-TLS zwiększa prywatność oraz bezpieczeństwo połączenia między klientami i resolverami. Uzupełnia to DNSSEC i chroni wyniki zweryfikowane przez DNSSEC przed modyfikacją lub podszywaniem się w drodze do klienta.

Jak to działa

System klienta może używać DNS-over-TLS z jednym z 2 profili: prywatności rygorystycznej lub oportunistycznej. W przypadku rygorystycznego profilu prywatności użytkownik konfiguruje nazwę serwera DNS (nazwę domeny uwierzytelniania w dokumencie RFC 8310) dla usługi DNS-over-TLS, a klient musi mieć możliwość utworzenia bezpiecznego połączenia TLS z serwerem DNS przez port 853. Brak bezpiecznego połączenia to poważny błąd, który uniemożliwi klientowi wyłączenie usługi DNS.

W przypadku oportunistycznego profilu prywatności adres IP serwera DNS może zostać skonfigurowany bezpośrednio przez użytkownika lub uzyskany z sieci lokalnej (za pomocą DHCP lub innej metody). Program do rozpoznawania klientów próbuje nawiązać bezpieczne połączenie na porcie 853 z podanym serwerem DNS. Nawiązanie bezpiecznego połączenia zapewnia prywatność zapytań użytkowników od pasywnych obserwatorów na ścieżce. Klient nie weryfikuje autentyczności serwera, dlatego nie jest chroniony przed aktywnym intruzem. Jeśli klient nie może nawiązać bezpiecznego połączenia przez port 853, wraca do komunikacji z serwerem DNS na standardowym porcie DNS 53 przez UDP lub TCP bez żadnych zabezpieczeń i prywatności. Stosowanie ochrony prywatności oportunistycznej ma na celu stopniowe wdrażanie bardziej restrykcyjnej ochrony prywatności w celu powszechnego przyjęcia rygorystycznego profilu prywatności.

Jeśli używasz rygorystycznego profilu prywatności, resolvery nawiązują połączenie DNS przez protokół TLS w następujący sposób.

  1. Program do rozpoznawania namiastek jest skonfigurowany z nazwą resolvera DNS-over-TLS dns.google.
  2. resolver uzyskuje adresy IP dla serwera dns.google za pomocą lokalnego resolvera DNS.
  3. resolver nawiązuje połączenie TCP z portem 853 w tym adresie IP.
  4. resolver inicjuje uzgadnianie połączenia TLS z publicznym resolverem DNS Google.
  5. Publiczny serwer DNS Google zwraca certyfikat TLS wraz z pełnym łańcuchem certyfikatów TLS aż do zaufanego certyfikatu głównego.
  6. Jest używany do weryfikacji tożsamości serwera na podstawie przedstawionych certyfikatów.
    • Jeśli nie można zweryfikować tożsamości, rozpoznawanie nazw DNS nie powiedzie się, a resolver zwraca błąd.
  7. Po nawiązaniu połączenia TLS program do rozpoznawania wycinków korzysta z bezpiecznej ścieżki komunikacji między publicznym serwerem DNS Google.
  8. Teraz resolver może wysyłać zapytania DNS i otrzymywać odpowiedzi przez połączenie.

Jeśli użytkownik korzysta z oportunistycznego profilu prywatności, klient najpierw próbuje nawiązać bezpieczne połączenie TLS z serwerem. Odbywa się to podobnie jak w przypadku powyższej różnicy, 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 na porcie 853 z serwerem, resolver wraca do komunikacji z serwerem DNS na porcie 53.

Prywatność

W przypadku usługi DNS-over-TLS obowiązuje nasza polityka prywatności.

27 czerwca 2019 r. ponownie włączyliśmy podsieć klienta EDNS (ECS) na potrzeby usługi DNS-over-TLS. Proces ECS został wyłączony podczas uruchamiania usługi.

Pomoc w zakresie standardów

Publiczny DNS Google implementuje protokół DNS-over-TLS na podstawie RFC 7858. Oprócz tego obsługujemy poniższe rekomendacje, aby zapewnić wysokiej jakości usługę DNS o krótkim czasie oczekiwania.

Zacznij korzystać

Zapoznaj się z instructions konfigurowania tej funkcji na urządzeniu z Androidem 9 (Pie) lub nowszym.

Tryb DNS-over-TLS jest też obsługiwany w przypadku publicznej usługi DNS Google64 obejmującej tylko protokół IPv6. Nie zalecamy konfigurowania DNS64 na urządzeniu mobilnym, które ma być podłączone do wielu sieci, ponieważ DNS64 działa tylko wtedy, gdy dostępny jest protokół IPv6.