1.1.1.1 è un DNS Resolver accessibile pubblicamente messo a disposizione dall’azienda statunitense Cloudflare, realtà impegnata nella fornitura di servizi dedicati all’ottimizzazione delle performances e della sicurezza dei siti web mediante reverse proxying, CDN, network security e DNS distribution.
Per capire cosa sia un DNS Resolver è però necessario comprendere innanzitutto il concetto di DNS (Domain Name System).
Indice
DNS e DNS Resolver
Con il termine DNS viene indicato un sistema che consente di tradurre i nomi a dominio (ad esempio “mrw.it”) nei corrispondenti indirizzi IP (Internet Protocol).
Tutti i device connessi alla Rete sono associati ad un indirizzo IP che può essere in formato IPv4 (ad esempio “195.231.5.188”), cioè 4 numeri in notazione decimale separati da un punto e ognuno compreso nell’intervallo tra 0 e 255, o in formato IPv6, cioè 8 gruppi composti ciascuno da 4 cifre esadecimali (ad esempio “2001:0db8:0a0b:12f0:0000:0000:0000:000”) separati dal carattere per i 2 punti “:” anche ripetuto (“::”) in sostituzione di blocchi o serie di blocchi formati da soli 0.
Dato che memorizzare gli indirizzi IP sarebbe umanamente difficile e scomodo, i browser per la navigazione Web prevedono di poter accedere ad una risorsa presente in un server remoto tramite la digitazione, nella barra degli indirizzi, di una stringa chiamata URL (Uniform Resource Locator) formata dal protocollo di riferimento (“https://”), dall’hostname (ad esempio “www.mrw.it”) e dal percorso del file cercato (ad esempio un’immagine o una pagina HTML).
Il DNS Resolver si occupa di convertire una richiesta (query DNS) formulata sotto forma di URL, convertendo l’hostname in un indirizzo IP evitando che l’utente debba ricordare sequenze numeriche o alfanumeriche complesse.
Perché utilizzare DNS 1.1.1.1
Tutti gli ISP (Internet Service Provider) forniscono ai propri utenti un DNS resolver che i client, ad esempio un comune Pc o uno smartphone, accettano e utilizzano in modalità predefinita al momento dell’installazione del router o tramite l’accesso ad una rete dati mobile. Tale impostazione può essere però modificata per diverse esigenze legate soprattutto alla tutela della privacy e alla sicurezza.
Non tutti i provider di connessione supportano infatti la crittografia dei dati in fase di navigazione. Quando disponibile questa tecnica fa in modo che le informazioni veicolate tra client e server non siano trasmesse “in chiaro”, divenendo quindi leggibili da un soggetto estraneo a tale comunicazione, ma che vengano criptate tramite un’apposita stringa alfanumerica, detta chiave di cifratura, in modo da risultare inaccessibili.
Nello stesso modo, ancora più di frequente non tutti gli ISP offrono una conformità completa alle specifiche DNSSEC (Domain Name System Security Extensions). Queste ultime, la cui adozione è ancora oggi abbastanza limitata, sono state pensate per dotare i Resolver DNS di un sistema standard universalmente condiviso con cui autenticare la sorgente dei dati DNS, garantire la loro integrità e la risoluzione certificata dei nomi a dominio. Ciò è possibile tramite un processo basato sulla crittografia asimmetrica in cui gli interlocutori invece di scambiarsi una chiave di cifratura segreta dispongono di una coppia di chiavi, una privata e una pubblica. La chiave privata associa una firma digitale alle informazioni DNS (Resource Records) mentre la chiave pubblica permette ai client di verificare la firma confermando l’affidabilità della fonte di dati.
Sostanzialmente, se applicate diffusamente, le specifiche DNSSEC garantirebbero che il traffico generato da una Web application venga veicolato in sicurezza ai server corretti in modo che la navigazione degli utenti non sia intercettata o esposta ad attacchi basati sull’hidden on-path, un’attività malevola che consiste nel posizionarsi tra due dispositivi (ad esempio un client e un server) e di intercettare o alterare le comunicazioni fra di essi.
A quanto detto si aggiungano i rischi derivanti dalla possibilità che i provider sfruttino i dati di traffico per la profilazione, così come le latenze legate ai sovraccarichi di Rete (in alcuni casi dovuti a tentativi di DDoS, Distributed Denial of Service) che potrebbero rallentare la navigazione.
I DNS 1.1.1.1 sono stati concepiti per bypassare tutte le problematiche precedentemente descritte. Scopriamo come.
Caratteristiche dell’infrastruttura DNS 1.1.1.1
1.1.1.1 è un resolver DNS ricorsivo, questo significa che il servizio non ha la proprietà di un record DNS ma opera da intermediario con il compito di fornire informazioni sul DNS stesso. Quando il riferimento a quest’ultimo viene allocato in cache il resolver risponde ad una query mettendo a disposizione le informazioni sul DNS o l’indirizzo IP di origine, altrimenti indirizza la richiesta ad un server DNS autoritativo per il recupero dei dati. Un server DNS autoritativo (o NameServer) è infatti un sistema che permette di gestire e aggiornare i DNS, contiene i riferimenti ai domini e risponde a tutte le query per la risoluzione dei nomi associati ai servizi richiesti (ad esempio Web o FTP).
1.1.1.1 fa riferimento al network di Cloudflare che ha creato un’infrastruttura composta da oltre un migliaio di server sparsi in 200 città a livello globale a cui fanno riferimento per l’accesso più di 20 milioni di Internet property con il compito di soddisfare rapidamente le query inviate dagli utilizzatori.
Completamente gratuito, 1.1.1.1 garantisce una velocità media di risposta alle query DNS pari a 14.8 ms, meno della metà di Google Public DNS e circa un quinto rispetto ad un ISP operante nel mercato della connettività. Per quanto riguarda invece le feature dedicate alla tutela della privacy, il servizio non estrae né raccoglie i dati dei propri utenti per finalità di marketing, nello stesso modo non li cede a terzi per scopi commerciali. I log relativi alla navigazione vengono conservati per 24 ore unicamente per motivi legati al debugging e sono successivamente rimossi dai server divenendo irrecuperabili.
Impostare DNS 1.1.1.1 sul proprio terminale
Impostare DNS 1.1.1.1 in sostituzione dei DNS forniti dal proprio ISP è estremamente semplice ma la procedura richiesta cambia a seconda della piattaforma di riferimento.
Impostazione DNS su Windows 10
Su Windows 10 basta aprire le “Impostazioni” di sistema per poi seguire il percorso “Rete e Internet > Modifica opzioni scheda”, quest’ultimo si trova nella sezione “Impostazioni di rete avanzate”.
Fatto questo si accede ad una lista delle “Connessioni di rete” disponibili e si può selezionare quella desiderata per poi visualizzare le sue “Proprietà” tramite il menu contestuale del tasto destro del mouse.
Da tale posizione è necessario cliccare 2 volte sull’elemento “Protocollo Internet versione 4” e, dalla finestra di proprietà ora aperta spuntare il radiobutton corrispondente all’opzione “Utilizza i seguenti server DNS”. Nel campo “Server DNS preferito:” si deve digitare “1.1.1.1”, mentre nel campo “Server DNS alternativo:” il valore da utilizzare è 1.0.0.1. Una volta cliccato su “OK” i nuovi DNS saranno impostati e operativi. La stessa operazione può essere svolta per il protocollo IPv6 indicando come DNS primario “2606:4700:4700::1111” e come DNS alternativo “2606:4700:4700::1001”.
Impostazione DNS su Linux
Per quanto riguarda Linux, su Ubuntu e derivate è possibile operare tale configurazione da “Sistema > Preferenze > Connessioni di rete” per poi selezionare la scheda “Wireless” e di seguito la connessione di Rete corrente. Si può quindi cliccare su “Modifica” e successivamente su IPv4 o IPv6, ottenendo la lista dei DNS server a cui sostituire i valori indicati in precedenza per Windows. L’operazione viene conclusa cliccando su “Applica”.
Su Debian è invece possibile lanciare l’istruzione da linea di comando:
$ sudo vim /etc/resolv.conf
per poi sostituire i valori relativi ai DNS server con:
# IPv4 nameserver 1.1.1.1 nameserver 1.0.0.1 # IPv6 nameserver 2606:4700:4700::1111 nameserver 2606:4700:4700::1001
Dopo essere usciti dall’editor Vim con il tasto [ESC] è sufficiente digitare la sequenza “:wq” per chiudere la sessione di editing e confermare le modifiche effettuate.
Impostazione DNS su MacOS
La procedura richiesta per impostare i DNS 1.1.1.1 su MacOS prevede di accedere alle “Preferenze di sistema” e di cliccare l’icona denominata “Network” presente nella sezione “Internet e Wireless” per poi selezionare “Avanzate”.
Da questa posizione è possibile scegliere la scheda “DNS” da cui rimuovere gli eventuali indirizzi IP già presenti e aggiungere i valori “1.1.1.1” e “1.0.0.1” per IPv4 o “2606:4700:4700::1111” e “2606:4700:4700::1001” per IPv6.
Cliccando su “Ok” e successivamente su “Applica” si potranno confermare le modifiche precedentemente effettuate.
Impostazione DNS su iOS
Se si possiede un iPhone o un iPad, la procedura di configurazione dei DNS richiede di seguire il percorso “Impostazioni > Wi-Fi”. Fatto questo è necessario toccare l’icona delle informazioni (“i”) posta di fianco al nome della connessione che si sta utilizzando.
Fatto questo basta scrollare la schermata corrente per visualizzare la sezione “Configura DNS” e modificare l’impostazione di quest’ultima da “Automatica” a “Manuale”.
Il prossimo e ultimo passaggio richiede quindi un touch sulla voce “Aggiungi server” e la cancellazione degli indirizzi IP eventualmente già impostati sostituendoli con “1.1.1.1” e “1.0.0.1” per IPv4 o “2606:4700:4700::1111” e “2606:4700:4700::1001” per IPv6, cliccando poi su “Salva” per confermare l’operazione.
Impostazione DNS su Android
Dalla versione 9 (Android “Pie”) il Robottino Verde supporta unicamente i protocolli DNS over TLS che hanno il compito di assicurare che le comunicazioni tra dispositivi e resolver DNS siano cifrate.
Tale funzionalità garantisce in teoria un livello di sicurezza più elevato ma nella realtà rimane il fatto che anche in presenza di TLS un utente non può sapere se la propria connessione al server DNS è stata dirottata da un soggetto malevolo estraneo, problema che potrebbe verificarsi per esempio quando si accede alla Rete tramite un hotspot Wi-Fi pubblico.
Per limitare tale rischio gli utilizzatori di Android possono accedere al proprio sistema seguendo il percorso “Impostazioni > Connessione e condivisione > DNS provato” per poi selezionare “Nome host del provider DNS privato” e digitare il valore “one.one.one.one” o “1dot1dot1dot1.cloudflare-dns.com”, salvare le modifiche effettuate e verificare che la procedura sia andata a buon fine visitando la pagina 1.1.1.1/help (o 1.0.0.1/help) che dovrebbe fornire una conferma sul successo dell’operazione.
I passaggi descritti potrebbero variare leggermente a seconda del modello di device scelto o della versione di Android utilizzata.