DNS over HTTPS (DoH) è un protocollo lanciato nel 2018 che promette di migliorare la riservatezza delle comunicazioni. È attivabile da tempo sui singoli browser web, ma ora è supportato nativamente da Windows 10 stesso: una volta attivato, funziona quindi con qualsiasi programma, senza bisogno di configurare altro. DNS over HTTPS costituisce un avanzamento tecnologico notevole, ma la sua reale portata è stata sopravvalutata. In questo articolo vedremo dunque perché DNS over HTTPS non nasconde i siti che visiti al datore di lavoro, provider o amministratore rete

DNS over HTTPS (DoH): cosa è, cosa serve - No, non nasconde siti visiti datore lavoro, provider amministratore rete - dns over https spotlight

Questa guida è incentrata sul funzionamento di DNS over HTTPS, i relativi punti di forza, a cosa serva e cosa, invece, non permetta di fare. Per la guida pratica all'attivazione di DNS over HTTPS su Windows 10, puoi consultare quest'altro approfondimento dedicato:

» Leggi: Come attivare DNS over HTTPS (DoH) sul PC Windows 10 e crittografare la risoluzione dei nomi a dominio

La risoluzione dei nomi a dominio avviene "in chiaro"

Durante il quotidiano accesso ad Internet, il browser web e gli altri programmi contattano numerosi domini, come turbolab.it (per leggere questa guida), google.com quando facciamo ricerche oppure facebook.com, twitter.com e quant'altro. Prima di contattare i server che erogano queste risorse, però, è necessario che il sistema operativo scopra il relativo indirizzo IP del server in questione.

Per scoprire (tecnicamente: risolvere) l'indirizzo IP associato ad un determinato dominio, il sistema operativo interroga un server DNS: una sorta di "elenco telefonico" che associa i nomi a dominio ai corrispondenti indirizzi IP.

In assenza di DNS over HTTPS, richiesta e risposta DNS avvengono "in chiaro": il provider di connettività Internet (ISP), il gestore della rete che usiamo e chiunque altro riesca ad intercettare (sniffare) la comunicazione potrà dunque sempre sapere quali domini sono stati richiesti e a quali indirizzi IP corrispondano.

Per verificarlo, ho esplicitamente sniffato la comunicazione del mio PC portatile. Nella schermata qui sotto, ad esempio, vediamo che il computer in questione ha interrogato il server DNS al fine di risolvere (cioè: conoscere l'indirizzo IP) prima il dominio turbolab.it e, poco dopo, facebook.com

DNS over HTTPS (DoH): cosa è, cosa serve - No, non nasconde siti visiti datore lavoro, provider amministratore rete

Questa trasparenza fa sì che sia prassi consolidata, per il gestore di rete e taluni provider, salvare copia di tutte le richieste DNS in lunghi log. Questo consente all'amministratore di sapere quali nomi a dominio sono stati richiesti dai singoli dispositivi della rete. Un mio contatto, che lavora come amministratore di rete presso un importante ente italiano, mi ha mostrato un lungo elenco di tutti i siti visitati dagli impiegati tramite i PC di lavoro. Ogni sito era chiaramente associato alla postazione (e, di conseguenza, all'impiegato che ne fa uso) dalla quale si era originata la richiesta. La procedura è implementata in modo che sia perfettamente legale.

C'è un'altra criticità: il client (PC, smartphone,ecc) che riceve la risposta non ha modo di verificare che detta risposta provenga effettivamente dal server DNS che ha interrogato. Di conseguenza, il provider o il gestore della rete potrebbe modificare o sabotare il messaggio di risposta a propria discrezione, magari bloccandola del tutto per poi rispondere con un indirizzo IP inesistente o addirittura truffaldino.

DNS over HTTPS: Risoluzione dei nomi a dominio crittografata

DNS over HTTPS risolve esattamente questi problemi: la risoluzione dei nomi a dominio viene crittografata e nessuno, nemmeno il gestore della rete o il provider Internet, può sapere quali nomi a dominio sono stati richiesti e con indirizzi IP corrispondenti abbia risposto il server DNS

DNS over HTTPS (DoH): cosa è, cosa serve - No, non nasconde siti visiti datore lavoro, provider amministratore rete

Oltre alla riservatezza dell'informazione, c'è un altro beneficio importante: poiché il traffico è crittografato, non è possibile alterare o sabotare la comunicazione. Il client può quindi sempre verificare che la risposta provenga effettivamente dallo specifico server DNS che ha contattato, e che non sia stata modificata in alcun modo.

Infine: un server DNS che supporti DNS over HTTPS utilizza la porta 443 invece della tradizionale porta 53 storicamente utilizzata dal servizio DNS "tradizionale". Poiché la porta 443 è la stessa utilizzata per contattare i siti web tramite il protocollo https://, i due tipi di comunicazione (richieste DNS e traffico web) sono più difficili da distinguere: diventa dunque più difficile, per il gestore, bloccare selettivamente talune risorse.

No, non nasconde i siti che visiti al datore di lavoro, provider o amministratore rete

Il fatto che DNS over HTTPS crittografi il traffico DNS è stato interpretato da alcuni come una rivoluzione in termini di privacy. In realtà, non è esattamente così.

Iniziamo puntualizzando che, attivando DNS over HTTPS, richiesta e risposta sono veramente crittografate e risultano invisibili al gestore di rete. Non c'è modo, per l'amministratore, di scoprire quale domini siano stati richiesti e quali risposte abbia fornito il server DNS interrogato.

Ma vi sono alcune importanti precisazioni da fare.

Server DNS interno, server DNS esterno

Innanzitutto, la crittografia è applicata solamente al traffico di rete. Il gestore del server DNS interrogato potrà invece sempre conoscere quali richieste di risoluzione sono state sottoposte. Tali richieste sono inoltre facilmente loggabili, e associate all'indirizzo IP di origine.

Di conseguenza: se il gestore della rete è anche il gestore del server DNS consultato, potrà continuare a sapere quali domini sono stati richiesti, e da chi, semplicemente consultando il log del server DNS.

Per evitare questa situazione è dunque necessario scegliere un server DNS esterno alla rete, come quelli offerti da Google, OpenDNS, Cloudflare eccetera:

» Leggi: I migliori server DNS alternativi per navigare velocemente e sbloccare i siti censurati

L'indirizzo IP delle risorse contattate rimane visibile

Ma c'è un problema ben più rilevante. Se è vero che il traffico DNS è crittografato, la successiva connessione mostra comunque l'indirizzo IP contattato. Ricordiamo infatti che la richiesta di risoluzione del nome a dominio serve solamente a scoprire l'indirizzo IP, ma il client deve poi contattare detto indirizzo IP per ottenere la risorsa desiderata. Chiariamo con un esempio:

  1. attivo DNS over HTTPS sul PC e scelgo un server DNS esterno alla rete locale
  2. immetto nel browser web il dominio www.turbolab.it per visitare questo sito
  3. il sistema operativo contatta il server DNS configurato, tramite DNS over HTTPS, e richiede la risoluzione del dominio nel relativo indirizzo IP
  4. il server DNS risponde con l'indirizzo IP 95.141.36.145
  5. il sistema operativo contattata tale indirizzo IP, che risponde con una pagina HTML
  6. il browser web interpreta tale pagina HTML e la mostra all'utente

Ebbene: DNS over HTTPS crittografa e nasconde solamente i punti 3 e 4. Il punto 5, invece, rimane perfettamente visibile al gestore della rete, che può facilmente vedere che il client ha contattato l'indirizzo IP 95.141.36.145. Ispezionando di nuovo il traffico del PC precedente, con DNS over HTTPS attivo, otteniamo questa cattura:

DNS over HTTPS (DoH): cosa è, cosa serve - No, non nasconde siti visiti datore lavoro, provider amministratore rete

L'indirizzo IP della risorsa contattata, 95.141.36.145, rimane quindi visibile al gestore della rete. Questa informazione può essere utilizzata per avanzare una richiesta DNS inversa (rDNS), cioè una risoluzione "al contrario", che permette di vedere quale dominio sia associato ad un particolare indirizzo IP. Tramite un tool come mxtoolbox.com otteniamo quanto segue:

DNS over HTTPS (DoH): cosa è, cosa serve - No, non nasconde siti visiti datore lavoro, provider amministratore rete

Ecco quindi scoperto quale sito è stato visitato, nonostante fosse attivo DNS over HTTPS.

La situazione è analoga se l'utente visita Facebook:

DNS over HTTPS (DoH): cosa è, cosa serve - No, non nasconde siti visiti datore lavoro, provider amministratore rete

C'è da dire che non tutti i domini pubblicano esplicitamente il proprio record PTR, ovvero l'informazione necessaria per eseguire un'interrogazione Reverse DNS. È raccomandato, e considerata una "best practice", ma non è obbligatorio.

Vi sono altri modi di superare questa limitazione, ma già questa specifica circostanza, da sola, va tenuta bene a mente.

Attenzione ad HTTP!

Un altro aspetto da tenere a mente è l'uso di HTTP o HTTPS. Di nuovo: l'uso di DNS over HTTPS nasconde il traffico DNS, ma se poi richiediamo un sito tramite HTTP invece di HTTPS, il traffico è perfettamente trasparente: sia il nome del sito richiesto, sia la risposta e tutti i dati scambiati

DNS over HTTPS (DoH): cosa è, cosa serve - No, non nasconde siti visiti datore lavoro, provider amministratore rete

Conclusioni

In questo articolo abbiamo visto che cosa è e come funziona DNS over HTTPS. Si tratta indubbiamente di un avanzamento importante in termini di privacy, ma è importante ricordare che, contrariamente a quanto sostengono alcuni articoli che ho letto, non è vero che "nasconde i siti che visiti al datore di lavoro, provider o amministratore rete".

Se questo è il nostro scopo, la soluzione è l'utilizzo di una VPN.