DNS-översvämning

Säkerhet och hot
En överbelastningsattack som överöser DNS-infrastrukturen med ett stort antal förfrågningar.
← Tillbaka till Ordlistan

Vad är en DNS-översvämningsattack?

En DNS-översvämning är en typ av distribuerad överbelastningsattack (DDoS) som överbelastar DNS-infrastruktur genom att skicka enorma mängder DNS-frågor till DNS-servrar, exempelvis auktoritativa namnservrar eller rekursiva resolvrar. Målet är att tömma serverresurserna, göra DNS-tjänsten otillgänglig och hindra legitima användare från att slå upp domännamn.

Konsekvenser av DNS-översvämningar

När DNS-servrar överbelastas:

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)

Effekter:

Typer av DNS-översvämningsattacker

Direkt översvämning av DNS-frågor

Angriparen skickar giltiga DNS-frågor i mycket hög takt:

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...

Kännetecken:

DNS-förstärkningsattack

Utnyttjar rekursiva resolvrar för att förstärka attacktrafiken:

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

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

Resolver sends: 3000-byte response to victim

Amplification: 50x

NXDOMAIN-översvämning

Frågar efter domäner som inte finns för att kringgå 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

Attack mot fantomdomäner

Frågar efter legitima domäner som inte svarar:

Attacker: Queries resolver for slow/non-responsive domains

Resolver: Waits for timeout, consumes resources

Result: Resolver resource exhaustion

Attack mot slumpmässiga underdomäner

Frågar efter slumpmässiga underdomäner för att undvika cacheträffar:

Query: abc123random.example.com

Query: xyz789random.example.com

Query: def456random.example.com

Each is unique → cache miss → authoritative query

Overwhelms authoritative nameservers

Angreppsvektorer och metoder

Botnätsdrivna attacker

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

Distributed attack:

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

Reflektionsattacker

Attacker spoofs victim's IP

Sends queries to many open resolvers

Resolvers respond to victim with large answers

Victim receives amplified traffic

Översvämningar på applikationslagret

Legitimate-looking queries

Difficult to distinguish from real traffic

May target specific resource-intensive query types

Upptäcka DNS-översvämningar

Ovanligt stor frågevolym

Normal baseline: 10,000 queries/second

During attack: 500,000+ queries/second

Övervaka:
# Check query rate (BIND)

rndc status | grep "queries resulted"

# Analyze query logs

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

Hög andel NXDOMAIN

Normal: 5-10% NXDOMAIN responses

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

Fördelning av käll-IP

Legitimate: Diverse source IPs, geographic spread

Attack: Concentrated sources, unusual geographic patterns

Frågemönster

Legitimate: Repetitive queries (common domains cached)

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

Försämrad svarstid

Normal: < 50ms response time

Under attack: > 1000ms or timeouts

Begränsa DNS-översvämningar

Försvar på infrastrukturnivå

#### Anycast-DNS

Distribuera trafiken mellan flera geografiska platser:

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

Fördelar: Leverantörer: Cloudflare, AWS Route 53, NS1, Dyn

#### Överdimensionerad DNS-infrastruktur

Capacity: 10x normal peak traffic

Reserves: Handle sudden spikes

Auto-scaling: Add capacity during attacks

#### Hastighetsbegränsning

# BIND rate limiting (response-rate limiting)

rate-limit {

responses-per-second 10;

window 5;

slip 2;

};

Begränsar svar från samma källa för att förhindra förstärkningsattacker.

#### Filtrering av DNS-frågor

# Block ANY queries (common in amplification)

# Block excessively long queries

# Block known-malicious patterns

BIND-exempel:
# Block ANY queries

match-query {

type ANY;

action drop;

};

Försvar på DNS-leverantörsnivå

#### DNSSEC

DNSSEC förhindrar inte översvämningar direkt, men:

#### Konfiguration med dold master

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-brandvägg eller IDS

Analyze queries in real-time

Block suspicious patterns

Whitelist known-good clients

Blacklist attack sources

Skydd på applikationsnivå

#### Begränsning av svarsfrekvens (RRL)

Limit identical responses to same client

Prevents amplification attacks

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

BIND-konfiguration:
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;

};

};

#### Cacheoptimering

Increase cache size to absorb repeated queries

Longer TTLs where appropriate (trade-off with agility)

Prefetch popular records

#### Filtrering av DNS-frågor

# Drop queries for non-existent zones

# Block queries from known-bad sources

# Rate-limit per-source queries

Försvar på nätverksnivå

#### BGP-blackholing

Route attack traffic to null0

Sacrifice availability to preserve infrastructure

Last resort when attack overwhelms capacity

#### Filtrering hos internetleverantören

Coordinate with ISP to filter attack traffic

Source IP validation (prevent spoofing)

Traffic scrubbing centers

#### Tjänster för DDoS-skydd

Cloudflare, Akamai, AWS Shield

Absorb attack traffic before reaching your servers

Global capacity to withstand large attacks

Bästa praxis för motståndskraftig DNS

Använd flera DNS-leverantörer

Primary provider: Cloudflare

Secondary provider: AWS Route 53

If one is attacked/down, other continues serving

Different infrastructure reduces single point of failure

Implementera DNSSEC

Protects against DNS spoofing/cache poisoning

Maintains integrity during attacks

Build trust even under attack conditions

Övervaka DNS-prestanda

Real-time query rates

Response times

NXDOMAIN percentages

Geographic distribution of queries

Error rates

Verktyg: Grafana + Prometheus, Datadog, AWS CloudWatch

Testa kapaciteten regelbundet

Load testing: Can infrastructure handle 10x traffic?

Failover testing: Do secondary providers activate correctly?

Attack simulation: Test mitigation strategies

Stäng av rekursion på auktoritativa servrar

# BIND

recursion no;

Auktoritativa namnservrar bör inte fungera som rekursiva resolvrar.

Begränsa zonöverföringar

# BIND

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

Förhindra att angripare dumpar hela zonen.

Håll programvaran uppdaterad

Regularly update DNS server software

Patch known vulnerabilities

Subscribe to security advisories

Hantera en pågående DNS-översvämning

Omedelbara åtgärder

1. Bekräfta att en attack pågår

# Check query rate

rndc status

# Check load

top

2. Aktivera hastighetsbegränsning

# BIND: Enable RRL if not already active

rndc addzone rate-limit

3. Kontakta leverantören av DDoS-skydd

- Aktivera tjänster för trafikfiltrering

- Omdirigera trafiken genom skyddsnätet

4. Analysera angreppsmönstren

# 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. Blockera uppenbara angriparkällor

# 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

Åtgärder på medellång sikt

1. Skala infrastrukturen

- Lägg till mer namnserverkapacitet

- Distribuera med anycast om det inte redan används

2. Inför ytterligare filtrering

- Blockera frågemönster som är specifika för attacken

- Tillåt kända och betrodda källor

3. Samordna med leverantörer

- Internetleverantör eller webbhotell

- DNS-leverantör

- Tjänst för DDoS-skydd

4. Dokumentera attacken

- Paketfångster

- Loggar

- Trafikdiagram

- För analys efter incidenten och juridiska ändamål

Analys efter attacken

1. Granska hur effektiva motåtgärderna var

2. Identifiera svagheter i infrastrukturen

3. Uppdatera rutinerna för incidenthantering

4. Överväg långsiktiga förbättringar, exempelvis DNS från flera leverantörer och större kapacitet

Juridik och rapportering

Rapportera till myndigheter

Samla in bevis

# 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

DNS-översvämningar är ett allvarligt hot mot onlinetjänster, men med rätt infrastruktur, övervakning och motåtgärder kan deras påverkan minimeras.

Använd Denna Kunskap

Använd DomScans API för att kontrollera domäntillgänglighet, hälsa och mer.