Home
topics
DNS
Data di pubblicazione: 19 aprile 2024
Collaboratori: Chrystal R. China, Michael Goodwin
Il Domain Name System (DNS) è il componente del protocollo standard di internet responsabile della conversione di nomi di dominio di facile utilizzo in indirizzi di Internet Protocol (IP) utilizzati dai computer per identificarsi reciprocamente sulla rete.
Spesso viene chiamato "l'elenco del telefono di internet" ma, volendo utilizzare un'analogia più moderna, si può dire che il DNS gestisce i nomi di dominio in modo molto simile a quello delle rubriche degli smartphone. Gli smartphone fanno sì che gli utenti non debbano ricordare a memoria i singoli numeri di telefono, salvandoli invece in elenchi di contatti facilmente ricercabili.
Analogamente, il DNS consente agli utenti di connettersi ai siti web utilizzando i nomi di dominio internet invece degli indirizzi IP. Invece di dover ricordare che il server web si trova su "93.184.216.34", ad esempio, gli utenti possono semplicemente andare alla pagina web "www.esempio.com" per ottenere i risultati desiderati.
Scopri in che modo il Desktop as a Service (DaaS) consente alle aziende di raggiungere lo stesso livello di prestazioni e sicurezza della distribuzione delle applicazioni on-premise.
Prima del DNS, internet era una rete di computer in crescita, utilizzata principalmente da istituzioni accademiche e di ricerca. Gli sviluppatori collegavano manualmente i nomi host agli indirizzi IP utilizzando un semplice file di testo chiamato HOSTS.TXT. SRI International ha mantenuto questi file di testo e li ha distribuiti a tutti i computer su internet. Tuttavia, con l'espansione della rete, questo approccio è diventato sempre più insostenibile.
Per affrontare le limitazioni di HOSTS.TXT e creare un sistema più scalabile, Paul Mockapetris, computer scientist della University of Southern California, inventò il sistema di nomi di dominio nel 1983. Un gruppo di pionieri di internet contribuì alla creazione del DNS e creò la prima request for comments (RFC) che ha descritto le specifiche del nuovo sistema, RFC 882 e RFC 883. RFC 1034 e RFC 1035 hanno poi sostituito le precedenti RFC.
Alla fine, con l'espansione del DNS, la sua gestione divenne responsabilità dell'Internet Assigned Numbers Authority (IANA), prima di approdare sotto il controllo dell'organizzazione non profit Internet Corporation for Assigned Names and Numbers (ICANN) nel 1998.
Fin dall'inizio, gli sviluppatori hanno progettato il DNS con una struttura di database gerarchica e distribuita per facilitare un approccio più dinamico alla risoluzione dei nomi di dominio, in grado di tenere il passo con una rete di computer in rapida espansione. La gerarchia inizia con il livello principale, indicato da un punto (.), e si ramifica in domini di primo livello (TLD), come ".com", ".org", ".net" o TLD con codice paese (ccTLD) come ".uk" e ".jp", e domini di secondo livello.
L'architettura DNS è costituita da due tipi di server DNS: server ricorsivi e server autorevoli. I server DNS ricorsivi sono quelli che "chiedono", cercando le informazioni che collegano un utente a un sito web.
I server ricorsivi, noti anche come resolver ricorsivi o resolver DNS, sono generalmente gestiti da internet service provider (ISP), grandi imprese o altri provider di servizi DNS di terze parti. Agiscono per conto dell'utente finale per risolvere il nome di dominio in un indirizzo IP. I resolver ricorsivi memorizzano anche nella cache le risposte a una richiesta per un certo periodo (definito dal valore time-to-live, o TTL) per migliorare l'efficienza del sistema per le query future sullo stesso dominio.
Quando un utente digita un indirizzo web in un browser di ricerca, il browser si connette a un server DNS ricorsivo per risolvere la richiesta. Se il server ricorsivo ha la risposta memorizzata nella cache, può connettere l'utente e completare la richiesta. In caso contrario, il resolver ricorsivo interroga una serie di server DNS autorevoli per trovare l'indirizzo IP e connettere l'utente al sito web desiderato.
I server autorevoli forniscono le "risposte". I nameserver autorevoli conservano i record definitivi per un dominio e rispondono alle richieste relative ai nomi di dominio memorizzati all'interno delle rispettive zone (in genere, con risposte configurate dal proprietario del dominio). Esistono diversi tipi di nameserver autorevoli, ciascuno dei quali serve una funzione specifica all'interno della gerarchia DNS.
I nameserver DNS autorevoli includono:
I root nameserver si trovano in cima alla gerarchia DNS e sono responsabili della gestione della zona root (il database centrale del DNS). Rispondono alle domande per i record archiviati nella zona root e indirizzano le richieste al nameserver TLD appropriato.
Esistono 13 indirizzi IP utilizzati per interrogare 13 diverse reti di root server, identificate dalle lettere da A a M, che gestiscono le richieste per i domini di primo livello e indirizzano le query ai nameserver TLD appropriati. La Internet Corporation for Assigned Names and Numbers (ICANN) gestisce queste reti di root server.
I server TLD sono responsabili della gestione del livello successivo della gerarchia, inclusi i domini di primo livello generici (gTLD). I nameserver TLD indirizzano le query ai nameserver autorevoli per i domini specifici all'interno del loro TLD. Quindi il nameserver TLD per ".com" indirizzerà i domini che terminano in ".com", il nameserver TLD per ".gov" indirizzerà i domini che terminano con ".gov", e così via.
Il nameserver di dominio (a volte indicato come nameserver di dominio di secondo livello) contiene il file di zona con l'indirizzo IP per il nome di dominio completo, ad esempio "ibm.com".
Ogni query (a volte chiamate richieste DNS) nel DNS segue la stessa logica per risolvere gli indirizzi IP. Quando un utente inserisce un URL, il computer interroga progressivamente i server DNS per individuare le informazioni e i record di risorse appropriati per rispondere alla richiesta dell'utente. Questo processo continua finché il DNS non trova la risposta giusta dal server DNS autorevole associato a quel dominio.
Più nello specifico, la risoluzione delle query nel DNS coinvolge diversi processi e componenti chiave.
Un utente immette un nome di dominio, ad esempio "ibm.com". in un browser o app e la richiesta viene inviata a un resolver DNS ricorsivo. In genere, il dispositivo dell'utente dispone di impostazioni DNS predefinite, fornite dal provider di servizi Internet (ISP), che determinano quale resolver ricorsivo viene interrogato da un client.
Il resolver ricorsivo controlla nella sua cache, cioè l'archiviazione temporanea all'interno di un browser web o di un sistema operativo (come macOS, Windows o Linux) che contiene le precedenti ricerche DNS, l'indirizzo IP corrispondente del dominio. Se il resolver ricorsivo non trova dati di ricerca DNS nella sua cache, avvia il processo di recupero dai server DNS autorevoli, a partire dal server principale. Il resolver ricorsivo interroga la gerarchia DNS finché non trova l'indirizzo IP finale.
Il resolver ricorsivo interroga un root nameserver, che risponde con un rinvio al server TLD appropriato per il dominio in questione (il TLD name server responsabile, in questo caso, per i domini ".com").
Il resolver interroga il nameserver TLD ".com", che risponde con l'indirizzo del nameserver autorevole per "ibm.com". Questo server viene talvolta definito nameserver di dominio di secondo livello.
Il resolver interroga il nameserver del dominio, che cerca il file di zona DNS e risponde con il record corretto per il nome di dominio fornito.
Il resolver ricorsivo memorizza nella cache il record DNS per il tempo specificato dal TTL del record e restituisce l'indirizzo IP al dispositivo dell'utente. Il browser o l'app possono quindi avviare una connessione al server host a tale indirizzo IP per accedere al sito web o al servizio richiesto.
Oltre ai principali tipi di server, il DNS utilizza i file di zona e diversi tipi di record per agevolare il processo di risoluzione. I file di zona sono file basati su testo che includono mappature e informazioni su un dominio all'interno di una zona DNS.
Ogni riga di un file di zona specifica un record di risorse DNS (un singolo tipo di informazioni sulla natura di un particolare tipo o segmento di dati). I record delle risorse assicurano che, quando un utente invia una query, il DNS possa convertire rapidamente i nomi di dominio in informazioni fruibili che indirizzano gli utenti al server corretto.
I file di zona DNS iniziano con due record obbligatori: il time to live (TTL) globale, che indica come archiviare i record nella cache DNS locale, e il record start of authority (SOA), che specifica il nameserver autorevole primario per la zona DNS.
Dopo i due record primari, un file di zona può contenere diversi tipi di record, tra cui:
I record A mappano verso gli indirizzi IPv4 e i record AAAA mappano verso gli indirizzi IPv6.
I record MX specificano un server di posta SMTP per un dominio.
I record CNAME reindirizzano i nomi host da un alias a un altro dominio (il "dominio canonico").
I record NS indicano il nameserver autorevole per un dominio.
I record PTR specificano una ricerca DNS inversa, mappando gli indirizzi IP ai nomi di dominio.
I record TXT indicano il record del quadro dei criteri del mittente per l'autenticazione delle e-mail.
Le ricerche DNS comportano in genere tre tipi di query. Query ricorsive, che connettono il server ricorsivo e il client DNS risolvendo completamente il nome di dominio o restituendo un messaggio di errore all'utente, informandolo che non è possibile individuare il dominio.
Query iterative, che connettono resolver ricorsivi (un server DNS locale) e server DNS non locali (come root, TLD o server di nomi di dominio) e non richiedono la risoluzione del dominio. I server potrebbero anzi rispondere con un riferimento, in cui il server principale indirizza il resolver ricorsivo al TLD, che indirizza il resolver a un server autorevole che fornisce la risposta (se è disponibile). Pertanto, le query iterative vengono risolte con una risposta o un riferimento.
In caso di query non ricorsive, il resolver ricorsivo sa già dove trovare la risposta alla query, quindi queste si risolvono sempre con una risposta. Il resolver consente di risparmiare tempo trovando la risposta memorizzata nella cache sul server ricorsivo o saltando la root DNS e i nameserver TLD per passare direttamente al server autorevole appropriato. Se, ad esempio, il resolver ricorsivo fornisce un indirizzo IP memorizzato nella cache in una sessione precedente, la richiesta si qualificherà come query non ricorsiva.
Le organizzazioni hanno a disposizione una serie di opzioni per l'utilizzo del DNS, tra cui DNS pubblico e privato o una combinazione dei due. Il DNS pubblico e quello privato sono due cose completamente diverse. Per capire come utilizzare al meglio i DNS per soddisfare le esigenze organizzative, è importante capire come funziona ciascuna tipologia.
Il DNS pubblico di solito si riferisce al lato resolver del DNS e ai server ricorsivi utilizzati per interrogare i server dei nomi autorevoli e connettere gli utenti ai siti web.
Questi server sono accessibili a qualsiasi utente su internet e aziende come Cloudflare (1.1.1.1), Quad9 e OpenDNS in genere li forniscono gratuitamente. I server DNS pubblici vengono mantenuti dalle organizzazioni che li eseguono. Utenti e clienti non hanno alcun controllo sul loro funzionamento, sui loro criteri o sulla loro configurazione.
Il DNS privato si riferisce generalmente alla parte autorevole del DNS. All'interno di una rete privata, le organizzazioni configurano server DNS privati che fungono da server DNS autorevoli, fornendo una ricerca DNS per le risorse interne. I server DNS privati si trovano dietro un firewall e conservano solo i record dei siti interni, quindi l'accesso è limitato a utenti, dispositivi e reti autorizzati.
A differenza delle configurazioni di DNS pubbliche, il DNS privato offre alle organizzazioni il controllo sui propri server DNS, consentendo loro di personalizzare i record DNS, applicare schemi di denominazione interni e politiche di sicurezza specifiche. Ciò significa anche che le organizzazioni sono responsabili del mantenimento dell'infrastruttura, sia essa ospitata in data center locali o tramite servizi cloud.
Le soluzioni DNS gestite sostanzialmente esternalizzano il processo di gestione e orchestrazione dei server. Con un sistema gestito, il provider DNS gestisce tutti i protocolli di configurazione, manutenzione e sicurezza per i server DNS di un'organizzazione e il cliente utilizza l'infrastruttura del provider per gestire i nomi di dominio. In questo caso, quando un utente inserisce l'URL di un'azienda, viene reindirizzato dal nameserver di dominio dell'azienda ai server del provider, che recuperano tutte le risorse e rispondono all'utente.
Il DNS gestito può anche fornire servizi e vantaggi come il DNS dedicato, il bilanciamento del carico globale dei server, tempo di attività garantito, architettura API-first, supporto DNSSEC, reti anycast globali, tempi di propagazione accelerati, strumenti di monitoraggio e controllo dello stato, protezione dagli attacchi DDoS e altro ancora.
La maggior parte dei server DNS moderni sono abbastanza sicuri, anche nel caso del DNS pubblico. Tuttavia, anche i migliori sistemi DNS possono essere vulnerabili ai problemi di cybersecurity. Alcuni tipi di attacchi prendono di mira il lato autorevole del DNS, mentre altri mirano al lato ricorsivo. Questi attacchi includono:
Lo spoofing DNS (detto anche cache poisoning), che si verifica quando un utente malintenzionato inserisce record di indirizzi falsi nella cache di un resolver DNS, facendo sì che il resolver restituisca un indirizzo IP errato e reindirizzi gli utenti su siti dannosi. Lo spoofing può compromettere i dati sensibili e portare ad attacchi di phishing e distribuzione di malware.
L'amplificazione DNS è un tipo di attacco distributed denial-of-service (DDoS) in cui un aggressore invia piccole query a un server DNS con l'indirizzo di ritorno spoofed all'indirizzo IP della vittima. Questi attacchi si approfittano della natura stateless dei protocolli DNS e sfruttano il fatto che una piccola query può generare una risposta esterna.
A seguito di un attacco di amplificazione, il server DNS risponde con risposte molto più grandi, il che amplifica la quantità di traffico diretto all'utente, sovraccaricandone le risorse. Ciò può impedire il funzionamento del DNS e bloccare l'applicazione.
Il tunneling DNS è una tecnica utilizzata per bypassare le misure di sicurezza incapsulando il traffico non DNS, come HTTP, all'interno di query e risposte DNS. Gli aggressori possono utilizzare i tunnel DNS per inoltrare comandi malware o per sottrarre dati da una rete compromessa, spesso codificando il payload all'interno delle query e risposte DNS per evitare il rilevamento.
L'hijacking del dominio si verifica quando un utente malintenzionato ottiene l'accesso non autorizzato a un account di registrazione di domini e modifica i dettagli di registrazione di un dominio. L'hijacking consente ai malintenzionati di reindirizzare il traffico verso server dannosi, intercettare le e-mail e assumere in altro modo il controllo delle identità online degli utenti.
Le voci DNS trascurate per i sottodomini che puntano a servizi dismessi sono obiettivi primari per gli aggressori. Se un servizio (ad esempio un host cloud) è stato disattivato ma la voce DNS rimane, un utente malintenzionato può potenzialmente rivendicare il sottodominio e configurare un sito o un servizio dannoso al suo posto.
Indipendentemente dai servizi DNS scelti da un'organizzazione, è buona norma implementare i protocolli di sicurezza per ridurre al minimo le superfici di attacco DNS, mitigare i potenziali problemi di sicurezza e ottimizzare il DNS nei processi di rete. Alcune pratiche utili per consolidare la sicurezza DNS includono:
IBM NS1 Connect fornisce collegamenti veloci e sicuri agli utenti in qualsiasi parte del mondo con DNS premium e una gestione del traffico avanzata e personalizzabile. L'architettura API-first sempre attiva consente ai team IT di monitorare in modo più efficiente le reti, implementare modifiche e condurre la manutenzione ordinaria.
Identifica rapidamente errori di configurazione e problemi di sicurezza con report personalizzati in tempo reale basati sui dati di osservabilità DNS di IBM NS1 Connect DNS Insights.
IBM Cloud DNS Services offre servizi DNS autoritativi sia pubblici che privati caratterizzati da tempi di risposta rapidi, una ridondanza senza precedenti e funzionalità di sicurezza avanzata che vengono gestiti tramite l'interfaccia web IBM Cloud o tramite API.
Per molte aziende, i servizi DNS gratuiti offerti dai registrar di dominio o dai sistemi fai-da-te non sono sufficienti per fornire i servizi di cui i clienti hanno bisogno.
Se stai eseguendo l'accesso con un provider CDN (Content Delivery Network), probabilmente vedrai il DNS come parte del pacchetto di servizi standard. È facile, ma fornisce davvero ciò di cui hai bisogno?
Ci sono molti motivi per passare a una piattaforma DNS gestita, ma tutti ruotano intorno a un tema centrale.
Qualunque sia il motivo, che si tratti di funzionalità, costi, affidabilità o risorse, la maggior parte delle aziende si rende naturalmente conto della necessità di un servizio DNS gestito fornito da una terza parte
Un record DNS (Domain Name System) è un set di istruzioni utilizzate per collegare i nomi di dominio agli indirizzi IP (Internet Protocol) all'interno dei server DNS.
I server DNS traducono i nomi di dominio del sito Web che gli utenti cercano nei browser Web nei corrispondenti indirizzi IP numerici. Questo processo è noto come risoluzione DNS.