Esercitazioni

Cosa sono i DNS e a cosa servono? tutte le informazioni che dovresti sapere

Sommario:

Anonim

Sai già che su Internet puoi trovare un'infinità di siti con temi diversi. Per accedervi, di solito viene scritto un indirizzo nel campo corrispondente del browser, ad esempio www.google.es o www.profesionalreview.com. Ma hai idea di come il team possa cercare questi siti Web, indipendentemente da dove sono ospitati? È a questo punto che appare il lavoro dei server DNS (Domain Name System). In questo articolo saprai cosa sono i DNS, come funzionano e quali sono altri concetti correlati, come DNSSEC.

Indice dei contenuti

L'inizio di Internet e il suo crollo

All'inizio di Internet, poiché era destinato a un uso limitato, esisteva un file hosts.txt che conteneva tutti gli IP e i nomi delle macchine esistenti su Internet. Questo file è stato gestito dalla NIC (Network Information Center) e distribuito da un singolo host, l'SRI-NIC.

Gli amministratori di Arpanet hanno inviato alla NIC, via e-mail, tutte le modifiche apportate e di volta in volta la SRI-NIC è stata aggiornata, così come il file hosts.txt.

Le modifiche sono state applicate a un nuovo hosts.txt una o due volte a settimana. Con la crescita di Arpanet, tuttavia, questo schema è diventato irrealizzabile. La dimensione del file hosts.txt cresceva con l'aumentare del numero di macchine su Internet.

Inoltre, il traffico generato dal processo di aggiornamento è cresciuto in proporzioni ancora maggiori una volta incluso ogni host, il che significava non solo un'altra riga nel file hosts.txt, ma anche un altro host che veniva aggiornato dalla SRI-NIC..

Immagine via commons.wikimedia.org

Utilizzando il TCP / IP di Arpanet, la rete è cresciuta in modo esponenziale, rendendo quasi impossibile l'aggiornamento del file.

Gli amministratori di Arpanet hanno provato altre impostazioni per risolvere il problema nel file hosts.txt. L'obiettivo era creare un sistema in grado di risolvere i problemi su una singola tabella host. Il nuovo sistema dovrebbe consentire a un amministratore locale di convertire i dati disponibili in tutto il mondo. Il decentramento amministrativo risolverebbe il problema del collo di bottiglia generato da un singolo host e ridurrebbe il problema del traffico.

Inoltre, l'amministrazione locale renderebbe più semplice l'aggiornamento dei dati. Lo schema dovrebbe utilizzare nomi gerarchici per garantire l'univocità dei nomi.

Paul Mockapetris, dell'Information Science Institute dell'USC, era responsabile dell'architettura del sistema. Nel 1984 pubblicò RFC 882 e 883, che descrivono il "Domain Name System" o DNS. Questi RFC (richiesta di commenti) sono stati seguiti dagli RFC 1034 e 1035, che dispongono delle attuali specifiche DNS.

Il DNS è stato creato per essere gerarchico, distribuito e ricorsivo, oltre a consentire la memorizzazione nella cache delle informazioni. Pertanto nessuna macchina dovrebbe conoscere tutti gli indirizzi Internet. I server DNS principali sono server root, (server root). Sono server che sanno quali sono le macchine responsabili dei domini di primo livello.

Immagine via commons.wikimedia.org

In totale ci sono 13 server root, dieci situati negli Stati Uniti, due in Europa (Stoccolma e Amsterdam) e uno in Asia (Tokyo). Quando uno fallisce, gli altri riescono a mantenere la rete senza intoppi.

DNS funziona con le porte 53 (UDP e TCP) e 953 (TCP) per il loro funzionamento e controllo, rispettivamente. La porta UDP 53 viene utilizzata per le query server-client e la porta TCP 53 viene generalmente utilizzata per la sincronizzazione dei dati tra master (primario) e slave (secondario).

La porta 953 viene utilizzata per programmi esterni che comunicano con BIND. Ad esempio, un DHCP che desidera aggiungere il nome degli host che hanno ricevuto l'IP all'interno della zona DNS. È logico che ciò avvenga solo se viene stabilita una relazione di trust tra di loro, al fine di evitare che i DNS vengano sovrascritti da qualsiasi software.

BIND è stato creato da quattro studenti laureandi, membri di un gruppo di ricerca informatica dell'Università di Berkeley. Lo sviluppatore Paul Vixie (creatore di vixie-cron), mentre lavorava per la società DEC, è stato il primo responsabile di BIND. BIND è attualmente supportato e gestito da Internet Systems Consortium (ISC).

BIND 9 è stato sviluppato attraverso una combinazione di contratti commerciali e militari. La maggior parte delle funzionalità di BIND 9 sono state promosse da società di provider Unix che desideravano assicurarsi che BIND rimanesse competitivo con le offerte di server DNS di Microsoft.

Ad esempio, l' estensione di sicurezza DNSSEC è stata finanziata dall'esercito degli Stati Uniti che ha capito l'importanza della sicurezza per il server DNS.

Nomi di dominio

Ogni sito Web o servizio Internet necessita di un indirizzo IP (IPv4 o IPv6). Con questa risorsa, è possibile trovare il server o l'insieme di server che ospitano il sito Web e, quindi, accedere alle sue pagine. Al momento della stesura di questo articolo, l'indirizzo IP di Google Spagna è 172.217.16.227.

Immagina di dover ricordare gli IP di tutti i siti Web che visiti ogni giorno, come Facebook, Twitter, e-mail, portali di notizie e altro ancora. Questo sarebbe quasi impossibile e molto poco pratico, no?

C: \ Users \ Migue> ping www.google.es Ping www.google.es con 32 byte di dati: risposta da 172.217.16.227: byte = 32 tempo = 39ms TTL = 57 Risposta da 172.217.16.227: byte = 32 time = 30ms TTL = 57 Risposta da 172.217.16.227: byte = 32 time = 31ms TTL = 57 Risposta da 172.217.16.227: byte = 32 time = 30ms TTL = 57 Statistiche ping per 172.217.16.227: Pacchetti: inviati = 4, ricevuto = 4, perso = 0 (0% perso), tempi approssimativi di andata e ritorno in millisecondi: minimo = 30 ms, massimo = 39 ms, media = 32 ms C: \ Users \ Migue>

Questo è fondamentalmente il motivo per cui utilizziamo nomi di dominio per accedere a siti Web. Con questo, l'utente non ha bisogno di conoscere, ad esempio, l'indirizzo IP di Professional Review per accedervi, basta conoscere il proprio nome di dominio e basta.

Questo è uno schema molto pratico, dal momento che memorizzare i nomi è molto più semplice dopo tutto che memorizzare sequenze numeriche. Inoltre, anche se non ricordi esattamente un nome, puoi inserirlo in un motore di ricerca e ti aiuterà a trovarlo.

Il punto è che, nonostante l'uso dei domini, i siti hanno ancora bisogno di indirizzi IP, dal momento che i nomi sono stati creati dopo tutto per facilitare la comprensione umana, non quella dei computer. E spetta al DNS collegare un dominio agli indirizzi IP.

Server DNS (Domain Name System)

I servizi Internet DNS (Domain Name System) sono, in breve, i grandi database sparsi su server situati in varie parti del mondo. Quando si digita un indirizzo nel browser, ad esempio www.profesionalreview.com, il computer chiede ai server DNS del proprio provider Internet (o di altri che sono stati specificati) di trovare l'indirizzo IP associato a quel dominio. Nel caso in cui questi server non dispongano di tali informazioni, comunicheranno con altri che potrebbero averle.

Il fatto che i domini siano organizzati gerarchicamente aiuta in questo lavoro. Innanzitutto abbiamo il server principale, che può essere inteso come il servizio DNS principale ed è rappresentato da un punto alla fine dell'indirizzo, come mostrato nell'esempio seguente:

www.profesionalreview.com

Si noti che se si digita l'indirizzo esattamente come sopra, con un punto alla fine, nel browser, il programma di solito trova il sito Web. Tuttavia, non è necessario includere questo punto, poiché i server coinvolti sono già a conoscenza della sua esistenza.

La gerarchia è seguita da domini di cui sappiamo molto, come.com,.net,.org,.info,.edu,.es,.me e molti altri. Queste estensioni sono chiamate "gTLD" (domini di primo livello generici), qualcosa come domini di primo livello generici.

Esistono anche finali orientati al paese, i cosiddetti "ccTLD" (domini di primo livello del codice paese), qualcosa come il codice di paese per i domini di primo livello. Ad esempio:.es per la Spagna,.ar per l'Argentina,.fr per la Francia e così via.

Quindi, vengono visualizzati i nomi che le aziende e le persone possono registrare con questi domini, come la parola Revisione professionale su profesionalreview.com o Google su google.es.

Con la gerarchia, è più semplice scoprire qual è l'IP e, quindi, qual è il server associato a un dominio (processo chiamato risoluzione dei nomi), poiché questa modalità operativa consente uno schema di lavoro distribuito, in cui ogni il livello della gerarchia ha servizi DNS specifici.

Per capirlo meglio, guarda questo esempio: supponi di voler visitare il sito Web www.profesionalreview.com. Per fare ciò, il servizio DNS del tuo provider proverà a scoprire se sai come individuare il sito web indicato. In caso contrario, eseguirà prima una query sul server principale. Questo, a sua volta, indicherà il server DNS della terminazione.com, che continuerà il processo fino a raggiungere il server che risponde al dominio profesionalreview.com, che riporterà infine l'IP associato, ovvero su quale server è il sito in questione.

I server DNS che rappresentano determinati domini sono chiamati "autorevoli". Da parte loro, i servizi responsabili della ricezione di query DNS dai computer client e del tentativo di ottenere risposte con server esterni sono chiamati "ricorsivi".

I domini gTLD e ccTLD sono gestiti da entità diverse, che sono anche responsabili dei server DNS.

Cache DNS

Supponiamo di aver visitato una pagina Web impossibile da individuare tramite il servizio DNS del tuo provider, in modo tale che debba consultare altri server DNS (tramite il suddetto schema di ricerca gerarchica).

Al fine di evitare che questa indagine debba essere ripetuta quando un altro utente di un provider di servizi Internet tenta di accedere allo stesso sito, il servizio DNS potrebbe salvare le informazioni della prima query per qualche tempo. Pertanto, in un'altra richiesta simile, il server saprà già qual è l'IP associato al sito Web in questione. Questa procedura è nota come cache DNS.

In linea di principio, la memorizzazione nella cache DNS ha mantenuto solo dati di query positivi, vale a dire quando è stato trovato un sito. Tuttavia, i servizi DNS hanno anche iniziato a salvare risultati negativi, da siti inesistenti o non localizzati, ad esempio quando inseriscono un indirizzo errato.

Le informazioni sulla cache vengono archiviate per un periodo di tempo specificato utilizzando un parametro noto come TTL (Time to Live). Questo è usato per evitare che le informazioni registrate diventino obsolete. Il periodo di tempo TTL varia in base alle impostazioni determinate per il server.

Grazie a ciò, il lavoro dei servizi DNS del root e dei server successivi è ridotto al minimo.

Sicurezza DNS con DNSSEC

A questo punto, sai già che i server DNS svolgono un ruolo enorme su Internet. Il problema è che il DNS può anche essere una "vittima" di azioni dannose.

Immagina, ad esempio, che una persona con una grande conoscenza abbia messo insieme uno schema per acquisire richieste di risoluzione dei nomi dei clienti da un determinato fornitore. In caso di successo, puoi provare a indirizzare a un indirizzo falso anziché al sito Web sicuro che l'utente desidera visitare. Se l'utente non si rende conto che sta per accedere a una pagina Web falsa, può fornire informazioni riservate, come il numero della carta di credito.

Per evitare problemi come questi, è stato creato il DNSSEC (estensioni di sicurezza DNS), che consiste in una specifica che aggiunge funzionalità di sicurezza al DNS.

Immagine da Wikimedia Commons

Il DNSSEC considera fondamentalmente gli aspetti dell'autenticità e dell'integrità delle procedure che coinvolgono il DNS. Ma, contrariamente a quanto inizialmente pensano alcune persone, non può fornire protezione contro intrusioni o attacchi DoS, ad esempio, anche se può aiutare in qualche modo.

Fondamentalmente DNSSEC utilizza uno schema che coinvolge chiavi pubbliche e private. Con questo, puoi essere sicuro che i server corretti rispondono alle query DNS. L'implementazione del DNSSEC deve essere effettuata dalle entità responsabili della gestione dei domini, motivo per cui questa risorsa non è completamente utilizzata.

Servizi DNS gratuiti: OpenDNS e Google Public DNS

Quando si assume un servizio di accesso a Internet, per impostazione predefinita si passa all'utilizzo dei server DNS dell'azienda. Il problema è che, molte volte, questi server potrebbero non funzionare affatto bene: la connessione è stabilita, ma il browser non riesce a trovare alcuna pagina o l'accesso ai siti Web potrebbe essere lento perché i servizi DNS sono lenti a rispondere.

Una soluzione a problemi come questi è l'adozione di servizi DNS alternativi e specializzati, ottimizzati per offrire le migliori prestazioni possibili e meno suscettibili agli errori. I più noti sono OpenDNS e Google Public DNS. Entrambi i servizi sono gratuiti e quasi sempre funzionano in modo molto soddisfacente.

OpenDNS

L'uso di OpenDNS è molto semplice: devi solo usare entrambi gli IP del servizio. Sono:

  • Primario: 208.67.222.222 Secondario: 208.67.220.220

Il servizio secondario è una replica del primario; se non è possibile accedervi per qualsiasi motivo, la seconda è l'alternativa immediata.

Questi indirizzi possono essere configurati sulla propria apparecchiatura o su apparecchiature di rete, come router Wi-Fi. Se si utilizza Windows 10, ad esempio, è possibile effettuare le impostazioni come segue:

  • Premi Win + X e seleziona "Connessioni di rete".

Ora, è necessario fare clic con il tasto destro sull'icona che rappresenta la connessione e scegliere Proprietà. Quindi, nella scheda "Funzioni di rete", seleziona l'opzione Protocollo Internet versione 4 (TCP / IPv4) e fai clic su Proprietà. Attiva l'opzione "Utilizza i seguenti indirizzi di server DNS". Nel campo Server DNS preferito, immettere l'indirizzo DNS primario. Nel campo appena sotto, inserisci l'indirizzo secondario.

Ovviamente, questo tipo di configurazione può essere eseguita anche su Mac OS X, Linux e altri sistemi operativi, basta vedere le istruzioni su come farlo nel manuale o nei file della guida. Lo stesso vale per molti computer in rete.

Il servizio OpenDNS non richiede la registrazione, ma è possibile farlo sul sito Web del servizio al fine di usufruire di altre risorse, come il blocco del dominio e le statistiche di accesso, ad esempio.

DNS pubblico di Google

Google Public DNS è un altro servizio del tipo che si distingue. Pur non offrendo tutte le risorse di OpenDNS, è fortemente focalizzato sulla sicurezza e sulle prestazioni, oltre a far parte, ovviamente, di una delle più grandi società Internet del mondo. I loro indirizzi hanno un grande vantaggio: possono essere ricordati più facilmente. Dai un'occhiata a:

  • Primario: 8.8.8.8 Secondario: 8.8.4.4

Il DNS pubblico di Google ha anche indirizzi IPv6:

  • Primario: 2001: 4860: 4860:: 8888 Secondario: 2001: 4860: 4860:: 8844

Considerazioni finali su DNS

L'uso del DNS non è limitato a Internet, poiché questa risorsa può essere utilizzata, ad esempio, in reti locali o reti esterne. Può essere implementato praticamente su qualsiasi sistema operativo, come Unix e Windows, essendo le piattaforme più popolari. Lo strumento DNS più noto è BIND, che è gestito da Internet Systems Consortium.

Ti consigliamo server DNS gratuiti e pubblici 2018

Ogni amministratore di sistema (SysAdmin) deve occuparsi del DNS, poiché, se configurati correttamente, sono la base di una rete in cui vengono eseguiti i servizi. Comprendere come funziona il DNS e come possiamo migliorarlo è importante per far funzionare il servizio in modo corretto e sicuro.

Esercitazioni

Scelta dell'editore

Back to top button