Estratégias de mitigação de ataques DDoS
1. Compreendendo o cenário de ataques DDoS
1.1. Definição e evolução dos ataques DDoS
Um ataque de Negação de Serviço Distribuído (DDoS) ocorre quando múltiplos sistemas comprometidos são utilizados para sobrecarregar um alvo com tráfego malicioso, tornando seus serviços indisponíveis. A evolução desses ataques é notável: começaram com simples inundações de pacotes ICMP (ping flood) e evoluíram para ataques multi-vetor sofisticados, que combinam volumétricos, de protocolo e de camada de aplicação simultaneamente. Atualmente, ataques como o Mirai botnet utilizam dispositivos IoT para gerar tráfego na casa dos Terabits por segundo.
1.2. Principais tipos de ataques DDoS
- Ataques volumétricos: Visam consumir toda a largura de banda disponível. Exemplos incluem amplificação DNS, NTP e UDP flood.
- Ataques de protocolo: Exploram vulnerabilidades em protocolos de rede, como SYN flood, Ping of Death e ataques de fragmentação.
- Ataques de camada de aplicação (L7): Focam em esgotar recursos do servidor, como HTTP flood, Slowloris e ataques a APIs REST.
1.3. Impactos nos negócios
Os impactos vão além da indisponibilidade técnica. Uma empresa pode sofrer perdas financeiras diretas (vendas perdidas), custos operacionais (horas extras de equipe de TI), danos à reputação (perda de confiança do cliente) e até penalidades regulatórias em setores críticos como saúde e finanças.
2. Arquitetura de rede resiliente e balanceamento de carga
2.1. Distribuição geográfica e anycast
A utilização de anycast permite que o mesmo endereço IP seja anunciado a partir de múltiplos data centers geograficamente distribuídos. O tráfego é roteado automaticamente para o nó mais próximo, distribuindo a carga e absorvendo parte do ataque. Por exemplo, a Cloudflare utiliza anycast em mais de 330 cidades para mitigar ataques volumétricos.
2.2. Balanceamento de carga inteligente
Ferramentas como HAProxy ou Nginx Plus permitem distribuir o tráfego entre múltiplos servidores, com failover automático. Um exemplo prático de configuração de rate limiting no Nginx:
http {
limit_req_zone $binary_remote_addr zone=ddos:10m rate=10r/s;
server {
location /api/ {
limit_req zone=ddos burst=20 nodelay;
proxy_pass http://backend;
}
}
}
2.3. Segmentação de rede
Isolar servidores críticos (banco de dados, autenticação) em VLANs separadas com firewalls internos reduz a superfície de ataque. Por exemplo, um ataque DDoS direcionado ao front-end não deve impactar o back-end de processamento de pagamentos.
3. Filtragem de tráfego na borda da rede
3.1. ACLs e rate limiting em roteadores
Access Control Lists (ACLs) podem bloquear tráfego de IPs conhecidos como maliciosos ou limitar protocolos específicos. Exemplo de ACL em roteador Cisco:
access-list 100 deny tcp any any eq 80 fragments
access-list 100 permit ip any any
interface GigabitEthernet0/0
ip access-group 100 in
3.2. Firewalls de próxima geração (NGFW)
Firewalls como Palo Alto Networks ou Fortinet realizam inspeção profunda de pacotes (DPI), identificando padrões de ataque como SQL injection ou HTTP floods. Podem ser configurados para descartar pacotes malformados ou com assinaturas conhecidas.
3.3. Blackholing e sinkholing
Blackholing redireciona todo o tráfego para uma interface nula (null0), descartando-o. Sinkholing é mais refinado: o tráfego malicioso é redirecionado para servidores honeypot que analisam o ataque. Exemplo de configuração de rota estática para blackhole:
ip route 192.168.1.0 255.255.255.0 Null0
4. Serviços de mitigação baseados em nuvem
4.1. CDN com proteção DDoS integrada
Provedores como Cloudflare, Akamai e AWS Shield oferecem proteção DDoS como parte de suas CDNs. Eles absorvem ataques volumétricos em sua infraestrutura global, enviando apenas tráfego limpo para o servidor de origem.
4.2. Redirecionamento de DNS e proxy reverso
Ao alterar os registros DNS para apontar para o serviço de mitigação, todo o tráfego passa por proxies reversos que filtram pacotes maliciosos. Exemplo de configuração de DNS com Cloudflare:
Nome: www.exemplo.com
Tipo: A
Valor: (IP do Cloudflare proxy)
Proxy status: Proxied (laranja)
4.3. Escalabilidade sob demanda
Serviços como AWS Shield Advanced oferecem proteção contra ataques de até centenas de Gbps, com escalabilidade automática. Durante um ataque, a capacidade de absorção é aumentada dinamicamente sem intervenção manual.
5. Mitigação em camada de aplicação (L7)
5.1. Web Application Firewalls (WAF)
WAFs como ModSecurity ou AWS WAF podem bloquear ataques HTTP flood com regras específicas. Exemplo de regra ModSecurity para limitar requisições:
SecRule REQUEST_HEADERS:User-Agent "bot" "id:1000,phase:2,deny,status:403,msg:'Bot detectado'"
5.2. Captcha e desafios JavaScript
Serviços como Google reCAPTCHA ou desafios JavaScript (ex.: Cloudflare Challenge) distinguem humanos de bots. O servidor envia um script que o navegador deve executar corretamente para receber um token de acesso.
5.3. Limitação de taxa por IP e endpoint
Implementar rate limiting por IP, por endpoint crítico (login, API de checkout) e por usuário autenticado. Exemplo com Express.js:
const rateLimit = require('express-rate-limit');
const limiter = rateLimit({
windowMs: 15 * 60 * 1000, // 15 minutos
max: 100, // limite por IP
message: 'Muitas requisições deste IP'
});
app.use('/api/login', limiter);
6. Monitoramento, detecção e resposta automatizada
6.1. Análise de tráfego em tempo real
Ferramentas como NetFlow, sFlow ou Zeek (antigo Bro) permitem criar baselines de tráfego normal e detectar anomalias. Um aumento súbito de 500% no tráfego HTTP pode indicar um ataque.
6.2. Integração SIEM e SOAR
Soluções como Splunk, Elastic SIEM ou IBM QRadar correlacionam logs de rede, firewall e servidores. SOAR (Security Orchestration, Automation and Response) como Palo Alto Cortex XSOAR automatiza respostas, como bloquear IPs maliciosos automaticamente.
6.3. Alertas e triggers automáticos
Configurar alertas para ativar mitigação automaticamente. Exemplo de trigger para ativar blackhole via API:
if (tráfego > 10 Gbps por 5 minutos) {
ativar_blackhole("192.168.1.0/24");
enviar_alerta("Equipe de segurança");
}
7. Preparação, testes e plano de resposta a incidentes
7.1. Plano de resposta a DDoS
Documentar papéis e responsabilidades: quem monitora, quem toma decisões de blackhole, quem comunica stakeholders. Incluir contatos de provedores de mitigação e procedimentos de escalonamento.
7.2. Testes de estresse e simulações
Ferramentas como LOIC, HOIC ou AWS Distributed Load Testing permitem simular ataques controlados em ambiente de staging. Testar a resposta da equipe e a eficácia das regras de rate limiting.
7.3. Revisão pós-incidente
Após cada incidente, realizar uma análise post-mortem: o que funcionou, o que falhou, quais métricas foram ultrapassadas. Atualizar o plano de resposta e ajustar regras de firewall e WAF com base nos aprendizados.
Referências
- Cloudflare - O que é um ataque DDoS? — Guia completo sobre tipos de ataques DDoS e estratégias de mitigação.
- AWS Shield - Proteção DDoS na nuvem — Documentação oficial sobre serviços de mitigação DDoS da AWS, incluindo AWS Shield Advanced.
- Nginx - Rate Limiting para proteção contra DDoS — Tutorial oficial sobre configuração de rate limiting e controle de acesso no Nginx.
- OWASP - Mitigação de DDoS em aplicações web — Guia de boas práticas da OWASP para proteção contra ataques de negação de serviço.
- Cisco - Configuração de ACLs para mitigação de DDoS — Documentação técnica sobre Access Control Lists em roteadores Cisco para filtragem de tráfego.
- ModSecurity - Regras para proteção contra HTTP floods — Repositório oficial com regras de segurança para WAF ModSecurity, incluindo detecção de ataques DDoS.
- Splunk - Detecção de anomalias de tráfego — Artigo técnico sobre como usar Splunk para detectar e responder a ataques DDoS em tempo real.