Come funziona il protocollo DNSSEC?

Come proteggere il tuo dominio da azioni fraudolente con un’estensione di sicurezza DNS.

Prima di parlare di DNSSEC, facciamo una piccola introduzione su come funzionano i Server DNS (Domain Name System).
I DNS sono come un vero e proprio elenco telefonico che assegna i nomi a dominio a indirizzi specifici.

Il Domain Name System (DNS) ha una struttura gerarchica. I name server per “.ch” inoltrano automaticamente all’indirizzo corretto le richieste di nomi a dominio con l’estensione .ch (p.es. switch.ch). Fonte: nic.ch

Il Domain Name System Security Extensions (DNSSEC) è una firma crittografica che viene aggiunta ai record DNS per proteggere i dati trasmessi su reti IP (Internet Protocol). DNSSEC esiste perché gli architetti fondatori del DNS non hanno incluso alcuna misura di sicurezza del protocollo. Questa “svista” ha consentito agli hacker di crearsi opportunità di falsificare record e indirizzare gli utenti a siti web fraudolenti.
Il protocollo DNSSEC è stato quindi introdotto per aggiungere un livello di autenticità e integrità alle risposte DNS.

Panoramica generale DNS e DNSSEC

DNSSEC funziona aggiungendo firme crittografiche ai record DNS esistenti per stabilire un DNS sicuro. Le firme vengono archiviate nei server dei nomi DNS insieme a tipi di record comuni, come AAAA e MX.
Quindi, controllando che la firma corrisponda a un record DNS richiesto, puoi verificare che il record provenga direttamente dal suo name server autoritativo. Ciò significa che il record non è mai stato avvelenato o manomesso durante il suo transito digitale, impedendo così l’introduzione di record falsi.

Il protocollo DNSSEC (Domain Name System Security Extensions) viene utilizzato dunque per rafforzare la protezione del protocollo DNS poiché, come detto in precedenza, il protocollo DNS non è protetto per impostazione predefinita.

Per farla breve, un server che offre l’opzione DNSSEC per le sue zone e i suoi record DNS consente:

  • verifica dell’integrità di ogni record
  • convalida che il record proviene dal server DNS autorevole per il record (autenticità)
  • convalida che il server DNS sia considerato attendibile dal dominio superiore nella gerarchia DNS (chain of trust, o catena della fiducia).

Leggi anche “DNSSEC. Cos’è e perché usarlo

Il DNSSEC si aggiunge al processo di ricorsione standard utilizzato durante la risoluzione. Utilizza il percorso opposto, dal record fino alla root zone durante il processo di convalida, come mostrato nell’immagine sotto.

Immagine 1.
Fonte: efficientip.com

Il DNSSEC aiuta a prevenire molti tipi di attacchi ai DNS come l’avvelenamento della cache DNS (cache poisoning) e il DNS Spoofing.
Il DNSSEC non protegge l’intero server, protegge solo i dati scambiati tra le zone firmate. Per la memoria, DNSSEC non fornisce privacy e protezione.

Il DNSSEC protegge le informazioni DNS scambiate tra i server dei nomi configurati con DNSSEC, fornendo l’autenticazione dell’origine.
DNSSEC garantisce la protezione dei dati da una zona firmata all’altra, indipendentemente dal fatto che la risposta alla richiesta abbia esito positivo o meno.

In parole povere è come una messaggero che consegna e riporta indietro un pacchetto in modo sicuro, senza che nessuno lo intercetti e possa modificarne il contenuto o alterarlo in qualunque modo.

Il protocollo DNSSEC si basa su crittografia a chiave pubblica, certificati e firme digitali. Il quadro globale dei componenti e dei record è presentato nel diagramma dell’immagine 1.

Il processo di certificazione si basa principalmente sulla firma digitale. Ogni record è integrato dalla sua versione hash firmata che può essere utilizzata dal client o dal server DNS ricorsivo per verificare il record.
Le chiavi pubbliche sono pubblicate nei record per consentire al richiedente di convalidare le firme utilizzando il principio della firma digitale: una chiave privata utilizzata per produrre una firma che può essere validata utilizzando una chiave pubblica.

Raggruppamento dei record DNS in RRSet

L’integrazione di DNSSEC con il tuo dominio inizia con il raggruppamento dei record DNS per nome e tipo di record in set di record di risorse (RRSet). Il DNS stesso è suddiviso in zone DNS. Una zona è una parte dello spazio dei nomi DNS complessivo che viene supervisionata dall’organizzazione generale del proprietario del DNS o da un amministratore di rete. Questa zona consente una manutenzione approfondita dei componenti DNS, come i server dei nomi autorevoli.

Ogni zona DNS ha un set di chiavi pubbliche e private note come chiave di firma della zona (ZSK) che viene utilizzato per firmare i record contenuti all’interno della zona. La firma risultante viene pubblicata come record RRSIG nel file di zona stesso. Ad esempio, se il nome host “www.attivadnssec.it” include sia un record A che un record AAAA, il file di zona pubblicherà un record RRSIG corrispondente per ogni versione IP.
Questo record viene pubblicato affinché il cliente convalidi l’integrità del contenuto della risposta. Il contenuto del record RRSIG è una firma dell’hash del record.

La parte privata della chiave è protetta dal proprietario della zona.
La parte pubblica è pubblicata come record (DNSKEY ZSK – id xxx).

Isolando le zone DNS l’una dall’altra, le zone adiacenti sono protette nell’eventualità che una zona venga infettata da un utente malintenzionato.

Integrità dei record DNS

DNSSEC controlla l’integrità dei record raccolti nelle risposte DNS. Dopo aver ricevuto una risposta DNS da una richiesta di un record, il client può convalidare l’integrità di questo record. È possibile convalidare l’integrità dei record forniti da una cache o da una risposta autorevole.

Il controllo di integrità si basa sulla crittografia tramite firme: un hash del record firmato con la chiave privata può essere verificato con la chiave pubblica, il record e la firma. La firma viene applicata a un hash del record, consentendo la firma su qualsiasi tipo di record di qualsiasi lunghezza.

Il processo di verifica garantisce che il record sia stato firmato con la ZSK nella zona.

  1. Acquisito il record A utilizzando la query DNS, calcola l’hash
  2. Utilizzando la query DNS (DNSKEY ZSK) ottiene la chiave pubblica della chiave di firma della zona
  3. Acquisisce la firma del record utilizzando la query DNS (RRSIG A)
  4. Verifica la firma utilizzando la chiave pubblica, l’hash e la firma

Immagine 2.
Fonte: efficientip.com

Firme dei record di risorse RRSIG

Un record RRSIG contiene una firma DNSSEC digitale di un RRSet (set di record di risorse). Queste firme digitali vengono utilizzate per autenticare tutti i dati che si trovano negli RRSet firmati. I resolver possono verificare la firma con una chiave pubblica memorizzata in un record DNSKEY.

Questi RRSet per i tipi di record e i nomi di dominio di proprietà vengono archiviati all’interno di una zona DNS firmata. Quando un server dei nomi di dominio utilizza la chiave privata di una coppia ZSK per firmare gli RRSet all’interno di una determinata zona, viene utilizzato un record RRSIG per memorizzare le firme digitali di ciascun RRSet. Come tale, una zona firmata contiene un record RRSIG per ogni RRSet.

Autenticità dei record DNS

Il DNSSEC garantisce che le richieste dei client ricevano risposta dalla zona corretta. Per essere sicuri che la chiave utilizzata per firmare il record sia valida e associata alla zona legittima, utilizziamo il seguente processo di verifica:

  1. Ottenere la Zone Signing Key pubblica della zona utilizzando la query DNS (DNSKEY KSK)
  2. Ottenere la firma del record di chiave pubblica Zone Signing Key utilizzando i DNS (RRSIG DNSKEY ZSK)
  3. Verificare la firma della ZSK con la chiave pubblica della KSK
  4. Dalla chiave pubblica KSK, costruisce l’hash che crea il record DS
  5. Ottiene il record DS dalla zona più in alto utilizzando il DNS
  6. Confronta il DS contenuto nella zona più in alto e l’hash.

Immagine 3.
Fonte: efficientip.com

Chain of Trust (Catena della fiducia)

Per accertare che la firma del record DNS sia pienamente valida, possiamo reiterare la convalida attraverso il record DS fino ai root server DNS.
Poiché tutti i domini sono collegati tra loro nella gerarchia DNS, la chiave KSK di ciascuno è riportata nel record DS del dominio nella zona più in alto. Il dominio principale non può essere convalidato con lo stesso principio poiché la chiave DS non è archiviata in un altro dominio. Il contenuto delle chiavi root anchor dovrebbe essere raccolto attraverso un altro canale.

Devo abilitare DNSSEC sul mio dominio?

Il DNSSEC aiuta a proteggere il tuo dominio dall’avvelenamento della cache e dalla contraffazione delle risposte. È un’aggiunta determinante per il tuo dominio, perché il clima digitale di oggi richiede che l’architettura del proprietario di un sito web sia protetta dall’inizio alla fine e un attacco DNS riuscito può danneggiare notevolmente la reputazione di un marchio.

La risoluzione DNS si verifica prima che un utente interagisca con l’applicazione di un sito web. Se il DNS viene intercettato da un utente malintenzionato, un utente che cerca di visitare un sito web può interfacciarsi con un sito falso (destinato a ingannare l’utente) anziché con il sito previsto. L’architettura di memorizzazione nella cache del protocollo rende difficile correggere rapidamente i record avvelenati.

Pertanto, anche se un sito web è rafforzato da firewall potenti, i dati e la tecnologia di un utente finale saranno a rischio se l’architettura DNS di un sito non è sufficientemente protetta con l’utilizzo di DNSSEC.

Rischi dell’abilitazione di DNSSEC

Sebbene DNSSEC sia un protocollo per aumentare la sicurezza della rete, può introdurre vulnerabilità critiche.
DNSSSEC protegge solo dagli attacchi ai DNS e non da altre tipologie di attacco quali DDoS (distributed denial-of-service).

DNSSEC aumenta il numero di risposte alle query DNS, poiché la tecnologia richiede campi aggiuntivi e informazioni crittografiche per verificare correttamente i record. Ciò significa che un grosso volume di risposte può generare un volume di attacchi maggiore da parte di malintenzionati contro una zona rispetto a quello che potrebbero fare se DNSSEC non fosse abilitato. L’ergomento sicurezza è sempre delicato, c’è sempre un modo nuovo di generare attacchi e un modo nuovo per difendersi.
I professionisti del settore lavorano ogni giorno per sviluppare architetture migliori, più sicure, sistemi di sicurezza più evoluti, al passo con la velocità con cui oggi si verificano episodi di tipo malevolo.

DNSSEC è incluso gratuitamente nel dominio di Register.it

Registra un dominio con Register.it e avrai incluso il protocollo DNSSEC su moltissimi TLD.

Registra subito il tuo nome scegliendo la tua estensione preferita, gestisci DNSSEC con un semplice click e proteggi il tuo dominio da azioni fraudolente.

Vuoi saperne di più sul DNSSEC?

Abbiamo recentemente organizzato un webinar online dedicato Certificati SSL e il DNSSEC in ottica di sicurezza.

Te lo sei perso? Puoi recuperare il video qui o nella pagina dedicata al corso in cui sono disponibili anche le slide mostrate durante il webinar e la documentazione del corso.

Condividi

Articoli correlati

Inizia a scrivere il termine ricerca qua sopra e premi invio per iniziare la ricerca. Premi ESC per annullare.

Torna in alto