Introduzione
Le query e le risposte DNS tradizionali vengono inviate tramite UDP o TCP senza crittografia. È vulnerabile a intercettazioni e spoofing (incluso il filtro Internet basato su DNS). Le risposte dei resolver ricorsivi ai client sono le più vulnerabili a modifiche indesiderate o dannose, mentre le comunicazioni tra resolver ricorsivi e server dei nomi autorevoli incorporano spesso protezione aggiuntiva.
Per risolvere questi problemi, il DNS pubblico di Google offre la risoluzione DNS tramite connessioni TCP criptate con TLS, come specificato da RFC 7858. DNS-over-TLS migliora la privacy e la sicurezza tra client e resolver. Questo completa le DNSSEC e protegge i risultati convalidati da DNSSEC da modifiche o spoofing durante il percorso verso il client.
Come funziona
Un sistema client può utilizzare DNS over TLS con uno dei due profili: privacy ritrata o opportunistica. Con il profilo di privacy restrittivo, l'utente configura un nome server DNS (il nome di dominio di autenticazione in RFC 8310) per il servizio DNS-over-TLS e il client deve essere in grado di creare una connessione TLS sicura sulla porta 853 al server DNS. La mancata creazione di una connessione protetta è un errore grave e determina l'assenza di servizi DNS per il client.
Con il profilo di privacy opportunistico, l'indirizzo IP del server DNS può essere configurato direttamente dall'utente o ottenuto dalla rete locale (utilizzando DHCP o altri mezzi). Il resolver client tenta di stabilire una connessione protetta sulla porta 853 al server DNS specificato. Se viene stabilita una connessione sicura, viene garantita la privacy per le query dell'utente effettuate da osservatori passivi lungo il percorso. Poiché il client non verifica l'autenticità del server, non è protetto da un utente malintenzionato attivo. Se il client non riesce a stabilire una connessione sicura sulla porta 853, torna a comunicare con il server DNS sulla porta DNS standard 53 tramite UDP o TCP, senza alcuna sicurezza o privacy. L'uso della privacy opportunità è inteso a supportare l'implementazione incrementale di una maggiore privacy in vista di un'adozione diffusa del profilo di privacy rigoroso.
Quando utilizzi un profilo di privacy con restrizioni, i resolver stub stabiliscono una connessione DNS over TLS con i seguenti passaggi.
- Il resolver stub è configurato con il nome del resolver DNS-over-TLS
dns.google
. - Il resolver stub ottiene gli indirizzi IP per
dns.google
utilizzando il resolver DNS locale. - Il resolver stub stabilisce una connessione TCP alla porta 853 relativa a quell'indirizzo IP.
- Il resolver stub avvia un handshake TLS con il resolver DNS pubblico di Google.
- Il server DNS pubblico di Google restituisce il certificato TLS insieme a una catena completa di certificati TLS fino a un certificato radice attendibile.
- Il resolver stub verifica l'identità del server in base ai certificati presentati.
- Se non è possibile convalidare l'identità, la risoluzione dei nomi DNS non riesce e il resolver stub restituisce un errore.
- Una volta stabilita la connessione TLS, il resolver stub dispone di un percorso di comunicazione sicuro tra un server DNS pubblico di Google.
- Ora il resolver stub può inviare query DNS e ricevere risposte sulla connessione.
Quando utilizza un profilo per la privacy opportunistico, il client tenta innanzitutto di creare una connessione TLS sicura al server. Questa operazione viene eseguita in modo analogo a quanto descritto sopra, con una differenza importante: il client non esegue alcuna convalida dei certificati. Ciò significa che l'identità del server non può essere considerata attendibile. Se non è possibile stabilire una connessione TLS sulla porta 853 verso il server, il resolver stub torna a comunicare con il server DNS sulla porta 53.
Privacy
Al servizio DNS-over-TLS si applicano le nostre norme sulla privacy.
Il 27/06/2019 abbiamo riattivato la sottorete client EDNS (ECS) per il servizio DNS-over-TLS. ECS è stato disabilitato al momento del lancio del servizio.
Supporto di standard
Google Public DNS implementa DNS over TLS in base al protocollo RFC 7858. Supportiamo inoltre i seguenti suggerimenti per fornire un servizio DNS a bassa latenza e di alta qualità.
- TLS 1.3 (RFC 8846)
- Apertura rapida TCP (RFC 7413)
- Requisiti di implementazione del trasporto DNS su TCP (RFC 7766)
Inizia a utilizzarlo
Consulta le instructions per configurarlo su un dispositivo con Android 9 (Pie) o versioni successive.
DNS-over-TLS è supportato anche per il servizio DNS64 pubblico Google riservato a IPv6. Tieni presente che non è consigliabile configurare DNS64 per un dispositivo mobile che si collega a più reti, in quanto DNS64 funziona solo quando è disponibile IPv6.