Il Mistero del Server non di Fiducia

Avete provato a risolvere  un nome di dominio e avete ottenuto il messaggio: “Risposta da un server non di fiducia”. Poi vi siete accorti che ottenete sempre quel messaggio e vi siete chiesti: “Ma perché il server non è di fiducia?”. Vediamo di trovare la soluzione dell’enigma.

DNS e risoluzione dei nomi di dominio

Il DNS (Domain Name System) è il sistema che converte i nomi di dominio in indirizzi Ip. Possiamo immaginarlo come una grossa agenda, o come le “pagine gialle” di Internet.
Funziona esattamente come un’agenda: cerchiamo un nome e troviamo un numero di telefono. In questo caso al posto del numero di telefono troviamo un indirizzo Ip.

Il protocollo Tcp/Ip non riconosce i nomi di dominio: non significano nulla. Riconosce solo indirizzi, numeri, appunto gli indirizzi Ip. I nomi di dominio sono stati introdotti per semplificare la vita agli uomini: è molto più semplice ricordare www.pillolhacking.net che 217.64.195.226.

Il DNS è un database distribuito: ogni computer ha un pezzo di informazione. Quando un computer del sistema DNS non conosce una risposta chiede ad un altro computer del sistema, fino a quando non trova la risposta.

L’operazione di trasformazione dominio-Ip si chiama risoluzione e viene effettuata tramite un’interrogazione al server DNS.

DNS autoritativi e non

Quando ci colleghiamo a Internet ci servono dei parametri che in genere ci assegna automaticamente il nostro provider: l’indirizzo Ip, la maschera di sottorete, il gateway e il DNS: senza quest’ultimo non saremmo in grado di trasformare i nomi di dominio in indirizzi Ip (risolvere) e quindi dovremmo conoscere tutti gli Ip a memoria.

Dicevo che il DNS è un sistema distribuito, non esiste un computer che conosce tutti gli indirizzi del mondo, ma esistono diversi computer che ne conoscono una parte. Per capire com’é strutturato il sistema seguiamo passo-passo la risoluzione di un nome di dominio:

1. Digitiamo www.pillolhacking.net nella barra del browser

2. Il server DNS del nostro provider cerca nella propria memoria temporanea (cache); se in precedenza l’indirizzo è già stato risolto l’Ip si troverà nella memoria temporanea. Se lo trova lo risolve ovvero passa al nostro browser l’indirizzo Ip.

3. Se non lo trova interroga un root server. Un root server (ce ne sono 13) non conosce gli indirizzi degli host, ma conosce gli indirizzi di name server che potrebbero conoscere l’indirizzo che ci serve.

4. Il root server dice  al name server del nostro provider che non conosce www.pillolhacking.net, ma gli consegna una lista di server che gestiscono i domini .net

5. A questo punto il nostro name server contatta un computer della lista di server che conoscono i domini .net. Il server in questione non conosce www.pillolhacking.net, ma conosce i name server autoritativi del dominio pillolhacking.net

6. Ci siamo quasi: il name server del nostro provider contatta uno dei name server che gestiscono pillolhacking.net e ottiene in risposta l’indirizzi Ip di www.pillolhacking.net.

7. A questo punto il nostro name server lo memorizza nella propria cache, così se dovesse rendersi necessaria un’altra risoluzione non dovrebbe rifare tutto il giro che abbiamo visto (vedi il punto 2).

8. Infine il server DNS consegna l’Ip al nostro browser e la navigazione può iniziare.

Naturalmente tutte queste azioni vengono eseguite in una frazione di secondo.

In tutto questo giro ci siamo imbattuti in diversi server, ma uno solo è un server autoritativo, ovvero che conosce gli indirizzi Ip del dominio pillolhacking.net. Tutti gli altri forniscono liste di server che potrebbero conoscere il server autoritativo, o cache server.

Al punto 6 il name server del provider ottiene una risposta autoritativa (di fiducia), in tutti gli altri casi si tratta di risposte da server “non di fiducia”.

Al punto 8 il server DNS consegna un Ip valido, proveniente da un server autoritativo, ma il server DNS del provider non è autoritativo per quel dominio, per questo motivo otterremo il messaggio “Risposta da un server non di fiducia”

Alla Scoperta del DNS con Nslookup

Verifichiamo quanto detto con nslookup. Utilizzo una connessione Vodafone con il server DNS mivsx030.net.vodafone.it (83.224.65.134) ovviamente non autoritativo per pillolhacking.net:

C:\Documents and Settings\angelor>nslookup

Server predefinito:  mivsx030.net.vodafone.it
Address:  83.224.65.134

> www.pillolhacking.net
Server:  mivsx030.net.vodafone.it
Address:  83.224.65.134

Risposta da un server non di fiducia:
Nome:    w-04.th.seeweb.it
Address:  217.64.195.226
Aliases:  www.pillolhacking.net

come previsto la risposta proviene da un server non di fiducia (mivsx030.net.vodafone.it)

Per ottenere un risposta autoritativa devo interrogare direttamente il name server del dominio pillolhacking.net. Vediamo come fare:

C:\Documents and Settings\angelor>nslookup
Server predefinito:  mivsx303.net.vodafone.it
Address:  83.224.66.134

> set q=ns
> pillolhacking.net
Server:  mivsx303.net.vodafone.it
Address:  83.224.66.134

Risposta da un server non di fiducia:
pillolhacking.net       nameserver = ns1.th.seeweb.it
pillolhacking.net       nameserver = ns2.th.seeweb.it

con il comando set q=ns istruisco il DNS di Vodafone a recuperare gli indirizzi dei name server autoritativi per pillolhacking.net: ns1.th.seeweb.it e ns2.th.seeweb.it

Quindi imposto il DNS con l’indirizzo del name server di pillolhacking.net:

> server ns1.th.seeweb.it
Server predefinito:  ns1.th.seeweb.it
Address:  217.64.201.170

Istruisco il name server a restituirmi l’indirizzo Ip:
> set q=A

infine effettuo l’interrogazione:

> www.pillolhacking.net
Server:  ns1.th.seeweb.it
Address:  217.64.201.170

Nome:    w-04.th.seeweb.it
Address:  217.64.195.226
Aliases:  www.pillolhacking.net

Il messaggio “Risposta da un server non di fiducia” è scomparso: ns1.th.seeweb.it è il server autoritativo per pillolhacking.net. la risposta è di fiducia. Mistero risolto.

4 comments to “Il Mistero del Server non di Fiducia”
  1. Stavolta angelor hai superato te stesso. Fantastico!!Utile, instruttivo…si può dire tutto di questo articolo…

    Bravo

Comments are closed.