Il DNS cifrato senza VPN nasconde la query, non il tuo indirizzo
Il DNS cifrato protegge un singolo scambio con un solo resolver. Non nasconde il tuo indirizzo e non acceca il resolver, quindi fissa l’obiettivo prima di leggere un test di fuga.
Un test di fuga DNS che mostra la tua rete domestica non è la prova che il DNS cifrato abbia fallito, e non è nemmeno la prova che qualcosa abbia funzionato. Il test risponde a una domanda: quale resolver ha ricevuto questa query da questa rete. Se sia un problema dipende da cosa e da chi stavi proteggendo.
Scrivi l’obiettivo prima di eseguire qualsiasi test.
Passo 1: nomina la protezione che vuoi davvero
Tre obiettivi si confondono. Forse vuoi che un osservatore sul percorso smetta di leggere le query. Forse vuoi che un certo resolver smetta di riceverle. Forse vuoi che i siti che visiti smettano di vedere il tuo indirizzo di casa. Il DNS cifrato serve il primo, cambia chi soddisfa il secondo e non fa assolutamente nulla per il terzo.
Una VPN serve il terzo e, a seconda del fornitore, il primo. Nessuno dei due strumenti è un sovrainsieme dell’altro.
Passo 2: scegli un resolver e verifica la sua identità
DNS over TLS avvolge la query in una sessione TLS con il resolver, e DNS over HTTPS la avvolge in una richiesta HTTP; RFC 7858 e RFC 8484 descrivono entrambi, e nessuno dei due richiede un tunnel. Operativamente conta che il certificato sia verificato rispetto al nome che hai configurato, perché una sessione cifrata con la parte sbagliata è peggio del testo in chiaro con quella giusta. Questo significa modalità rigorosa dove la piattaforma la offre, non una modalità opportunistica che ripiega quando la verifica fallisce. Controlla la sessione direttamente prima di fidarti dell’impostazione: openssl s_client -connect 9.9.9.9:853 -servername dns.quad9.net -brief.
Lo handshake dovrebbe nominare il resolver che hai configurato e restituire una catena che puoi verificare.
Passo 3: decidi il comportamento in caso di errore
Ogni implementazione ha una politica per un resolver cifrato irraggiungibile, e quella politica è la decisione sulla privacy. La modalità rigorosa fa fallire la risoluzione, il che è visibile e fastidioso. La modalità opportunistica riprova in chiaro, il che è invisibile e annulla lo scopo proprio il giorno in cui conta. Scegli deliberatamente, poi annota la scelta accanto al requisito.
Su systemd-resolved questo significa DNSOverTLS=yes invece di opportunistic; su Android significa la modalità nome host di Private DNS invece di automatica.
Controlla ciò che è realmente in vigore con resolvectl status | grep -i -A1 "dns over tls", perché un file drop-in che non è mai stato ricaricato non cambia nulla.
Passo 4: verifica che le applicazioni seguano il resolver di sistema
Un browser con la propria impostazione di DNS sicuro aggira del tutto la configurazione di sistema, e lo stesso fa un runtime di container con un resolver incorporato o un runtime di linguaggio che legge una lista codificata. O li fai seguire il sistema o li configuri esplicitamente e lo annoti. Poi guarda il comportamento di ripiego di ciascuno, perché non tutti falliscono in modo chiuso. L’inventario in pratica è breve: browser, runtime di container e qualunque client VPN che esegui anche.
I nomi privati dell’organizzazione restano sul resolver interno approvato. Inviarli a un servizio pubblico perché un test sembri ordinato crea di proposito un problema diverso.
Passo 5: leggi il test di fuga rispetto al requisito
Un test che segnala un resolver inatteso è un indizio, non un verdetto. Potrebbe aver osservato il resolver cifrato che intendevi, un’impostazione specifica di un’applicazione o un ripiego in chiaro che non conoscevi. Confronta il resolver segnalato con quello configurato al passo 2 e confronta il risultato con l’obiettivo del passo 1.
Se l’obiettivo era tenere le query lontane dalla rete locale, un test che mostra il tuo resolver abituale è una scoperta reale. Se l’obiettivo era l’anonimato durante la navigazione, nessuna impostazione DNS l’avrebbe mai fornito.
Scrivi la riga di accettazione nella lingua dell’obiettivo: queste risoluzioni usano questo resolver verificato in queste condizioni. Qualunque cosa di più ampio è un’affermazione che non puoi verificare.