Flood DNS

Sicurezza e Minacce
Un attacco denial-of-service che sommerge l'infrastruttura DNS con query eccessive.
← Torna al Glossario

Che cos'è un attacco flood DNS?

Un flood DNS è un attacco Distributed Denial of Service (DDoS) che sovraccarica l'infrastruttura DNS inviando enormi volumi di query DNS ai server DNS, inclusi nameserver autorevoli e risolutori ricorsivi. L'obiettivo è esaurire le risorse dei server, rendere indisponibile il servizio DNS e impedire agli utenti legittimi di risolvere i nomi di dominio.

Impatto degli attacchi flood DNS

Quando i server DNS sono sovraccarichi:

Normal operation:

User → DNS query → DNS server → Response → Website loads

During DNS flood:

User → DNS query → DNS server (overwhelmed, no response)

→ Website doesn't load (even though web server is fine)

Effetti:

Tipi di attacco flood DNS

Flood diretto di query DNS

L'attaccante invia query DNS legittime a volume elevato:

Botnet → Millions of DNS queries → Target DNS server

Query examples:

example.com A

www.example.com A

random1.example.com A

random2.example.com A

...millions more...

Caratteristiche:

Attacco di amplificazione DNS

Sfrutta i risolutori ricorsivi per amplificare il traffico dell'attacco:

1. Attacker sends small query to open resolver

2. Spoofs source IP as victim's IP

3. Resolver sends large response to victim

4. Attacker amplifies bandwidth 28-54x

Esempio:
Attacker sends: 60-byte query for TXT record (ANY query)

Resolver sends: 3000-byte response to victim

Amplification: 50x

Flood NXDOMAIN

Invia query per domini inesistenti così da aggirare la cache:

Query: random-12345.example.com (doesn't exist)

Server must check authoritative zone every time

Cannot be cached (NXDOMAIN responses often have low TTL)

Consumes more server resources than cached responses

Attacco a domini fantasma

Interroga domini legittimi che non rispondono:

Attacker: Queries resolver for slow/non-responsive domains

Resolver: Waits for timeout, consumes resources

Result: Resolver resource exhaustion

Attacco a sottodomini casuali

Interroga sottodomini casuali per evitare i riscontri della cache:

Query: abc123random.example.com

Query: xyz789random.example.com

Query: def456random.example.com

Each is unique → cache miss → authoritative query

Overwhelms authoritative nameservers

Vettori e tecniche d'attacco

Attacchi guidati da botnet

Compromised devices:
  • IoT devices (cameras, routers)
  • Infected computers
  • Hacked servers

Distributed attack:

10,000 bots × 100 queries/sec = 1 million queries/sec

Attacchi di riflessione

Attacker spoofs victim's IP

Sends queries to many open resolvers

Resolvers respond to victim with large answers

Victim receives amplified traffic

Flood a livello applicativo

Legitimate-looking queries

Difficult to distinguish from real traffic

May target specific resource-intensive query types

Rilevare gli attacchi flood DNS

Volume insolito di query

Normal baseline: 10,000 queries/second

During attack: 500,000+ queries/second

Monitoraggio:
# Check query rate (BIND)

rndc status | grep "queries resulted"

# Analyze query logs

tail -f /var/log/named/queries.log | wc -l

Tasso elevato di NXDOMAIN

Normal: 5-10% NXDOMAIN responses

Attack: 50-90% NXDOMAIN responses (random subdomain flood)

Distribuzione degli IP sorgente

Legitimate: Diverse source IPs, geographic spread

Attack: Concentrated sources, unusual geographic patterns

Pattern delle query

Legitimate: Repetitive queries (common domains cached)

Attack: Unique queries (random strings, no cache benefit)

Degrado dei tempi di risposta

Normal: < 50ms response time

Under attack: > 1000ms or timeouts

Mitigare gli attacchi flood DNS

Difese a livello di infrastruttura

#### DNS anycast

Distribuisce il traffico in più sedi geografiche:

Single IP address (e.g., 1.2.3.4) announced from multiple locations

Attack traffic automatically routed to nearest server

Load distributed across global network

Harder to overwhelm all locations simultaneously

Vantaggi: Provider: Cloudflare, AWS Route 53, NS1, Dyn

#### Infrastruttura DNS sovradimensionata

Capacity: 10x normal peak traffic

Reserves: Handle sudden spikes

Auto-scaling: Add capacity during attacks

#### Limitazione della frequenza

# BIND rate limiting (response-rate limiting)

rate-limit {

responses-per-second 10;

window 5;

slip 2;

};

Limita le risposte dalla stessa origine per prevenire gli attacchi di amplificazione.

#### Filtraggio delle query

# Block ANY queries (common in amplification)

# Block excessively long queries

# Block known-malicious patterns

Esempio BIND:
# Block ANY queries

match-query {

type ANY;

action drop;

};

Difese a livello di provider DNS

#### DNSSEC

DNSSEC non previene direttamente i flood, ma:

#### Configurazione del master nascosto

Master server (hidden):    10.0.0.1 (not publicly known)

Slave servers (public): ns1.example.com, ns2.example.com

Attackers target slaves

Master remains operational

Can quickly update slaves if needed

#### DNS Firewall / IDS

Analyze queries in real-time

Block suspicious patterns

Whitelist known-good clients

Blacklist attack sources

Protezioni a livello applicativo

#### Limitazione della frequenza delle risposte (RRL)

Limit identical responses to same client

Prevents amplification attacks

Slip mode: Occasionally allow queries through (to not break legitimate recursive resolvers)

Configurazione BIND:
options {

rate-limit {

responses-per-second 5;

referrals-per-second 5;

nodata-per-second 5;

nxdomains-per-second 5;

errors-per-second 5;

window 5;

};

};

#### Ottimizzazione della cache

Increase cache size to absorb repeated queries

Longer TTLs where appropriate (trade-off with agility)

Prefetch popular records

#### Filtraggio delle query

# Drop queries for non-existent zones

# Block queries from known-bad sources

# Rate-limit per-source queries

Difese a livello di rete

#### BGP blackholing

Route attack traffic to null0

Sacrifice availability to preserve infrastructure

Last resort when attack overwhelms capacity

#### Filtraggio da parte dell'ISP upstream

Coordinate with ISP to filter attack traffic

Source IP validation (prevent spoofing)

Traffic scrubbing centers

#### Servizi di mitigazione DDoS

Cloudflare, Akamai, AWS Shield

Absorb attack traffic before reaching your servers

Global capacity to withstand large attacks

Buone pratiche per la resilienza DNS

Usa più provider DNS

Primary provider: Cloudflare

Secondary provider: AWS Route 53

If one is attacked/down, other continues serving

Different infrastructure reduces single point of failure

Implementa DNSSEC

Protects against DNS spoofing/cache poisoning

Maintains integrity during attacks

Build trust even under attack conditions

Monitora le prestazioni DNS

Real-time query rates

Response times

NXDOMAIN percentages

Geographic distribution of queries

Error rates

Strumenti: Grafana + Prometheus, Datadog, AWS CloudWatch

Testa regolarmente la capacità

Load testing: Can infrastructure handle 10x traffic?

Failover testing: Do secondary providers activate correctly?

Attack simulation: Test mitigation strategies

Disattiva la ricorsione sui server autorevoli

# BIND

recursion no;

I nameserver autorevoli non dovrebbero agire come risolutori ricorsivi.

Limita i trasferimenti di zona

# BIND

allow-transfer { 10.0.0.2; 10.0.0.3; }; # Only specific slaves

Impedisce agli aggressori di scaricare l'intera zona.

Mantieni aggiornato il software

Regularly update DNS server software

Patch known vulnerabilities

Subscribe to security advisories

Rispondi a un attacco flood DNS attivo

Azioni immediate

1. Verifica che l'attacco sia in corso

# Check query rate

rndc status

# Check load

top

2. Abilita la limitazione della frequenza

# BIND: Enable RRL if not already active

rndc addzone rate-limit

3. Contatta il provider di mitigazione DDoS

- Attiva i servizi di scrubbing.

- Reindirizza il traffico attraverso la rete di mitigazione.

4. Analizza i pattern dell'attacco

# Top query types

grep "query" /var/log/named/queries.log | awk '{print $6}' | sort | uniq -c | sort -rn | head -20

# Top queried domains

grep "query" /var/log/named/queries.log | awk '{print $7}' | sort | uniq -c | sort -rn | head -20

5. Blocca le fonti evidenti dell'attacco

# Identify top source IPs

grep "query" /var/log/named/queries.log | awk '{print $5}' | cut -d# -f1 | sort | uniq -c | sort -rn | head -50

# Block at firewall

iptables -A INPUT -s ATTACKER_IP -j DROP

Azioni a medio termine

1. Scala l'infrastruttura

- Aggiungi capacità ai nameserver.

- Distribuisci il servizio tramite anycast se non lo fai già.

2. Implementa filtri aggiuntivi

- Blocca i pattern di query specifici dell'attacco.

- Inserisci in whitelist le fonti note e affidabili.

3. Coordina le attività con i provider

- ISP o provider di hosting.

- Provider DNS.

- Servizio di mitigazione DDoS.

4. Documenta l'attacco

- Catture dei pacchetti.

- Log.

- Grafici del traffico.

- Elementi utili per l'analisi post-incidente e per eventuali esigenze legali.

Analisi post-attacco

1. Esamina l'efficacia delle misure di mitigazione.

2. Individua le debolezze dell'infrastruttura.

3. Aggiorna le procedure di risposta agli incidenti.

4. Valuta miglioramenti a lungo termine (DNS multi-provider, maggiore capacità).

Aspetti legali e segnalazioni

Segnala alle autorità

Raccolta delle prove

# Packet captures

tcpdump -i eth0 -w dns-attack.pcap port 53

# Full query logs

tar -czf attack-logs-$(date +%Y%m%d).tar.gz /var/log/named/

# Traffic graphs/screenshots

# System resource usage

Gli attacchi flood DNS sono una minaccia seria per i servizi online, ma infrastruttura adeguata, monitoraggio e strategie di mitigazione possono ridurne al minimo l'impatto.

Metti in Pratica Questa Conoscenza

Usa l'API di DomScan per verificare disponibilità, salute del dominio e altro.