🌐 Reti e infrastrutture

DNSSEC: come funziona e come attivarlo sul tuo dominio

DNSSEC spiegato senza formule: catena di fiducia, record DS e DNSKEY, attivazione dal registrar, rischi nei cambi di provider e verifiche da fare dopo.

Il DNS è nato in un'epoca in cui ci si fidava della rete. Una risposta DNS normale non contiene alcuna prova di provenienza: il resolver accetta ciò che riceve, purché arrivi nel modo atteso. DNSSEC aggiunge alle risposte una firma digitale verificabile, così che un resolver possa accorgersi se qualcuno le ha falsificate o alterate lungo il percorso.

Il problema che risolve

Senza DNSSEC, un attaccante in grado di inserire risposte false nella cache di un resolver (il cosiddetto avvelenamento della cache) può indirizzare gli utenti verso server diversi da quelli reali. HTTPS limita molto i danni, perché il browser segnala un certificato non valido, ma il DNS non serve solo al web: posta, aggiornamenti software, telefonia e molti servizi interni si basano su risposte DNS corrette.

DNSSEC garantisce due cose:

  • autenticità: la risposta proviene davvero dalla zona che dichiara di rappresentare;
  • integrità: nessuno l'ha modificata in transito.

Va chiarito cosa non fa: non cifra le richieste e non nasconde quali siti visiti. Per la riservatezza esistono protocolli diversi, come DNS over HTTPS o DNS over TLS. I due approcci sono complementari.

La catena di fiducia, in parole semplici

Ogni zona firmata pubblica le proprie chiavi pubbliche in record chiamati DNSKEY e affianca a ciascun gruppo di record una firma, contenuta in record RRSIG. Un resolver può verificare la firma con la chiave della zona.

Ma come fa il resolver a fidarsi di quella chiave? Grazie alla zona superiore. Il dominio padre pubblica un record DS (Delegation Signer), che contiene un'impronta della chiave del dominio figlio. A sua volta, il record DS è firmato con la chiave del padre.

Si forma così una catena:

  1. la radice del DNS è firmata, e i resolver conoscono in anticipo la sua chiave;
  2. la radice firma il record DS del TLD, per esempio .it;
  3. il TLD firma il record DS di esempio.it;
  4. esempio.it firma i propri record, come l'indirizzo di www.

Se un anello manca o non corrisponde, il resolver che valida DNSSEC rifiuta la risposta e restituisce un errore (SERVFAIL), invece di fornire un dato potenzialmente falso.

Due tipi di chiave

Molte configurazioni usano due chiavi distinte:

Chiave Funzione Frequenza di cambio
KSK (Key Signing Key) Firma solo l'insieme delle chiavi; la sua impronta va nel DS presso il padre Rara
ZSK (Zone Signing Key) Firma i record della zona Più frequente

La separazione permette di rinnovare la ZSK senza dover toccare il record DS presso il registrar. Alcuni provider usano invece una chiave unica: per chi gestisce un dominio la differenza è spesso invisibile, perché tutto è automatizzato.

Come si attiva in pratica

Per la maggior parte dei domini la procedura è semplice:

  1. attiva la firma nel pannello del provider DNS che ospita la zona; il provider genera le chiavi e firma i record automaticamente;
  2. copia i dati del record DS che il provider ti mostra (identificativo della chiave, algoritmo, tipo di impronta, impronta);
  3. inseriscili presso il registrar, nella sezione DNSSEC del dominio. Se registrar e provider DNS coincidono, spesso basta un clic;
  4. verifica con uno strumento di analisi DNSSEC o con dig +dnssec esempio.it: nelle risposte devono comparire i record RRSIG, e un resolver validante deve indicare la risposta come autenticata.

Alcuni registri e provider supportano anche la pubblicazione automatica del DS tramite record CDS, riducendo il lavoro manuale.

Il momento critico: cambiare provider DNS

La maggior parte dei disservizi legati a DNSSEC nasce da un trasloco fatto male. Se sposti la zona su un nuovo provider lasciando al registrar il vecchio record DS, i resolver validanti troveranno chiavi che non corrispondono e considereranno il dominio non valido. Sito e posta diventano irraggiungibili per una larga parte degli utenti.

La sequenza più sicura, se il nuovo provider non supporta una migrazione con chiavi condivise, è:

  1. rimuovere il record DS presso il registrar;
  2. attendere che scada il TTL del DS nella zona del TLD;
  3. spostare i server NS sul nuovo provider;
  4. attivare la firma sul nuovo provider e pubblicare il nuovo DS.

Così il dominio resta temporaneamente non firmato, ma sempre raggiungibile.

Vale la pena attivarlo?

Per un dominio che ospita servizi importanti, sì, a patto che il provider gestisca il rinnovo delle firme in automatico. Le firme hanno una scadenza: se non vengono rigenerate, il dominio smette di risolvere. È per questo che conviene affidarsi a provider che automatizzano l'intero ciclo e tenere traccia di dove è attivo DNSSEC.

In sintesi

  • DNSSEC firma le risposte DNS e ne garantisce autenticità e integrità, non la riservatezza.
  • La fiducia scende dalla radice ai TLD ai domini tramite i record DS e DNSKEY.
  • Si attiva firmando la zona presso il provider e pubblicando il DS presso il registrar.
  • Il rischio principale è il cambio di provider con un DS non aggiornato.
  • Affidati a provider che rinnovano le firme automaticamente.
MM
Marco Marzaduri

Marco Marzaduri si occupa di cybersecurity, informatica forense e sviluppo web. Laureato in informatica, unisce il rigore dell'analisi tecnica all'attenzione per le persone che usano la tecnologia.

Leggi anche