sabato 1 settembre 2018

L'importanza dei DNS nella nostra vita



Pare assurdo, ma c'è un database che influenza le nostre vite in maniera sottile e potente, il sistema si chiama DNS. No, non si parla di cazzate da complottisti, giuro!
Il DNS volgarmente chiamato è l'acronimo di Domain Name Server ed è un'architettura per la quale, dato un indirizzo IP, lo trasforma in nome e viceversa. Diciamo una sorta di grande elenco telefonico, dove molti server hanno tutti gli indirizzi e moltissimi altri hanno solo quelli che gli interessano.

Per esempio, se io voglio visitare Lega Nerd scrivo "leganerd.com" , premo invio e mi ritrovo la home page davanti.
Nel mezzo c'è un passaggio, ovvero la "traduzione" da "leganerd.com" nel suo indirizzo IP ovvero 213.32.123.131 .

Infatti se scriviamo 213.32.123.131 veniamo proiettati su LegaNerd grazie al DNS ed al suo database distribuito.

Oltre che essere distribuito è anche gerarchico, nel senso che non tutti i server DNS mantengono i database mondiali, ma viene fatta un'escalation alla domanda di risoluzione da nome a indirizzo IP e viceversa.

Il livello massimo al quale "chiedere informazioni" si chiama 'server autorevole' detto SOA (Start-Of-Authority).

Questo, oltre ad essere la fonte migliore, mantiene anche altri diversi parametri, chiamati 'record'. Oddio, ad essere precisi non solo lui li mantiene, ma poco importa, nello specifico sono i seguenti:

NS
Indicano i Name Server, ovvero quali sono effettivamente i server DNS che si occupano della risoluzione dei nomi per una specifica 'zona'. Oltre all'indirizzo dei name server bisogna anche specificare il TTL ovvero il tempo espresso in secondi prima di 'aggiornarsi' con il DNS di livello superiore.

A
Associa un indirizzo IP versione 4 ad un nome.

AAAA
Associa un indirizzo IP versione 6 ad un nome.

CNAME
Sta per Canonic Name ed è il più noto e manipolato record. Serve ad assegnare dei sotto domini al record A. Per esempio, se si ha un server FTP, un server mail ed un server http è il caso di separarli. Se il dominio di base è pippo.com potremo avere:
ftp = ftp.pippo.com
mail = mail.pippo.com
web = www.pippo.com
In questo caso, ogni indirizzo risponde a indirizzi IP diversi.

Nessuno vieta di inserire anche più CNAME che puntano allo stesso A, in questo modo:
ftp = www.pippo.com
mail = www.pippo.com
web = www.pippo.com
Questa soluzione è adottata da chi ha tutti i servizi sotto un unico indirizzo IP.

MX
Indicano un Mail eXchanger, ovvero un server di posta che accetta mail del dominio di destinazione. Ci possono essere più server di posta per un dominio (vuoi per ridondanza, vuoi per l'alto numero di mail in transito) ed a ogni server viene assegnato un valore di  'priorità'. Più piccolo è il numero, maggiore è la priorità.
Anche per i record MX esiste il TTL.

PTR
Viene usato per il controllo inverso del DNS, ovvero per sapere a che indirizzo IP è assegnato uno specifico nome. Diciamo che fa il lavoro inverso del record A. Infatti dovrebbe esistere un corrispondente record A per ogni record PTR. Ultimamente viene usato molto spesso per la verifica delle mail per evitare spam. Avere un record PTR valido inoltre aumenta la "reputazione" di un indirizzo, per fare una verifica al volo si può usare, per esempio, SpamRATS .
.
TXT
E' un record di test che si può usare in mille modi. Per segnalare un record SPF, per esempio, oppure per convalidare un certificato SSL. Ultimamente viene usato anche per Exchange server per aggregare server (in questo caso, ospita la chiave crittografica di join) e per Office 365.
Anche per i record TXT esiste il TTL.

SPF
Sta per Sender Policy Framework, ovvero una serie di politiche che consentono l'invio di mail solo da specifici computer.

Facciamo però una piccola discussione costruttiva ed anche un pochino speculativa... Va da sé che chi controlla i DNS autoritativi controlla cosa possa essere visualizzato.

Ultimamente è molto diffuso l'uso dei DNS di Google (8.8.8.8 ed 8.8.4.4) ma non sono gli unici.
Per esempio, io ho su degli access point disponibili al pubblico, gli OpenDNS 208.67.222.222 e 208.67.220.220 .
Questo mi permette di scegliere e filtrare con pochissimo sforzo ciò che gli utenti possono vedere a livello di contenuti, basta solo registrarsi gratuitamente e si possono specificare tutte le categorie che si vogliono. Grazie a liste sempre aggiornate di classificazione di siti web, si bloccano contenuti a piacere, tipo: e-commerce, discriminazione, droghe, nudità, file sharing, appuntamenti on line, scommesse e via di questo passo.

Ora, se IO, stupidello utente medio, posso filtrare la connettività per esempio per casa mia (vietando i contenuti adult sui dispositivi in uso a mio figlio), cosa può fare uno stato?

Uno stato tipo Cina?
Beh, loro hanno creato una cosa che si chiama The Great Firewall of China , dove ogni DNS che non sia il loro non esce su internet. Ovviamente non si sa cosa blocchi e cosa no, ma questa è una forma di controllo della popolazione.

Rendiamoci conto che chi controlla i DNS controlla cosa potete o non potete cercare. Cosa potete e non potete vedere.
Per questo preferisco sempre utilizzare gli OpenDNS, perché sono certo di poter andare su ogni sito che voglio.
Per sapere con certezza quale sia il server DNS in uso, basta fare un salto su DNS Leak Test 

Nota : quando si fa una modifica al proprio DNS è lecito dover aspettare ore (da 12 in su) perché le modifiche siano correttamente propagate. Questo valore sembra assurdamente alto, in quest'epoca di comunicazioni istantanee, ma è dato dal valore TTL dei server NS.
Se invece si vuole un pelo di privacy, sarebbe forse il caso di usare il servizio gratuito offerto da CloudFlare, che ha aperto i server DNS 1.1.1.1 e 1.0.0.1.
La loro peculiarità (oltre alla velocità) è il fatto che dopo 24 ore i record vengono cancellati. Non male, considerando che chi controlla i DNS controlla de facto il traffico. Chi controlla il traffico, per estensione, controlla le tue abitudini. Chi controlla le tue abitudini ti può profilare e vendersi i tuoi dati per farti ricevere della graditissima pubblicità mirata...

Fonti:

Nessun commento:

Posta un commento

Sei davvero sicuro di voler sprecare tempo prezioso per scrivere qualcosa? Non è che preferisci andare su Google?

Cerca nel blog

I post più letti di sempre