DNSSEC
Il DNS, il sistema che traduce nomi come esempio.com in indirizzi IP, è stato progettato nel 1983 senza autenticazione. Qualsiasi risposta che dichiarasse di provenire dal server autorevole di un dominio è stata accettata. DNSSEC risolve questo problema allegando firme crittografiche a ogni record DNS, consentendo ai client di verificare che la risposta non sia stata manomessa. L’adozione è stata lenta, ma dove è stata implementata funziona.
Il corpo completo dell'articolo è fornito in inglese di seguito.
DNSSEC (Domain Name System Security Extensions) aggiunge firme crittografiche ai record DNS, consentendo ai client di verificare l'autenticità e l'integrità delle risposte DNS. Senza DNSSEC, un utente malintenzionato della rete può falsificare le risposte DNS e reindirizzare il traffico ai server controllati dall'utente malintenzionato: la base del dirottamento DNS di . Con DNSSEC, le risposte contraffatte non superano la verifica della firma e vengono rifiutate.
Cosa aggiunge DNSSEC
Quattro nuovi tipi di record:
- RRSIG: una firma su un set di record. Ogni record firmato ha un RRSIG.
- DNSKEY corrispondente, la chiave pubblica utilizzata per verificare le firme RRSIG per una zona.
- DS (firmatario della delega), si trova nella zona padre e punta alla DNSKEY nel figlio. Stabilisce la catena di fiducia.
- NSEC/NSEC3 — dimostra che un nome NON esiste nella zona. Necessario perché "questo nome non esiste" è anche una risposta che deve essere autenticata.
Come funziona la verifica
Ter verificare l'IP di example.com:
- Il risolutore interroga example.com per il record A. Ottiene l'IP più una firma RRSIG.
- Resolver interroga example.com per la sua DNSKEY (la chiave di firma della zona, ZSK).
- Resolver verifica RRSIG utilizzando ZSK.
- Ter verificare la DNSKEY stessa, il risolutore interroga la zona padre (.com) per il record DS di example.com.
- Lil record DS contiene un hash della DNSKEY di example.com, firmato dalle chiavi di .com.
- Ricorre fino alla radice, la cui chiave pubblica è codificata nei risolutori.
Lil risultato finale: una catena verificata dalla radice attraverso .com a example.com, che termina con il record A originale. Viene rilevata qualsiasi manomissione in qualsiasi passaggio.
Tipi di chiave e rotazione
DNSSEC utilizza due tipi di chiave per zona:
- Zone-Signing Key (ZSK). Firma i record effettivi (A, MX, TXT, ecc.). Ruotato frequentemente (da mesi a un anno) perché è molto utilizzato.
- Chiave di firma chiave (KSK). Firma ZSK. Ruotato raramente perché è il punto di ancoraggio a cui fa riferimento la zona principale. Per ruotarlo è necessario coordinarsi con il registrar per aggiornare il record DS.
La KSK root viene ruotata circa una volta ogni cinque anni. La rotazione del 2017 è stata la prima in assoluto e ha richiesto anni di preparazione per garantire che i risolutori di tutto il mondo avessero la nuova chiave pubblica.
Adoption
DNSSEC l'adozione non è uniforme:
- TLD livello: La maggior parte dei principali TLD sono firmati. .com, .org, .net, .gov, la maggior parte dei codici paese.
- Livello di dominio: Circa il 5% dei domini .com ha DNSSEC abilitato a partire dal 2026: crescita lenta.
- Livello di risoluzione: Tutti i principali risolutori pubblici (1.1.1.1, 8.8.8.8, 9.9.9.9) convalidare DNSSEC. Anche la maggior parte dei risolutori ISP lo fanno. Quelli che non restituiscono semplicemente ciò che ottengono senza verifica.
- Livello client: La maggior parte dei sistemi operativi si affida al loro risolutore configurato per la convalida; non controllano le firme da soli. Alcune applicazioni e implementazioni DNS-over-HTTPS eseguono la convalida lato client.
Perché l'adozione è lenta
Diverse barriere:
- Complessità operativa. Le chiavi devono essere generate, le firme rigenerate quando i record cambiano, eseguite regolarmente. Un'errata configurazione interrompe completamente il dominio (ogni risolutore restituisce SERVFAIL).
- Larisposte DNS più grandi. Le risposte firmate sono molte volte più grandi di quelle non firmate. La vecchia infrastruttura DNS presupponeva che le risposte sarebbero state contenute in singoli pacchetti UDP; le risposte firmate spesso non lo fanno, richiedendo il fallback TCP.
- Lvantaggio limitato per l'utente finale. DNSSEC protegge dalla manomissione del livello DNS ma non dalla manomissione dell'IP di destinazione. La maggior parte degli utenti non si accorge della presenza o meno di DNSSEC.
- Alternative migliori per alcuni casi d'uso. Il DNS crittografato (DoH, DoT, DNSCrypt) protegge le query DNS da manomissioni sul percorso, risolvendo gran parte della stessa minaccia con minore complessità.
DNSSEC rispetto a crittografato DNS
Li due risolvono problemi sovrapposti ma distinti:
- DNSSEC dimostra che la risposta è autentica e non manomessa. La query stessa è ancora visibile alla rete.
- DNS crittografato nasconde la query e la risposta dalla rete, ma non dimostra che la risposta sia autentica: si fida semplicemente del risolutore configurato.
La configurazione più potente: DNS crittografato su un risolutore di convalida DNSSEC. Nascondi la query in transito, verifica la risposta crittograficamente. Cloudflare 1.1.1.1 e Google 8.8.8.8 su DoH forniscono entrambi oggi.
DANE: cosa abilita DNSSEC
Una tecnologia downstream sbloccata da DNSSEC è DANE (autenticazione delle entità denominate basata su DNS). DANE pubblica le impronte digitali del certificato TLS nel DNS, protette da DNSSEC. Un browser può verificare il certificato di un sito Web interrogando il DNS invece di affidarsi esclusivamente alle autorità di certificazione. L'adozione è limitata (utilizzata principalmente per SMTP, non HTTPS, a causa delle politiche di implementazione del browser).
Come verificare se un dominio è firmato DNSSEC
Controllo della riga di comando: dig +dnssec example.com: la risposta include le firme se DNSSEC è abilitato. Strumenti online come DNSSEC-Analyzer (Verisign Labs) mostrano visivamente l'intera catena di fiducia. Le estensioni del browser possono contrassegnare lo stato di convalida DNSSEC per pagina.
Domande frequenti
- Il mio dominio ha bisogno di DNSSEC?
- Non strettamente. La protezione che fornisce è significativa ma parziale. Per la maggior parte dei siti personali, il costo operativo della gestione di DNSSEC supera i vantaggi. Per i siti che gestiscono transazioni finanziarie, servizi governativi o obiettivi di alto valore, DNSSEC e DANE aggiungono un utile livello difensivo.
- DNSSEC impedirà tutti gli attacchi DNS?
- No. DNSSEC impedisce la manomissione della risposta DNS in transito, ma non impedisce: un server autorevole dannoso con firme valide, il controllo dell'account del registrar (l'aggressore pubblica nuove chiavi) o attacchi contro l'IP di destinazione dopo una risoluzione DNS legittima. È uno strato, non una soluzione completa.
- Perché il mio browser non controlla DNSSEC?
- I browser delegano la convalida DNSSEC al risolutore configurato. Se il risolutore convalida e rifiuta le risposte errate, il browser non le vede mai. Sono state proposte proposte per la convalida lato browser, ma non sono state adottate. Utilizza un risolutore di convalida (1.1.1.1, 9.9.9.9) e otterrai i vantaggi di DNSSEC.
- Cosa succede se un dominio firmato DNSSEC presenta un problema?
- La convalida fallisce e la maggior parte dei risolutori restituisce SERVFAIL. Il dominio sembra irraggiungibile. Ciò è accaduto in produzione (l'interruzione di HBO Max nel 2021 è stata un'errata configurazione DNSSEC). Il compromesso: quando DNSSEC funziona è sicuro; quando si rompe si rompe rumorosamente.
- DNSSEC è uguale a DNS su HTTPS?
- No. DNSSEC aggiunge firme alle risposte DNS per verificare l'autenticità. DNS su HTTPS (DoH) crittografa le query DNS in transito. Sono complementari ed è meglio usarli insieme.