0Pricing
Security+ Academy · Lezione

DNS sicuro: DNSSEC e DNS su HTTPS (DoH)

Scopra come DNSSEC impedisca l'avvelenamento della cache DNS e come DNS su HTTPS e DNS su TLS proteggano la privacy delle query dagli osservatori sul percorso di rete.

DNS sicuro: DNSSEC e DNS su HTTPS (DoH) è una lezione Security+ Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Security+ Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Security+ Academy include 4 lezioni in totale.

Problemi di sicurezza del DNS

Il Domain Name System (DNS) traduce i nomi di dominio leggibili dagli esseri umani in indirizzi IP. Progettato negli anni '80, il DNS è stato creato senza funzionalità di sicurezza: query e risposte viaggiano in chiaro sulla porta UDP/TCP 53, senza autenticazione. Questo crea due vulnerabilità principali: il DNS cache poisoning (iniezione di risposte DNS falsificate per reindirizzare gli utenti verso server dannosi) e l'intercettazione DNS (osservare i domini richiesti da un utente rivela la sua attività di navigazione). Due standard affrontano questi problemi: DNSSEC impedisce la falsificazione e DNS over HTTPS (DoH) impedisce l'intercettazione.

DNS Cache Poisoning

Il DNS cache poisoning (attacco Kaminsky) sfrutta l'assenza di autenticazione nel protocollo DNS. Un resolver invia una query a un server DNS autorevole e memorizza nella cache la risposta per la durata del TTL. Un aggressore in grado di indovinare l'ID della transazione (a 16 bit e prevedibile) e la porta di origine (utilizzata come entropia aggiuntiva a partire da RFC 5452) può inviare risposte falsificate che il resolver memorizza nella cache, reindirizzando al server dell'aggressore tutti gli utenti che utilizzano quel resolver. Una volta avvelenata la cache, gli utenti vengono indirizzati verso server falsi anche se hanno digitato il dominio corretto. DNSSEC impedisce tutto ciò firmando digitalmente le risposte DNS.

# DNS cache poisoning simulation
# Attacker floods resolver with forged responses
# for the query 'A example.com?'

# Each response guesses a different transaction ID:
# ID=1234: example.com -> 198.51.100.1  (attacker IP)
# ID=1235: example.com -> 198.51.100.1
# ...
# ID=XXXX: example.com -> 198.51.100.1  (correct guess!)

# Resolver caches poisoned answer (TTL = 3600s)
# All users querying this resolver get attacker IP
# Users are redirected to phishing/malware server

DNSSEC: DNS Security Extensions

DNSSEC aggiunge firme crittografiche ai record DNS, consentendo ai resolver di verificare che le risposte provengano dall'autorità legittima della zona e non siano state manomesse. DNSSEC introduce nuovi tipi di record: RRSIG (firma del resource record, la firma effettiva su un insieme di record), DNSKEY (la chiave pubblica utilizzata per verificare le firme), DS (delegation signer, collega le chiavi della zona padre e della zona figlia) e NSEC/NSEC3 (negazione autenticata dell'esistenza: dimostra che un nome non esiste). DNSSEC crea una catena di fiducia dalla zona radice, firmata da ICANN, passando per le zone TLD e arrivando alle zone autorevoli.

# Verify DNSSEC signature on a domain
dig +dnssec example.com A
# Look for 'ad' (authenticated data) flag in response
# and the RRSIG record alongside the A record

# Query for DNSKEY record
dig DNSKEY example.com

# Query for DS record at parent zone
dig DS example.com @a.iana-servers.net

# Full DNSSEC chain validation check
dig +sigchase +trusted-key=/.../root.key example.com A

Tipi di chiavi DNSSEC: KSK e ZSK

DNSSEC utilizza due tipi di chiavi di firma. La Zone Signing Key (ZSK) firma i singoli insiemi di record DNS (RRSIG) e viene ruotata frequentemente, ogni mese o ogni trimestre, per garantire flessibilità operativa. La Key Signing Key (KSK) firma l'insieme di record DNSKEY e fornisce l'ancora di fiducia della zona. La KSK viene ruotata meno frequentemente, una volta all'anno, perché ogni volta che cambia è necessario aggiornare la zona padre con il nuovo record DS: un processo che richiede coordinamento. La KSK verifica la ZSK; la ZSK firma i dati. Questa struttura a due livelli bilancia la sicurezza, garantita dalla rotazione frequente della ZSK, con il carico operativo, ridotto dalla rotazione poco frequente della KSK.

Limiti di DNSSEC

DNSSEC presenta importanti limitazioni. Non cifra le query DNS: firma solo le risposte per garantirne l'integrità. Un intercettatore può ancora vedere tutte le query DNS, ma non può falsificare le risposte. Enumerazione della zona: i record NSEC, che dimostrano la non esistenza, consentono agli aggressori di esplorare la zona ed enumerare tutti i nomi di dominio al suo interno; NSEC3 mitiga il problema usando nomi sottoposti ad hashing, ma non lo risolve completamente. Complessità operativa: la gestione delle chiavi, la scadenza delle firme e il coordinamento con la zona padre creano un notevole sovraccarico operativo. L'adozione di DNSSEC rimane incompleta: molti TLD e registrar lo supportano, ma molte organizzazioni non lo hanno ancora implementato.

DNS over HTTPS (DoH)

DNS over HTTPS (DoH) crittografa le query DNS all'interno di HTTPS (RFC 8484), nascondendone il contenuto agli osservatori della rete. Le query vengono inviate a un resolver compatibile con DoH tramite un URL HTTPS standard, rendendo il traffico DNS indistinguibile dagli altri flussi HTTPS. In questo modo si impedisce a ISP, datori di lavoro e aggressori che intercettano il traffico di vedere quali domini vengono richiesti dall'utente, colmando la lacuna di privacy lasciata da DNSSEC. Tuttavia, DoH trasferisce la fiducia dal resolver DNS della rete al provider DoH (in genere Google 8.8.8.8, Cloudflare 1.1.1.1 o il resolver DoH dell'organizzazione). Oggi DoH è supportato nativamente dalla maggior parte dei principali browser.

# DoH query using curl
curl -H 'accept: application/dns-json' \
  'https://cloudflare-dns.com/dns-query?name=example.com&type=A'

# DoH query via RFC 8484 (binary format)
curl -s -H 'Content-Type: application/dns-message' \
     -H 'Accept: application/dns-message' \
     --data-binary @query.bin \
     https://dns.google/dns-query

# Configure Firefox to use DoH
# about:config -> network.trr.uri
# Set to: https://mozilla.cloudflare-dns.com/dns-query

DNS over TLS (DoT)

DNS over TLS (DoT) (RFC 7858) crittografa le query DNS usando TLS su una porta TCP dedicata, la 853, anziché incapsularle in HTTPS. DoT offre gli stessi vantaggi in termini di privacy di DoH, nascondendo il contenuto delle query agli intercettatori, ma è più facile da identificare e filtrare per gli amministratori di rete (porta 853 invece della porta 443). Si tratta di un'arma a doppio taglio: DoT è visibile e può essere bloccato dai firewall aziendali, mentre DoH è più difficile da bloccare senza influire sul traffico HTTPS generale. I resolver stub (a livello di sistema operativo) usano più comunemente DoT; i browser usano più comunemente DoH.

# Test DoT connection using kdig
kdig -d @9.9.9.9 +tls-ca example.com A

# Test DoT using openssl
openssl s_client -connect 1.1.1.1:853
# Then type: query string in DNS wire format

# Configure systemd-resolved to use DoT (Linux)
# /etc/systemd/resolved.conf:
[Resolve]
DNS=9.9.9.9#dns.quad9.net
DNSOverTLS=yes

DoH e DoT: considerazioni per le aziende

Il DNS crittografato crea una difficoltà negli ambienti aziendali che dipendono dal filtraggio basato sul DNS e dai sinkhole. Quando i browser usano resolver DoH esterni, i controlli DNS interni vengono aggirati. Contromisure aziendali: implementare un resolver DoH/DoT interno (Cisco Umbrella, Pi-hole con DoH) e configurare tutti i dispositivi affinché lo utilizzino; bloccare gli IP dei resolver DoH esterni sul firewall (Google 8.8.8.8, Cloudflare 1.1.1.1) sulla porta 443; usare la Group Policy per disabilitare il DoH a livello di browser sugli endpoint gestiti; e applicare regole di proxy trasparente che intercettino il DNS over TLS sulla porta 853. L'obiettivo è instradare tutto il DNS attraverso il resolver controllato senza bloccare completamente il DNS crittografato.

# Enterprise DoH bypass prevention
# Windows Group Policy:
# Computer Config > Admin Templates > Google Chrome
# 'DNS over HTTPS mode': Disabled
# 'DNS over HTTPS URI templates': <empty>

# Firewall: block known public DoH resolvers
iptables -I FORWARD -d 8.8.8.8 -p tcp --dport 443 -j DROP
iptables -I FORWARD -d 1.1.1.1 -p tcp --dport 443 -j DROP
iptables -I FORWARD -d 9.9.9.9 -p tcp --dport 443 -j DROP
iptables -I FORWARD -d 149.112.112.112 -p tcp --dport 443 -j DROP

# Redirect all DNS to corporate resolver
iptables -t nat -A PREROUTING -p udp --dport 53 \
  -j DNAT --to-destination 10.0.0.53:53

La sicurezza DNS nella pratica

Una strategia completa per la sicurezza DNS combina più controlli. DNSSEC per le proprie zone autorevoli impedisce il cache poisoning del proprio dominio. Il filtraggio basato sul DNS (Cisco Umbrella, Cloudflare Gateway) blocca i domini dannosi a livello di resolver. L'uso di DoH/DoT verso un resolver controllato garantisce la privacy delle query senza perdere la visibilità necessaria al filtraggio. L'analisi dei log DNS nel SIEM registra tutte le query per la ricerca proattiva delle minacce: i log DNS rivelano il traffico C2, l'esfiltrazione di dati tramite tunneling DNS e l'attività degli algoritmi di generazione dei domini (DGA) usati dai malware. La telemetria DNS è una delle fonti di dati di sicurezza con il più alto valore informativo disponibili.

Rilevamento del tunneling DNS

Il tunneling DNS codifica i dati all'interno delle query e delle risposte DNS per esfiltrare dati o stabilire canali C2 attraverso reti in cui altro traffico in uscita è bloccato. Strumenti come iodine, DNScat e dnscat2 codificano i payload nelle etichette dei sottodomini (con query per EXFILTRATEDDATA.evil.com) o nei record TXT. Il rilevamento si basa su nomi di query DNS insolitamente lunghi (>100 caratteri), un volume elevato di query provenienti da un singolo host, query per domini principali inesistenti, tipi di record insoliti (TXT, NULL) e sull'analisi dell'entropia delle etichette dei domini (i dati codificati presentano un'entropia di Shannon elevata). Le piattaforme di analisi della sicurezza DNS segnalano automaticamente i pattern di tunneling.

# DNS tunneling detection indicators
# Flag queries with:
# 1. Query name > 100 characters
# 2. More than 50 queries/minute from single host
# 3. High-entropy domain labels (base64/hex patterns)
# 4. TXT or NULL record type queries (unusual)
# 5. Queries to domains with no web presence

# Example tunnel query (encoded payload)
# aGVsbG8gd29ybGQ.vGhpcyBpcyBkYXRh.evil-domain.com
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Base64 encoded 'hello world this is data'

DNS Response Policy Zones (RPZ)

Le DNS Response Policy Zones (RPZ) consentono ai resolver DNS di applicare policy locali di override alle risposte DNS, creando di fatto un sinkhole locale a livello di resolver senza modificare l'infrastruttura DNS globale. Quando un client esegue una query per un dominio noto come dannoso, la policy RPZ restituisce NXDOMAIN, un reindirizzamento a un IP sinkhole oppure una risposta passthrough. I feed RPZ sono disponibili presso provider di threat intelligence (Spamhaus, SURBL) e possono essere importati direttamente nei resolver BIND o Unbound. RPZ è un potente strumento difensivo perché applica il filtraggio a livello DNS a tutti i dispositivi della rete senza richiedere alcuna configurazione lato client.

# BIND RPZ configuration snippet
# /etc/named.conf
response-policy {
  zone 'rpz.spamhaus.net';
  zone 'local-blocklist.internal';
};

# RPZ zone file (local-blocklist.internal)
$ORIGIN local-blocklist.internal.
@  SOA  ns1.company.com. admin.company.com. 2024010101 3600 600 86400 300
botnet-c2.evil IN CNAME .   # NXDOMAIN response
phishing-site.com IN A 10.0.0.99  # Redirect to sinkhole

Verifica rapida

Verifichi la propria comprensione dei concetti di CompTIA Security+ (SY0-701) trattati in questa lezione.

Riepilogo della lezione

In questa lezione ha imparato che: DNSSEC aggiunge firme crittografiche ai record DNS usando coppie di chiavi KSK/ZSK per impedire il cache poisoning, ma non crittografa le query; DNS over HTTPS (DoH) crittografa le query DNS all'interno di HTTPS per impedire le intercettazioni, ma crea rischi di aggiramento del filtraggio aziendale; e il tunneling DNS codifica i dati nelle query DNS e può essere rilevato analizzando lunghezza, volume ed entropia delle query. Nella prossima lezione esamineremo IPsec, i protocolli VPN e la sicurezza dell'accesso remoto.

Domande Frequenti

La lezione «DNS sicuro: DNSSEC e DNS su HTTPS (DoH)» è gratuita?

Sì — il testo completo di «DNS sicuro: DNSSEC e DNS su HTTPS (DoH)» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Security+ Academy, passa a CoddyKit PRO. Il corso Security+ Academy include 4 lezioni in totale.

Cosa imparerò in «DNS sicuro: DNSSEC e DNS su HTTPS (DoH)»?

Scopra come DNSSEC impedisca l'avvelenamento della cache DNS e come DNS su HTTPS e DNS su TLS proteggano la privacy delle query dagli osservatori sul percorso di rete. Eserciti Security+ Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Security+ Academy?

Non è richiesta alcuna esperienza precedente. Security+ Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «DNS sicuro: DNSSEC e DNS su HTTPS (DoH)»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Security+ Academy?

Sì. Ogni lezione Security+ Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Sostituire i protocolli non sicuri: Telnet e SSH, FTP e SFTP
  2. Versioni TLS, cipher suite e perfect forward secrecy
  3. DNS sicuro: DNSSEC e DNS su HTTPS (DoH)
  4. IPsec, protocolli VPN e sicurezza dell'accesso remoto
← Torna a Security+ Academy