Che cos'è il DNSSEC? Le estensioni di sicurezza del DNS spiegate
Il DNSSEC (DNS Security Extensions) è un insieme di estensioni che aggiungono l'autenticazione crittografica alle risposte DNS. Senza DNSSEC un attaccante può falsificare le risposte DNS e reindirizzare il traffico verso server malevoli, una tecnica nota come cache poisoning del DNS.
Il problema che il DNSSEC risolve
Il DNS classico è stato progettato senza pensare alla sicurezza. Quando il tuo computer chiede «qual è l'indirizzo IP di bank.com?», si fida della risposta che riceve. Un attaccante posizionato tra te e il server DNS può iniettare una risposta falsa e reindirizzarti a un sito di phishing.
Il DNSSEC risolve il problema facendo firmare alle zone DNS i propri record con una chiave privata. I resolver possono verificare la firma usando la corrispondente chiave pubblica, assicurandosi che la risposta provenga dal legittimo proprietario della zona.
Come funziona il DNSSEC
- Il proprietario della zona genera una coppia di chiavi (record DNSKEY) e firma tutti i record DNS con la chiave privata, producendo record RRSIG
- La chiave pubblica (DNSKEY) viene pubblicata nel DNS
- Un hash della chiave pubblica (record DS) viene inviato alla zona superiore (.com, .org, ecc.)
- Anche la zona superiore è firmata, e così via fino alla zona radice
- Quando un resolver riceve una risposta DNS, segue la catena di fiducia dalla radice in giù per verificare le firme
Tipi di record del DNSSEC
| Record Type | Purpose |
|---|---|
DNSKEY | La chiave pubblica di firma della zona |
DS | Hash della DNSKEY della zona figlia, memorizzato nella zona superiore |
RRSIG | Firma crittografica su un insieme di record DNS |
NSEC / NSEC3 | Prova che un record non esiste (negazione di esistenza) |
La catena di fiducia
Il DNSSEC crea una catena di fiducia dalla zona radice fino ai singoli domini:
Root zone (.) ← Trust anchor, key is published by IANA
└─ .com zone ← Signed, DS record in root zone
└─ example.com ← Signed, DS record in .com zone
└─ DNS records ← Signed with example.com's keyLa chiave della zona radice (il «trust anchor») è integrata nei resolver che validano il DNSSEC. È il punto di partenza di ogni verifica.
Il DNSSEC NON cifra il traffico
Un malinteso comune: il DNSSEC autentica le risposte DNS ma non le encrypt . Query e risposte DNS viaggiano ancora in chiaro. Per la riservatezza usa:
- DNS-over-HTTPS (DoH) — cifra il traffico DNS su HTTPS
- DNS-over-TLS (DoT) — cifra il traffico DNS su TLS
Come attivare il DNSSEC per il tuo dominio
- Verifica che il tuo provider di hosting DNS supporti la firma DNSSEC
- Attiva la firma DNSSEC nel pannello di controllo del tuo provider DNS
- Il provider genera i record DNSKEY e firma la tua zona
- Copia i valori del record DS mostrati dal tuo provider DNS
- Invia il record DS al tuo registrar (di solito dal suo pannello di controllo)
- Attendi la propagazione (può richiedere fino a 48 ore)
Controlla lo stato del tuo DNSSEC
Vedi la teoria in pratica: esegui Verifica DNSSEC sul tuo dominio.