Inundação de DNS

Segurança e ameaças
Um ataque de negação de serviço que sobrecarrega a infraestrutura DNS com consultas excessivas.
← Voltar ao Glossário

O que é um ataque de inundação DNS?

Uma inundação DNS é um tipo de ataque de Negação Distribuída de Serviço (DDoS) que sobrecarrega a infraestrutura DNS enviando volumes maciços de consultas DNS para servidores DNS (servidores de nomes autorizados ou resolvedores recursivos). O objetivo é esgotar os recursos do servidor, tornando o serviço DNS indisponível e impedindo os usuários legítimos de resolver nomes de domínio.

Impacto dos ataques de inundação do DNS

Quando os servidores DNS estão sobrecarregados:

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)

Efeitos:

Tipos de ataques de inundação DNS

Inundação direta de consultas DNS

O atacante envia consultas DNS legítimas em alto volume:

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

Características:

Ataque de Amplificação DNS

Explora resolvedores recursivos para ampliar o tráfego de ataque:

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

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

Resolver sends: 3000-byte response to victim

Amplification: 50x

NXDOMAIN Flood

Consultas para domínios inexistentes para contornar o 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

Ataque de Domínio Fantasma

Consultas legítimas domínios que não respondem:

Attacker: Queries resolver for slow/non-responsive domains

Resolver: Waits for timeout, consumes resources

Result: Resolver resource exhaustion

Ataque aleatório de subdomínio

Consultas subdomínios aleatórios para evitar visitas ao cache:

Query: abc123random.example.com

Query: xyz789random.example.com

Query: def456random.example.com

Each is unique → cache miss → authoritative query

Overwhelms authoritative nameservers

Ataque de Vetores e Técnicas

Ataques com Botnet

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

Distributed attack:

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

Ataques de Reflexão

Attacker spoofs victim's IP

Sends queries to many open resolvers

Resolvers respond to victim with large answers

Victim receives amplified traffic

# Inundações do Layer de Aplicações

Legitimate-looking queries

Difficult to distinguish from real traffic

May target specific resource-intensive query types

Detectando ataques de inundação de DNS

# # Volume de perguntas incomuns

Normal baseline: 10,000 queries/second

During attack: 500,000+ queries/second

Monitor :
# Check query rate (BIND)

rndc status | grep "queries resulted"

# Analyze query logs

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

# # Alta taxa de NXDOMAIN

Normal: 5-10% NXDOMAIN responses

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

Distribuição IP fonte

Legitimate: Diverse source IPs, geographic spread

Attack: Concentrated sources, unusual geographic patterns

Padrões de pesquisa

Legitimate: Repetitive queries (common domains cached)

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

Degradação do tempo de resposta

Normal: < 50ms response time

Under attack: > 1000ms or timeouts

Mitigar os ataques de enchentes de DNS

Defesas de Nível de Infraestrutura

Distribuir tráfego através de várias localizações geográficas:
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

Benefícios: Providers: Cloudflare, AWS Route 53, NS1, Dyn

Infraestrutura de DNS superdimensionada

Capacity: 10x normal peak traffic

Reserves: Handle sudden spikes

Auto-scaling: Add capacity during attacks

Limitação da Taxa

# BIND rate limiting (response-rate limiting)

rate-limit {

responses-per-second 10;

window 5;

slip 2;

};

Limita as respostas da mesma fonte para evitar ataques de amplificação.

Filtragem de Consultas

# Block ANY queries (common in amplification)

# Block excessively long queries

# Block known-malicious patterns

BIND Exemplo:
# Block ANY queries

match-query {

type ANY;

action drop;

};

Defesas de Nível do Provedor de DNS

DNSSEC

Embora não impeça diretamente as inundações, DNSSEC:

Configuração Mestre Escondida

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

Proteção de Nível de Aplicação

Limitação da taxa de resposta (RRL)

Limit identical responses to same client

Prevents amplification attacks

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

Configuração 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;

};

};

Otimização de Cache

Increase cache size to absorb repeated queries

Longer TTLs where appropriate (trade-off with agility)

Prefetch popular records

Filtragem de Consultas

# Drop queries for non-existent zones

# Block queries from known-bad sources

# Rate-limit per-source queries

Defesas de Nível de Rede

BGP Blackholing

Route attack traffic to null0

Sacrifice availability to preserve infrastructure

Last resort when attack overwhelms capacity

Filtragem ISP a montante

Coordinate with ISP to filter attack traffic

Source IP validation (prevent spoofing)

Traffic scrubbing centers

Serviços de Mitigação DDoS

Cloudflare, Akamai, AWS Shield

Absorb attack traffic before reaching your servers

Global capacity to withstand large attacks

Melhores práticas para a resiliência DNS

# # # Usar vários provedores de DNS

Primary provider: Cloudflare

Secondary provider: AWS Route 53

If one is attacked/down, other continues serving

Different infrastructure reduces single point of failure

Implementar o DNSSEC

Protects against DNS spoofing/cache poisoning

Maintains integrity during attacks

Build trust even under attack conditions

Monitor de desempenho DNS

Real-time query rates

Response times

NXDOMAIN percentages

Geographic distribution of queries

Error rates

Ferramentas: Grafana + Prometeu, Datadog, AWS CloudWatch

# Teste de Capacidade Regular

Load testing: Can infrastructure handle 10x traffic?

Failover testing: Do secondary providers activate correctly?

Attack simulation: Test mitigation strategies

Desactivar a Recursão nos Servidores Autoritativos

# BIND

recursion no;

Os servidores de nomes autorizados não devem agir como resolvedores recursivos.

# Restrinja transferências de zona

# BIND

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

Evite que os atacantes despejem toda a zona.

Mantenha o software atualizado

Regularly update DNS server software

Patch known vulnerabilities

Subscribe to security advisories

Respondendo ao ataque de inundação DNS ativo

Acções Imediatas

1. Verificar ataque está ocorrendo

# Check query rate

rndc status

# Check load

top

2. Limitação da taxa

# BIND: Enable RRL if not already active

rndc addzone rate-limit

3. Contact DDoS mitigação provedor

- Ativar serviços de limpeza

- Redirecionar o tráfego através da rede de atenuação

4. Analisar padrões de ataque

# 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. Bloquear fontes de ataque óbvias

# 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

Acções a médio prazo

1. Infra-estrutura de escala

- Adicionar mais capacidade de servidor de nomes

- Distribuir através de anycast se já não

2. Implementar filtragem adicional

- Bloquear padrões de pesquisa específicos para atacar

- Lista branca de boas fontes conhecidas

3. Coordenar com os fornecedores

- ISP/fornecedor de alojamento

- Prestador de DNS

- Serviço de mitigação do DDoS

4. Ataque de documentos

- Capturas de pacotes

- Registos

- Gráficos de tráfego

- Para análise e fins jurídicos pós-incidentes

Análise Pós-Ataque

1. Revisão da eficácia das mitigação

2. Identificar as deficiências da infra-estrutura

3. Atualizar procedimentos de resposta a incidentes

4. Considere melhorias a longo prazo** (DNS multifornecedor, maior capacidade)

Jurídico e Relatórios

# Relatório às autoridades

Recolha de Evidências

# 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

Os ataques de inundação DNS são uma séria ameaça para os serviços on-line, mas com estratégias de infraestrutura, monitoramento e mitigação adequadas, seu impacto pode ser minimizado.

Coloque este Conhecimento em Prática

Use a API DomScan para verificar disponibilidade de domínio, saúde e muito mais.