Perché verificare DNSSEC?
DNSSEC (DNS Security Extensions) aggiunge firme crittografiche alle risposte DNS. Senza queste firme, un attaccante può falsificare le risposte e dirottare il traffico. Questo attacco si chiama DNS cache poisoning ed è invisibile per l'utente finale.
Basta un DS mal configurato per spezzare l'intera catena. Quando succede, i resolver validanti restituiscono SERVFAIL. Il tuo sito funziona dalla tua rete, ma milioni di utenti non vedono nulla. Nessun monitor HTTP, nessun ping, nessun uptime check rileverà questo problema. Solo un test specifico DNSSEC rivela il guasto.
Un DS orfano dopo un key rollover mal gestito. Una firma scaduta durante la notte. Questi guasti silenziosi persistono per giorni, finché qualcuno non avvia un controllo.
Quattro motivi per verificare il tuo DNSSEC ora:
- Sicurezza: Solo una chain of trust intatta garantisce che i visitatori raggiungano i tuoi server, non la copia di un attaccante.
- Disponibilità: Una catena spezzata blocca il 30%+ delle query DNS mondiali. Google, Cloudflare e Quad9 rifiutano la risposta.
- Conformità: Banche, pubblica amministrazione, sanità ed e-commerce richiedono sempre più spesso DNSSEC per tutti i domini.
- Rilevamento proattivo: DS orfani, algoritmi deprecati e firme RRSIG in scadenza vanno individuati prima che provochino un'interruzione.
Come utilizzare il DNSSEC Checker in 3 passaggi
Passaggio 1: Inserisci il tuo dominio
Inserisci il nome di dominio da verificare, ad esempio cloudflare.com o nic.fr. Lo strumento accetta qualsiasi dominio, firmato DNSSEC o meno. Se DNSSEC non è attivo, lo saprai immediatamente.
Passaggio 2: Scegli la modalità di analisi
- Modalità Semplice (predefinita): Verifica la chain of trust completa interrogando un server autoritativo per zona. Risultato in 1-3 secondi.
- Modalità Completa: Tutto ciò che include la Semplice, più la coerenza DNSKEY multi-server e la validazione RRSIG sui dati (SOA, NS, A, MX). Risultato in 5-10 secondi.
Usa la modalità Completa dopo un key rollover, una migrazione DNS o per un audit di sicurezza. Nel dubbio, inizia con la modalità Semplice.
Passaggio 3: Analizza il report e correggi
Il report classifica ogni risultato per gravità, zona per zona:
- Errori: Catena spezzata, firme non valide, incoerenza tra server. Bloccano la risoluzione.
- Avvertimenti: DS orfani, algoritmi deboli, RRSIG in scadenza. Richiedono attenzione.
- Informazioni: CSK rilevata, NS fuori bailiwick, numero di DS nel parent. Utili a titolo informativo, nessuna azione necessaria.
Cos'è la chain of trust DNSSEC?
La chain of trust DNSSEC funziona come una staffetta di verifiche crittografiche a cascata. Ogni zona garantisce per la successiva. Parte dalla root DNS e arriva fino al tuo dominio:
Root (.)
|-- DS del TLD --> verifica la DNSKEY del TLD (KSK)
|-- La ZSK del TLD firma il DS del tuo dominio
|-- DS del tuo dominio --> verifica la tua DNSKEY (KSK)
|-- La tua KSK firma il DNSKEY RRSet
|-- La tua ZSK firma i dati (A, MX, SOA, NS)
I record chiave:
| Record | Ruolo | Dove è pubblicato |
|---|---|---|
| DS (Delegation Signer) | Hash di una DNSKEY figlia, crea il collegamento tra zone | Zona parent |
| DNSKEY | Chiave pubblica della zona (KSK = flags 257, ZSK = flags 256) | Zona figlia |
| RRSIG | Firma crittografica di un insieme di record | Zona figlia |
| NSEC/NSEC3 | Prova autenticata di inesistenza di un record | Zona figlia |
Ogni anello dipende dal precedente. Un solo anello spezzato e l'intera catena crolla. I resolver restituiscono SERVFAIL per tutto il dominio, non solo per la zona difettosa.
Cosa verifica esattamente lo strumento?
Modalità Semplice
| Elemento | Descrizione | Risultato |
|---|---|---|
| DS Records | Record DS pubblicati presso il parent | Corrispondenza con DNSKEY, orfani, digest debole |
| DNSKEY Records | Chiavi pubbliche della zona (KSK/ZSK) | Presenza, algoritmo, associazione DS |
| RRSIG su DS | Firma del DS RRSet da parte della ZSK del parent | Validità crittografica + finestra temporale |
| RRSIG su DNSKEY | Firma del DNSKEY RRSet da parte della KSK | Validità crittografica + finestra temporale |
| Algoritmi | Tipo di algoritmo di firma | Rilevamento algoritmi deprecati (RFC 8624) |
| Digest DS | Tipo di hash del DS | Rilevamento SHA-1 deprecato |
Modalità Completa (in aggiunta)
| Elemento | Descrizione | Risultato |
|---|---|---|
| Coerenza DNSKEY | Confronta le DNSKEY su tutti i server autoritativi | Rilevamento incoerenze tra server |
| RRSIG su SOA | Firma del record SOA | Validità + tempo residuo prima della scadenza |
| RRSIG su NS | Firma dei record NS | Validità + tempo residuo prima della scadenza |
| RRSIG su A/MX | Firme dei record A e MX | Validità + tempo residuo prima della scadenza |
| Scadenza RRSIG | Tempo residuo prima della scadenza di ogni firma | Allarme se scadenza entro 7 giorni |
Diagnosi comuni e soluzioni
DS orfano (DNSSEC_DS_ORPHAN)
Sintomo: Un record DS nel parent non ha nessuna DNSKEY corrispondente nella tua zona.
Causa probabile: Key rollover incompleto. La vecchia chiave è stata eliminata dalla zona prima dell'aggiornamento del DS presso il registrar.
Azione: Elimina il DS orfano tramite il registrar. Oppure riaggiungi la DNSKEY corrispondente. Rilancia il checker per confermare.
Algoritmo debole (DNSSEC_WEAK_ALGO)
Sintomo: La tua zona utilizza un algoritmo di firma considerato non sicuro dalla RFC 8624.
Algoritmi interessati: RSAMD5 (1), DSA (3), DSA-NSEC3-SHA1 (6) sono vietati. RSASHA1-NSEC3-SHA1 (7) è sconsigliato.
Azione: Migra verso ECDSAP256SHA256 (13) o ED25519 (15). Sicurezza migliore, firme 4 volte più compatte di RSA-2048.
Digest SHA-1 (DNSSEC_WEAK_DIGEST)
Sintomo: Il tuo DS utilizza SHA-1 (tipo 1) come tipo di digest.
Azione: Aggiungi un DS SHA-256 (tipo 2) in parallelo. Attendi 48 ore di propagazione. Solo dopo, elimina il DS SHA-1.
SERVFAIL dopo l'attivazione di DNSSEC
Sintomo: Il tuo dominio restituisce SERVFAIL per i resolver validanti dopo l'attivazione di DNSSEC.
Cause frequenti:
- DS nel registrar non corrisponde alla DNSKEY della tua zona
- Firme RRSIG non generate o scadute
- Server autoritativi che non servono i record DNSKEY
Azione: Avvia il test in modalità Completa per individuare l'anello spezzato. Verifica prima che il DS corrisponda alla KSK: stesso key tag, stesso algoritmo.
Incoerenza DNSKEY tra server (DNSSEC_SERVER_INCONSISTENT)
Sintomo: I server autoritativi della tua zona non servono le stesse chiavi DNSKEY. Rilevato solo in modalità Completa.
Causa probabile: Propagazione incompleta tra server primario e secondari, oppure configurazione diversa su un server.
Azione: Verifica la replica tra i tuoi server DNS. Forza un trasferimento di zona (AXFR/IXFR) se necessario. Rilancia il test dopo qualche minuto per confermare.
Verificare DNSSEC con dig (riga di comando)
Per i sysadmin che preferiscono il terminale, dig permette di verificare DNSSEC manualmente:
# Verificare i record DS nel parent
dig DS captaindns.com +short
# Verificare le DNSKEY della zona
dig DNSKEY captaindns.com +dnssec +short
# Verificare le RRSIG su un record
dig A captaindns.com +dnssec
# Verificare la catena completa con validazione
dig captaindns.com +sigchase +trusted-key=./root.keys
Questi comandi richiedono competenze DNS e accesso al terminale. Il DNSSEC Checker qui sopra fa lo stesso lavoro automaticamente, con risultati visivi e zero riga di comando.
DNSSEC per provider DNS
L'attivazione di DNSSEC richiede la collaborazione tra provider DNS e registrar. Ecco come si posizionano i principali provider:
| Provider | DNSSEC | Attivazione | Algoritmo predefinito |
|---|---|---|---|
| Cloudflare | Automatico | Un clic nella dashboard, poi aggiunta del DS nel registrar | ECDSAP256SHA256 (13) |
| OVH | Supportato | Attivazione tramite lo spazio cliente o l'API | Varia secondo la configurazione |
| AWS Route 53 | Supportato | Tramite la console AWS, creazione KSK poi DS nel registrar | ECDSAP256SHA256 (13) |
| Gandi | Automatico | Attivo di default se Gandi è registrar + provider DNS | ECDSAP256SHA256 (13) |
| Infomaniak | Supportato | Attivazione tramite il manager | ECDSAP256SHA256 (13) |
Dopo l'attivazione, verifica sempre la chain of trust con lo strumento qui sopra. L'errore n. 1: un DS nel registrar che non corrisponde alla DNSKEY generata dal provider.
Best practice DNSSEC
Algoritmo di firma: Usa ECDSAP256SHA256 (13) o ED25519 (15). ECDSA produce firme 4 volte più compatte di RSA-2048. Evita RSA salvo vincoli di compatibilità.
Digest DS: Pubblica un DS con SHA-256 (tipo 2). Aggiungi SHA-384 (tipo 4) se il registrar lo supporta. Non pubblicare mai un DS SHA-1 da solo.
Key rollover: Segui il processo RFC 7583. Non eliminare mai il vecchio DS prima che il nuovo sia propagato. Avvia il DNSSEC Checker dopo ogni rotazione per confermare zero DS orfani.
Monitoring: Verifica la chain of trust dopo ogni modifica DNS. Le firme RRSIG hanno una durata finita: se la zona non viene rifirmata in tempo, i resolver restituiscono SERVFAIL senza preavviso.
Migrazione di provider: Conferma che il nuovo provider supporti DNSSEC con lo stesso algoritmo prima di migrare. Durante la migrazione, i due set di chiavi devono coesistere fino al completamento della propagazione.
Casi d'uso concreti
Attivazione DNSSEC presso un nuovo registrar
Hai appena attivato DNSSEC? Avvia subito una verifica in modalità Semplice. Conferma che il DS nel parent corrisponda alla DNSKEY della tua zona. Una sola discrepanza significa SERVFAIL per ogni resolver validante.
Key rollover
Dopo un key rollover, cerca DS orfani con la modalità Semplice. Un vecchio DS non eliminato non blocca la risoluzione oggi. Ma segnala manutenzione incompleta e complicherà il prossimo rollover.
Migrazione di provider DNS
Stai migrando a Cloudflare, Route 53 o un altro provider? Avvia il test in modalità Completa. Verifica tre cose: i DS puntano alle nuove DNSKEY, le firme sono valide su tutti i server autoritativi, le chiavi sono coerenti su ogni server.
Audit di sicurezza
La modalità Completa è il tuo report di conformità DNSSEC. Copre la coerenza DNSKEY tra tutti i server autoritativi, la validità delle firme sui dati (SOA, NS, A, MX) e i giorni residui prima della scadenza di ogni RRSIG.
Dominio che restituisce SERVFAIL
Utenti segnalano che il tuo sito è irraggiungibile da alcune reti? Probabilmente reti con resolver validanti. Avvia il test immediatamente. Se la catena è spezzata, lo strumento mostra esattamente dove.
FAQ - Domande frequenti
D: Cos'è DNSSEC e perché attivarlo?
R: DNSSEC aggiunge firme crittografiche alle risposte DNS. Senza di esso, un attaccante può falsificare le risposte e dirottare il traffico (cache poisoning). Con DNSSEC, i resolver possono verificare che le risposte siano autentiche.
D: Come verificare se DNSSEC è attivo sul mio dominio?
R: Inserisci il tuo dominio nello strumento qui sopra. Se mostra "DNSSEC non è attivo", nessun record DS esiste presso il registry parent. Contatta il tuo registrar per attivarlo.
D: Cos'è un DS orfano?
R: Un record DS nel parent senza DNSKEY corrispondente nella zona figlia. Di solito risulta da un key rollover incompleto. Non è bloccante se esiste un altro DS valido, ma indica una lacuna nella configurazione.
D: Perché il mio dominio restituisce SERVFAIL dopo l'attivazione di DNSSEC?
R: La chain of trust è spezzata. Tre cause frequenti: DS/DNSKEY non corrispondenti nel registrar, firme RRSIG mancanti o scadute, oppure server autoritativi che non servono le DNSKEY. Avvia la modalità Completa per trovare l'anello esatto.
D: Qual è la differenza tra la modalità Semplice e Completa?
R: La Semplice verifica la catena DS/DNSKEY/RRSIG su un server per zona (1-3 secondi). La Completa aggiunge la coerenza DNSKEY multi-server e le firme RRSIG sui dati SOA/NS/A/MX (5-10 secondi).
D: Quali algoritmi DNSSEC sono raccomandati?
R: ECDSAP256SHA256 (13) ed ED25519 (15). Evita RSAMD5, DSA e RSASHA1-NSEC3-SHA1. La RFC 8624 li classifica come deboli o vietati.
D: DNSSEC rallenta la risoluzione DNS?
R: Impatto trascurabile con i resolver moderni. Le risposte sono leggermente più grandi a causa delle firme, ma i resolver mettono in cache i risultati validati come quelli non firmati.
Strumenti complementari
| Strumento | Utilità |
|---|---|
| DNS Domain Check | Audit completo della configurazione DNS con verifica DNSSEC di base |
| DNS Lookup | Interrogare manualmente i record DS, DNSKEY o RRSIG |
| DNS Propagation Test | Verificare la propagazione delle modifiche DNSSEC nel mondo |
| RDAP Lookup | Verificare lo stato DNSSEC del dominio presso il registrar |
Risorse utili
- RFC 4033 - DNS Security Introduction: Introduzione alle estensioni DNSSEC
- RFC 4034 - Resource Records for DNSSEC: Specifica dei record DS, DNSKEY, RRSIG, NSEC
- RFC 8624 - Algorithm Implementation Requirements: Requisiti sugli algoritmi DNSSEC
- RFC 7583 - DNSSEC Key Rollover Timing: Guida al key rollover
- Verisign DNSSEC Debugger: Strumento di riferimento per il debug DNSSEC
- DNSViz: Visualizzazione avanzata della catena DNSSEC