DNS flush: come cancellare la cache DNS

Chi naviga nel World Wide Web, dissemina moltissime impronte: questa è ormai cosa nota anche a molti utenti inesperti. I gestori dei siti utilizzano tecnologie come cookie o applicazioni JavaScript per registrare il comportamento dei visitatori. I dati che ne ricavano vengono utilizzati per l’ottimizzazione del sito web e per la personalizzazione dei contenuti, senza che gli utenti svelino attivamente i propri dati personali. Per questo motivo molti navigatori ricorrono sempre più ad Ad blocker e a programmi per bloccare JavaScript, oltre che a proxy, o cancellano la cronologia del browser e i cookie per porre fine alla raccolta dei dati. In questo modo proteggono la propria sfera privata.

Tuttavia pochi utenti sono consapevoli del fatto che anche i sistemi operativimemorizzano informazioni sul proprio comportamento in rete: la cache DNS generata automaticamente contiene ad esempio record temporanei su tutti i siti visitati. Nei seguenti paragrafi scoprite che cosa comprende la cache esattamente e perché è utile per diversi motivi cancellare regolarmente la cache DNS.

Che cos’è la cache DNS?

Per poter convertire i nomi di dominio come www.example.com in indirizzi numerici, di modo da poter essere elaborati dai sistemi dei computer, vengono utilizzati i noti server DNS. Questi “name server” vengono contattati di default tutte le volte che si apre il relativo sito dal browser, cosa che aumenta leggermente i tempi di caricamento, ma può portare anche a un sovraccarico del server DNS nel caso di un elevato numero di visitatori. Si verificano così delle conseguenze spiacevoli e frequenti come i messaggi di errore “Il server DNS non risponde”.

I sistemi operativi come Windows e macOS si basano per questo motivo su una propria cache per salvare gli indirizzi già visitati e quelli già risolti, cioè la cache DNS. Qui sono memorizzate tutte le informazioni rilevanti per la risoluzione dei nomi di dominio, dove ogni record è valido per un determinato intervallo di tempo (TTL: Time to live). All’interno di questo intervallo vengono date risposte alle relative richieste direttamente dalla cache senza dover passare per il server DNS.

N.B.

Anche le diverse applicazioni come il browser e i name server degli Internet Service Provider hanno una propria cache DNS per accelerare la risoluzione dei nomi di dominio.

Quali sono le informazioni presenti nella cache DNS?

Le unità di informazione o record nella cache DNS si chiamano Resource Records (RR) e vengono presentate come codice ASCII (in una forma compressa). Tra i diversi componenti, in parte solo opzionali, rientrano anche i seguenti:

  • Resource Data (rdata): i dati che descrivono il record, ad esempio l’indirizzo o il nome host.
  • Record Type: il tipo del record creato, ad esempio “A”, cioè l’indirizzo IPv4 (valore decimale: 1) o “AAAA”, cioè l’indirizzo IPv6 (valore decimale: 28).
  • Record Name (opzionale): nome del dominio dell’oggetto per il quale è stato creato il record DNS.
  • Time to live (opzionale): durata di validità del Resource Record espressa in secondi.
  • Class (opzionale): gruppo di protocollo a cui appartiene il RR (principalmente “IN” per Internet).
  • Resource Data Length (opzionale): valore che indica la lunghezza dei Resource Data.

La cache DNS contiene quindi l’indirizzo IP del rispettivo dominio o del rispettivo host, oltre che alcuni campi aggiuntivi che lo specificano, come la durata di validità del record o il gruppo di protocollo appropriato. Un record per il dominio www.example.com (IPv4: 172.27.171.106), che dovrebbe essere valido per un’ora, si presenta ad esempio così:

www.example.com.    3600  IN  A  172.27.171.106

Perché serve eseguire regolarmente un DNS flush?

Come già scritto all’inizio, è utile svuotare regolarmente la cache DNS. Tuttavia l’operazione non avviene automaticamente: i record rimangono nella cache fin tanto che il TTL definito non sia scaduto. Indipendentemente dalla durata di validità dei singoli record, ci sono in particolare tre motivi per attivarsi e impostare nuovamente il registro DNS tramite DNS flush:

    1. Nascondere le abitudini di navigazione: anche se il tracciamento del comportamento utente nel World Wide Web avviene soprattutto tramite cookie, JavaScript e altre tecnologie, la cache DNS offre comunque un potenziale obiettivo per tutti quelli che raccolgono dati. Sulla base degli indirizzi registrati, comprensivi delle informazioni aggiuntive come durata di validità (se fornita), si può ottenere infatti una panoramica generale sulla cronologia delle paginevisitate. In ogni caso il vostro archivio degli indirizzi svela quali progetti aprite sempre o quelli che avete visitato dopo molto tempo. Più la raccolta degli indirizzi salvati nella cache sarà ampia, più rivelerete informazioni su di voi.
       
    2. Sicurezza contro la manipolazione: anche per motivi di sicurezza dovreste cancellare di tanto in tanto la cache DNS. Le informazioni della cache sono pratiche al momento di visualizzare progetti web, ma se finiscono nelle mani sbagliate si trasformano in fretta in un’arma pericolosa. Se i cybercriminali riescono a ottenere l’accesso alla cache DNS sono in grado di manipolare i record e indirizzarvi ad esempio su siti falsi. Con questo DNS poisoning o anche DNS spoofing si possono spesso intercettare dati di login sensibili, ad esempio quelli dell’online banking. Con un DNS flush vi sbarazzate facilmente anche di questi record manipolati.
       
    3. Risolvere i problemi tecnici: il DNS flush su Windows, macOS e gli altri sistemi operativi è inoltre spesso una soluzione efficace, se si verificano problemi tecnici aprendo le applicazioni web. Così è ad esempio possibile che venga mostrata una versione falsa del sito per via di record datati. In un caso simile il nome di dominio è probabilmente registrato nella cache con un indirizzo IP falso o antecedente, situazione che si può risolvere cancellando la cache DNS. Di conseguenza la richiesta viene inoltrata di nuovo al server DNS competente e non viene data risposta dalla cache. Ora con le informazioni di indirizzo aggiornate anche la connessione al progetto web funziona come previsto.
Consiglio

Potete visualizzare in qualsiasi momento la cache DNS memorizzata sul vostro sistema attualmente. Su Windows basta aprire il prompt dei comandi e inserire “ipconfig /displaydns“.

Cancellare la cache DNS: come funziona

Non ci sono regole precise con cui si può stabilire il momento perfetto per eseguire un DNS flush, a meno che non ci sia un problema tecnico acuto che si può risolvere svuotando la cache. Inoltre dovreste svuotare subito la cache DNS se notate che venite reindirizzati a una pagina che non avete richiesto. In questo caso non deve per forza trattarsi di un attacco di spoofing basato su un record DNS manipolato, ma siccome non si può totalmente escludere, in casi simili si consiglia di eseguire un DNS flush il prima possibile.

N.B.

Indipendentemente che cancelliate lacache DNS per un determinato motivo o a scopo preventivo, non dovete comunque preoccuparvi che la vostra esperienza sul web ne risenta in qualche modo. Infatti solo quando aprite un sito per la prima volta dopo il reset della cache potrebbe volerci un po’ più di tempo, dato che prima veniva caricata sulla base dei Resource Record memorizzati.

Dato che l’esecuzione di un DNS flush varia a seconda del sistema in uso, nei paragrafi successivi abbiamo inserito le diverse istruzioni per i singoli sistemi operativi.

 

Windows 7: istruzioni per eseguire il DNS flush

Gli utenti di Windows 7 possono eseguire un DNS flush dal prompt dei comandi. Per aprirlo cliccate sul pulsante Home di Windows e digitate “cmd” nella barra di ricerca. Così avviate il tool della riga di comando, premendo il tasto invio o Enter.

Date il seguente comando:

ipconfig /flushdns

Cliccando di nuovo sul tasto Enter, Windows cancella la cache DNS. Subito dopo ricevete un messaggio che vi avvisa che il processo di svuotamento della cache è andato a buon fine.

Windows 8: come eseguire un DNS flush

Anche su Windows 8 lo strumento da utilizzare per un DNS flush è il prompt dei comandi. Prima di tutto aprite il menu Start dal pulsante Home e poi avviate la ricerca cliccando sul simbolo della lente di ingrandimento. Inserite “cmd” e selezionate il prompt dei comandi con un click sul tasto sinistro del mouse.

Per cancellare la cache DNS date il comando illustrato in precedenza:

ipconfig /flushdns

Dopo avviate il processo di cancellazione confermando con il tasto Enter. Un messaggio della riga di comando vi informa che il DNS flush è andato a buon fine.

Windows 10: come svuotare la cache DNS

Il prompt dei comandi funziona anche su Windows 10 secondo lo schema solito e si differenzia di pochissimo dalla procedura utilizzata su Windows 7 e 8: nel primo passaggio ricorrete alla funzione di ricerca per trovare cmd, l’applicazione della riga di comando.

Ora con il comando “ipconfig/flushdns“ svuotate la cache DNS:

Se il procedimento funziona correttamente, il prompt dei comandi vi avvisa che la cancellazione è andata a buon fine.

Eseguire il DNS flush su Linux: come funziona

I sistemi Linux non dispongono di default di una cache DNS. Le diverse distribuzioni offrono una funzione per memorizzare in locale le informazioni DNS nella cache solo utilizzando apposite applicazioni come nscd (Name Service Caching Daemon), pdnsd, dns-clean o dnsmasq. Qualora usiate uno di questi servizi per il caching, per svuotare la cache dovete dare i comandi dal terminale.

Per pdnsd c’é un comando specifico per la cancellazione:

sudo pdnsd-ctl empty-cache

Per cancellare la cache con i programmi dnsmasq, dns-clean o nscd, si riavvia completamente il relativo servizio:

sudo /etc/init.d/dnsmasq restart
sudo /etc/init.d/nscd restart
sudo /etc/init.d/dns-clean restart

Come funziona il DNS flush su Mac

Di fabbrica macOS ha come Windows una cache DNS integrata che raccoglie automaticamente informazioni DNS e che perciò dovrebbe essere svuotata regolarmente. A differenza dei sistemi Microsoft, il comando per il reset della cache varia però a seconda della versione in uso. Quindi quello che dovete inserire nel terminale per impostare nuovamente il registro DNS, dipende dall’edizione con la quale lavorate:

macOS 10.12.0 (Sierra):

sudo killall -HUP mDNSResponder

OS X 10.10.4 (Yosemite) e 10.11.0 (El Capitan):

sudo dscacheutil -flushcache;
sudo killall -HUP mDNSResponder

OS X 10.10.1 fino a 10.10.3 (Yosemite):

sudo discoveryutil mdnsflushcache
sudo discoveryutil udnsflushcaches

OS X 10.9.0 (Mavericks):

sudo dscacheutil -flushcache;
sudo killall -HUP mDNSResponder

Abbiamo una proposta per te:
Web hosting a partire da 1 €/mese!

Dominio gratis
Certificato SSL Wildcard incluso
Assistenza clienti 24/7
A partire da 1 €/mese IVA escl. per un anno,
poi 8 €/ mese IVA escl.