Visualizzazione post con etichetta DNS. Mostra tutti i post
Visualizzazione post con etichetta DNS. Mostra tutti i post

giovedì 6 ottobre 2016

Domanda (importante) su Whois (legata al web hosting)

anni fa ho "registrato" un sito gratuitamente presso altervista:  nomesito.altervista.org (NB, è proprio "nomesito").

mi è venuta la curiosità di fare whois utilizzando un servizio whois gratis.

L'url della risposta è questo: https://www.whois.com/whois/altervista.org (NB: indica una organizzazione di nome Banzai media come Registrant)

Perché non sono indicata io come Registrant?

Questo, significa che in realtà il nome del mio sito puo' essere preso da chiunque poichè' il dominio non è registrato?

Domanda interessante che purtroppo coinvolge tutta una serie di complicazioni. Altro esempio delle complicazioni relative al corso di reti di calcolatori che descrivo qui:

Rispondo con la speranza di non confondere le idee.

Altervista.org è un sito web; 
altervista.org. 18096 IN A 144.76.174.167

Questo sito offre un servizio di web hosting: permette (via web) di creare altri siti web. Un sito web è un insieme di file che si trovano fisicamente su di un web server (in questo caso gestito dalla stessa organizzazione che gestisce il sito altervista.org, cioè Banzai media); vedremo il web hosting quando faremo il web.

Se creo un sito attraverso un sito di web hosting, quale sarà il nome DNS del mio sito? Dipende dal servizio di web hosting. Nel caso di altervista io posso scegliere un nome X e loro daranno al mio sito il nome DNS X.altervista.org. Nel suo caso:
nomesito.altervista.org. 6793 IN A 144.76.106.229

Quindi creare un sito web su altervista implica creare anche un dominio DNS.

Per quello che vi ho detto io quando abbiamo visto whois, il Registrant del dominio dovrebbe essere la persona che ha creato il sito web. In questo caso particolare, invece, il Registrant è lo stesso Registrant di altervista.org (cioè Banzai media). 

Perché? Se si crea un nome "grazie" ad un Registrar allora si diventa Registrant (come ho fatto io creando il nome metigheltravo.it: https://www.whois.com/whois/metigheltravo.it); se invece lo si crea "grazie" ad un Registrant non si può diventare Registrant^2. La gerarchia whois ha infatti solo 3 livelli di database: ICANN, Registry e Registrar. I  Registrant non hanno l'obbligo di mantenere un database whois.

Ovviamente i servizi di web hosting come altervista devono sapere internamente a chi hanno assegnato ogni dominio. Solo che questa informazione non sono obbligati non sono obbligati ad agganciarla agli altri database della gerarchia whois. Potrebbero scegliere di renderla visibile parlando con il protocollo whois con un loro server, sganciato dagli altri database whois, ma pare che altervista non lo faccia (ho provato ad indovinare il nome di quel server scrivendo http://whois.altervista.org, ma è andata male...qualcuno ha deciso di creare un sito web "particolare" su altervista dal nome whois...).

In sintesi:
  1. L'affermazione che ogni dominio ha un Registrant accessibile con whois è vera solo in prima approssimazione.
  2. Nella realtà ci sono vari casi particolari nei quali 1 è falsa (come quello appena discusso).
  3. Per capire come funziona whois (e per superare gli esami) si può ritenere che 1 sia vera. 

giovedì 28 aprile 2016

DNS: tool per interrogare name server

Forse qualcuno di voi lo avrà già notato, ma vi segnalo che esistono alcuni servizi web che replicano le funzionalità dello strumento "dig"; alcuni quasi esattamente, altri con ottima approssimazione.

http://www.geektools.com/digtool.php sembra sostanzialmente identico a dig, sospetto che abbiano messo sul web server un dig e la pagina sia solo una sorta di intermediario grafico verso quello strumento. Pertanto si tratta di un client DNS in esecuzione sul server www.geektools.com; il client riceve input dal nostro browser e fornisce output sul nostro browser. Questo sarebbe molto utile per fare le prove che vi avevo suggerito alla fine dell'ultima lezione, aggirando quindi le limitazioni che gli Internet provider implementano sul traffico DNS uscente, normalmente autorizzato se originato dal solo name server dell'organizzazione. Solo che non mi sembra molto affidabile (dopo un pò ha smesso di rispondermi).

http://www.digwebinterface.com/ è simile da molti punti di vista ma anche molto diverso. Può collegarsi solo ad un insieme di name server predefiniti. Ha una funzionalità che chiama "trace" ed è molto interessante, ma non banale da descrivere. Se ho capito bene, selezionare "trace" significa "esegui risoluzione iterativa e mostrami tutte le risposte che hai ricevuto, indicandomi l'indirizzo IP da cui le hai ricevute".

Da notare che non mostra le request (mostra solo la prima) e non mostra il nome del name server che ha contattato ad ogni step (mostra solo il suo indirizzo IP; si può determinare il name server corrispondente facendo su qualche altro sito un whois: se la risposta al passo K è stata ricevuta dall'indirizzo IP-K, si fa il whois di IP-K e si scopre un nome che, nella risposta al passo K-1 era il nome di un name server; sembra intricato ma non lo è). Inoltre, la funzionalità trace usa delle cache senza dirlo: pertanto si vedono risposte che contengono una sfilza di record NS senza nessun record A, ma la procedura prosegue comunque; il motivo è che il record A "mancante" si trova nella cache del web server, oppure viene reperito con delle request (e response) che non sono mostrate.

Suggerisco di fare queste prove:

1) risolvere google.com A?
2) ripetere inviando la request ad un name server "lontano" dal precedente; quasi certamente si vedranno risposte diverse (aspetto che non vi ho detto a lezione: le grosse organizzazioni distribuiscono il carico tra i propri server in molti modi; uno è quello di tradurre uno stesso nome in modo diverso a seconda dell'indirizzo IP da cui proviene la request; per cui chi interroga il DNS dall'Europa di norma riceve risposte diverse da chi esegue la stessa query dalla Nuova Zelanda).
3) ripetere 1 selezionando "trace" e cercando di capire cosa è successo...

DNS: units.it

Mi sono state fatte domande su units.it, che effettivamente è una "brutta bestia" nel senso che può confondere molto le idee.

Su http://www.digwebinterface.com/ si vede infatti che:

units.it ANY ? (cioè "dammi qualsiasi RR trovi con questo nome") torna

però:
units.it NS ? torna 3 record NS che non c'entrano con l'altro:
units.it.  21599 IN NS ns1.units.it.
units.it.  21599 IN NS ns2.units.it. 




Ad aggiungere ulteriore confusione c'è il fatto che scrivendo nella barra del browser "units.it" ci si collega in realtà a "www.units.it". In generale, cioè per altri siti, questo può accadere per molti motivi:

1) il DNS contiene un A per entrambi i nomi ed un web server ad entrambi gli indirizzi IP; il browser si collega al server senza www e questo risponde con una "redirection HTTP" verso il server con www (vedremo le redirection HTTP più avanti).
2) il browser inserisce automaticamente "www" nel nome (quindi invia al DNS una richiesta www.units.it)
3) il DNS contiene un CNAME tra il nome senza www ed il nome con www

nel caso di units.it CREDO che si verifichi il caso 1 (infatti c'è un record di tipo A anche per il nome www.units.it, associato ad un indirizzo IP diverso da quello visto sopra associato a units.it) ma che alcuni browser, ad esempio Opera, si comportino come nel caso 3.

Un bel caos. Per rispondere con certezza nel caso di units.it occorrerebbe un network sniffer, in questi giorni non ho tempo....

DNS: record CNAME (ancora)

avrei un dubbio in merito alle zone "units.it" e "univ.trieste.it".
Lanciando la ricerca "whois" si trova che le due zone differiscono solo per la data di creazione (nasce prima "univ.trieste.it"), ovvero hanno gli stessi name server, amministratori, registrar, ecc.. Inoltre tramite DIG si può vedere che le due zone condividono lo stesso mail server.
Mi verrebbe da pensare che la zona "units.it" sia stata creata perchè il nome dell'altra zona potrebbe non essere così facile da ricordare, altrimenti non vedo il motivo di duplicare (se questo è quello che è successo) la zona "univ.trieste.it"

Non sarebbe stato sufficiente comperare il dominio "units.it" e aggiungere un RR di tipo "units.it CNAME univ.trieste.it" all'interno del name server di univ.trieste.it?

Domanda giustissima. 

Per quello che abbiamo visto a lezione la risposta sarebbe "si". Nella realtà la risposta è "no, non è possibile". I motivi sono indicati più sotto. Questo aspetto è, ovviamente, importante nella pratica ma non ne ho parlato a lezione perché mi sembrava non essenziale per la comprensione (e purtroppo non è possibile vedere tutti i dettagli di tutto, non c'è il tempo materiale quindi è necessario fare delle scelte). Poiché non ne ho parlato a lezione, non fa parte del programma di esame---ma porsi domande di questo genere è giustissimo.

A CNAME-record cannot exist with any other records for the same name, because a name cannot both be an alias (CNAME) and something else at the same time.
From RFC1912 section 2.4:
"A CNAME record is not allowed to coexist with any other data."
If you try to create a CNAME-record for the name of the zone itself, you will always encounter this conflict because a zone always has at least a SOA-record and typically one or more NS-records with the zone name
PLEASE NOTE:
While certain other DNS servers may allow you to configure such a CNAME-record, it is still an error to do so.
The results of this are unpredictable, and often causes serious problems because in some situations the CNAME-record will override other critical records at the zone root level - for example hiding the NS- and SOA-records.

DNS: record CNAME

Nella slide qui sotto la Request che fa il client non dovrebbe essere "www.univ.trieste.it,CNAME" ? Nella slide la domanda è di tipo A e la risposta CNAME



no, purtroppo CNAME è un RR strano. la domanda è proprio A; il server vede che non esiste un RR A, ma poiché esiste un RR CNAME risponde con questo;

uno non farebbe mai una domanda CNAME; chiedere "pippo CNAME ?" sarebbe come chiedere "pippo si chiama davvero pippo o si chiama in altro modo?"; se uno ragionasse in questo modo allora prima di ogni domanda di tipo A si dovrebbe prima fare una domanda di tipo CNAME; non va bene;

ciò che invece accade nella realtà è questo: "mi traduci pippo?" (pippo A ?), la risposta è "pippo non si chiama pippo, si chiama Lewandowski" (pippo CNAME Lewandowski);

DNS: Risoluzione nomi

se io faccio la richiesta   <ns.ciao.it  A>  e so che  ciao.it è una zona  che contiene il dominio  ns.ciao.it ed  inoltre il  nome del name server della zona  realmadrid.es è proprio ns.ciao.it  allora sia il name server della zona ciao.it sia quello di realmadrid.es  conoscono il RR per quel nome?

non ho capito;

intanto ciò che un name server conosce è indipendente dalle richieste che vengono fatte (quindi iniziare la domanda con "se faccio la richiesta..:" e terminarla con "allora...conoscono" non ha senso); 

poi la frase "il  nome del name server della zona  realmadrid.es è proprio ns.ciao.it " fa pensare che la zona realmadrid.es abbia un solo name server; ma ciò è in conflitto con quanto segue nella frase ("sia il name server della zona ciao.it sia quello di realmadrid.es...")

cerco di interpretare la domanda: se un name server è name server (primario o secondario) di più zone, allora deve conoscere gli RR di tutte quelle zone? in questo caso la risposta è si;

altra interpretazione: se un name server X è primario della zona ZP e secondario della zona ZS, allora il name server primario di ZS deve essere secondario di ZP (quindi deve conoscere i RR di ZP)? in questo caso la risposta è no; il primario di ZS può essere secondario di ZP ma può anche non esserlo; dipende da come si mettono d'accordo le organizzazioni corrispondenti; spesso si "scambiano il favore", ma ciò non è tecnicamente necessario.

DNS: creazione di dominio

1) quando voglio creare un dominio mi aggancio sempre sotto ad una zona il cui nome è quello di un top level domain  oppure posso agganciarmi sotto ad una qualsiasi zona ?

da un punto di vista tecnico posso agganciarmi sotto ad una qualsiasi zona, con i meccanismi che abbiamo visto;

da un punto di vista organizzativo/normativo non è detto: un Registrar (agganciato sotto ad un TLD) può solo vendere domini memorizzati nella zona del Registrar; in altri casi però ci si può agganciare sotto alla zona che sta sotto al TLD;

esempio:

units.it.  NS ns2.units.it.
units.it.  NS ns1.garr.net.
units.it.  NS ns1.units.it.

questa è una zona agganciata sotto al TLD it; sotto questa zona abbiamo:

inginf.units.it. NS ns.inginf.units.it. (zona che abbiamo creato nel mio lab)

ai fini degli esami questi dettagli non sono rilevanti e per noi ci si può quindi agganciare ovunque.
lei ha scritto  : "da un punto di vista organizzativo/normativo non è detto: un Registrar (agganciato sotto ad un TLD) può solo vendere domini memorizzati nella zona del Registrar; in altri casi però ci si può agganciare sotto alla zona che sta sotto al TLD;" facendo riferimento alla slide 22 di  2-C-DNS.pdf   in pratica quando lei ha voluto comprare metigheltravo.it  il Registrar ha creato quella coppia NS/A nel suo name server e ha parlato con i responsabili di misterdomain.eu facendo in modo che metigheltravo.it venisse memorizzato nella zona misterdomain.eu  e quindi in questo caso metigheltravo.it non era memorizzato nella zona  IT  corretto? 
Non è che "il Registrar ha parlato con i responsabili di misterdomain.eu": misterdomain è una organizzazione Registrar di it, eu ed altri TLD. Cioè, misterdomain e Registrar sono la stessa cosa.
Per diventare Registrar hanno "parlato" (in realtà, avuto contatti e presentato molta documentazione) con il TLD di cui volevano diventare Registrar.

DNS: attacchi e risposte fraudolente

Nel corso della prima lezione sul DNS ho parlato della possibilità di ricevere una risposta fraudolenta dal DNS (request "www.unicreditbanca.it A ?" e response "www.unicreditbanca.it A IP-attacker").

Ho dimenticato di evidenziare che non si tratta di una possibilità teorica ma di eventualità reali.

Alcuni post del mio blog parlano di queste faccende, il link qui sotto fornisce tutti i post che ho etichettato con "DNS", sono quasi tutti già comprensibili a questo punto del corso; nel primo post c'è un link a 75 (settantacinque) casi del genere; da quando ho scritto quel post ce ne sono stati molti altri.

http://bartoli-alberto.blogspot.it/search/label/DNS