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