04 - DDoS Protection (Shield, CloudFlare)
video: https://youtu.be/... no frontmatter da nota.DDoS Protection é o conjunto de técnicas e serviços que mantém um sistema disponível sob ataques de negação de serviço distribuídos, em que milhares ou milhões de fontes tentam esgotar banda, conexões ou recursos de processamento. Em produção, a questão central é assimétrica: o atacante com botnet modesta consegue gerar tráfego que derruba infraestrutura cara, e nenhuma origem autogerida absorve sozinha esse volume. A defesa combina camadas de absorção, como redes de borda com capacidade da ordem de terabits por segundo, filtragem inteligente na borda, limites de taxa, desafios a clientes suspeitos e planos de resposta ensaiados. Serviços como AWS Shield e Cloudflare operam essas camadas de forma contínua, e a arquitetura do cliente, com origens protegidas por CDN, limites na borda e escalonamento automático, determina quanto da proteção realmente funciona. Nenhum sistema está imune; o objetivo é degradar com graça, mantendo clientes legítimos atendidos enquanto o ataque é absorvido.
Tipos de ataque
Ataques de negação de serviço se organizam por camada do modelo de rede, e cada camada exige técnica de defesa própria. A taxonomia abaixo resume as três famílias principais.
| Tipo | Camada | Mecanismo de dano | Exemplos clássicos |
|---|---|---|---|
| Volumétrico | Rede (L3 e L4) | Satura banda com tráfego bruto | UDP flood, amplificação DNS e NTP, ICMP flood |
| De protocolo | Transporte (L4) | Esgota tabelas de conexão do equipamento | SYN flood, conexões parciais, SACK abuse |
| De aplicação | Aplicação (L7) | Consome processamento e banco com requisições válidas | HTTP flood, Slowloris, ataque a endpoints caros |
Os ataques volumétricos medem-se em gigabits por segundo e só são combatidos com absorção em rede de escala global, nunca com a origem. Os de protocolo exploram o custo assimétrico de manter estado de conexão, e exigem proteção de TLS e TCP com validação antecipada. Os de aplicação são os mais difíceis, porque usam requisições sintaticamente válidas, e demandam análise comportamental, rate limiting por identidade e desafios que distinguem humanos e robôs. Na prática, ataques reais combinam as três famílias, iniciando por volumétrico e migrando para camada de aplicação quando a borda resiste.
Absorção e filtragem
A estratégia de defesa tem dois pilares complementares. Absorção é a capacidade de receber tráfego massivo em rede dimensionada para isso e dispersá-lo entre milhares de pontos, de forma que nenhum alvo isolado sinta o peso total; é o pilar que só provedores com escala de internet podem oferecer. Filtragem é a inspeção do tráfego absorvido, separando legítimo de malicioso por assinatura, reputação de origem, fingerprint de cliente, comportamento histórico e rate limit; é o pilar que distingue defesa inteligente de defesa que bloqueia tudo. A sequência típica em uma borda moderna é: absorção do volume, descarte de pacotes malformados e de protocolos desnecessários, validação de TCP e TLS, avaliação de reputação e bot score, rate limiting por identidade e, por último, passagem ao cache ou à origem. Cada estágio remove uma fatia de tráfego malicioso com custo crescente de inspeção, o que mantém o custo total proporcional e a latência dos clientes legítimos estável.
AWS Shield Standard e Advanced
O Shield é o serviço de proteção DDoS da AWS e opera em dois níveis. O Standard é automático, sem custo adicional, e protege todas as contas contra os ataques volumétricos e de protocolo mais comuns, com absorção na infraestrutura da própria AWS e mitigação em roteadores e distribuição global. O Advanced é a camada paga, indicada para cargas críticas, e acrescenta proteção financeira com créditos de escala por DDoS, integração reforçada com CloudFront, Route 53 e ALB, time de resposta da AWS, acesso ao Threat Response Team durante incidentes, detecção de camada de aplicação mais sofisticada e visibilidade de tráfego com amostragem ampliada. Um diferencial relevante do Advanced é o custo protection, que devolve custos de escalonamento gerados por um ataque verificado, cobrindo um risco orçamentário real de atacar justamente o modelo de auto scaling da vítima.
| Aspecto | Shield Standard | Shield Advanced |
|---|---|---|
| Custo | Incluído sem custo extra | Assinatura mensal com compromisso anual |
| Cobertura principal | L3 e L4 automáticas | L3, L4 e L7 com detecção reforçada |
| Proteção financeira | Não há | Créditos por escala gerada em ataque |
| Suporte em incidente | Documentação e canais padrão | Engajamento do time de resposta |
| Visibilidade | Métricas básicas de eventos | Painéis, amostragem e notificações |
| Cenário indicado | Qualquer carga na AWS | Cargas críticas e com exposição alta |
A decisão de pagar o Advanced deve seguir o impacto financeiro de indisponibilidade e o risco de fatura por escalonamento, e não a duração prevista do ataque, que ninguém controla.
A integração arquitetural do Shield com os serviços de borda é o que define a cobertura real. A combinação recomendada para cargas web críticas coloca o CloudFront na frente da origem, com WAF associado à distribuição, origem restrita às faixas de IP do CloudFront e ALB com verificação de header de integração para tráfego que transita pela distribuição. Nesse desenho, o Shield Advanced protege os recursos de borda e o ALB, e a origem nunca aparece na internet, fechando o caminho de contorno que tornaria qualquer proteção irrelevante.
Cloudflare
O Cloudflare é a alternativa de proteção mais difundida entre provedores de borda, operando como proxy reverso global na frente da origem, com DNS apontado para a rede da Cloudflare. A proteção combina absorção em rede própria, mitigação de camada 3 e 4 automática, bot management com pontuação comportamental, WAF gerenciado, rate limiting por identidade e modos de desafio, incluindo CAPTCHA e o mecanismo de prova de trabalho que impõe custo computacional mínimo a cada cliente. O plano gratuito oferece proteção de base significativa, e os planos pagos agregam regras customizadas, garantias de mitigação e suporte dedicado, com possibilidade de engaged mode durante ataques ativos. O ganho arquitetural para times sem time de rede é imediato: a origem esconde-se atrás da borda, aceita tráfego apenas das faixas de IP do provedor, e a maior parte do ataque morre antes de chegar.
A comparação entre os dois caminhos resume a decisão arquitetural.
| Aspecto | AWS Shield | Cloudflare |
|---|---|---|
| Modelo | Serviço de proteção no próprio provedor de nuvem | Rede de borda independente na frente da origem |
| Integração natural | CloudFront, ALB, Route 53, Global Accelerator | Qualquer origem, com DNS na Cloudflare |
| Proteção de base | Standard automática para todas as contas | Plano gratuito com proxy e TLS |
| Camada de aplicação | Depende de WAF associado aos serviços | Bot management e desafio integrados ao plano |
| Neutralidade | Liga a defesa à AWS | Independente do provedor de origem |
| Cenário típico | Arquitetura fortemente AWS | Multi-nuvem ou origem própria com borda externa |
Arquitetura de defesa em camadas
A proteção efetiva não é um serviço contratado, é um desenho onde cada camada reduz o volume que chega à seguinte. As camadas consolidadas na prática são estas.
- Camada de DNS e borda, com absorção de volumétrico e descarte de tráfego malformado antes de qualquer processamento de aplicação.
- Camada de CDN e cache, servindo conteúdo estático na borda e reduzindo a superfície de requisições que chegam à origem.
- Camada de WAF e bot management, filtrando exploração, pontuando clientes e aplicando desafios conforme o risco.
- Camada de rate limit por identidade, protegendo endpoints caros de autenticação, busca e checkout.
- Camada de origem resiliente, com restrição de rede, auto scaling com teto definido e timeouts corretos que impedem o esgotamento de conexões.
O princípio que governa o desenho é o custo assimétrico: cada camada deve ser mais barata de executar que o custo do atacante para burlá-la, e a soma das camadas deve permitir degradação progressiva, mantendo o fluxo de compra ou de pagamento funcionando mesmo em modo reduzido.
Rate limiting e challenge
As ferramentas de camada de aplicação da defesa DDoS são as mesmas do WAF, aplicadas com foco em disponibilidade. O rate limiting por identidade reduz o dano de robôs que emulam clientes válidos, e o desafio interativo separa humanos de automação quando a pontuação de risco é incerta. O exemplo abaixo demonstra uma regra típica de rate limit em borda.
{
"Name": "limite-login-por-ip",
"Priority": 10,
"Statement": {
"RateBasedStatement": {
"Limit": 100,
"EvaluationWindowSec": 300,
"AggregateKeyType": "IP",
"ScopeDownStatement": {
"ByteMatchStatement": {
"SearchString": "/auth/login",
"FieldToMatch": { "UriPath": {} },
"TextTransformations": [ { "Priority": 0, "Type": "LOWERCASE" } ],
"PositionalConstraint": "STARTS_WITH"
}
}
}
},
"Action": { "Block": {} },
"VisibilityConfig": {
"CloudWatchMetricsEnabled": true,
"MetricName": "rate-login",
"SampledRequestsEnabled": true
}
}
A regra limita a cem requisições em cinco minutos por IP apenas no caminho de login, usando escopo reduzido para não penalizar a navegação normal. O par rate limit com desafio é o mecanismo mais eficiente contra HTTP flood: o robô que supera o limite recebe desafio, e a maioria das botnets simples não o completa a custo aceitável para o atacante.
Plano de resposta
Sob ataque, o que define o resultado é a rotina ensaiada, e não decisões improvisadas. O plano de resposta cobre detecção, comunicação, ação técnica e verificação, com papéis e limites de decisão definidos antes do incidente. Os passos essenciais seguem esta ordem.
- Detectar e classificar, com alarmes de taxa anômala de requisições, de erros 5xx e de consumo de escala, distinguindo ataque de pico legítimo de tráfego, como campanha comercial.
- Acionar o modo de emergência da borda, elevando sensibilidade de rate limiting e ativando desafios universais ou engaged mode do provedor.
- Proteger o orçamento de custo, pausando auto scaling agressivo e confirmando cobertura de proteção financeira quando contratada, para que o ataque não vire também um evento de fatura.
- Comunicar com canais predefinidos, informando status ao provedor, à liderança e, quando aplicável, aos clientes, evitando silêncio que multiplica reclamação e especulação.
- Analisar depois, com relatório do incidente, padrões de origem identificados, regras ajustadas permanentemente e itens de melhoria de arquitetura priorizados no backlog.
O plano deve ser exercitado em simulação ao menos uma vez por ano, com o mesmo rigor dos testes de recuperação de desastre, porque a diferença entre contornar o ataque e derrubar o negócio costuma estar na velocidade da primeira ação.
Erros comuns
Os erros abaixo aparecem tanto em quem nunca sofreu ataque quanto em quem já sofreu.
- Expor a origem real com IP público, permitindo que o atacante contorne a CDN e ataque diretamente o servidor.
- Configurar auto scaling sem teto, transformando o ataque em evento de fatura, que às vezes causa mais dano que a indisponibilidade.
- Rate limits globais sem escopo, penalizando clientes legítimos por todo o serviço em vez de proteger endpoints sensíveis.
- Confundir pico legítimo com ataque, ativando bloqueios agressivos justamente no lançamento de campanha.
- Tratar DDoS como evento único, sem relatório, sem ajuste permanente e sem simulação seguinte, repetindo o mesmo tempo de resposta.
Boas práticas
As práticas abaixo consolidam uma postura madura de proteção contra negação de serviço.
- Esconda a origem atrás da borda, aceitando tráfego apenas das faixas do provedor, com firewalls de origem e verificação de header de integração.
- Dimensione limites por endpoint, com rate limit apertado em autenticação e busca, e desafios escalonados pela pontuação de risco do cliente.
- Contrate proteção avançada proporcional ao impacto financeiro de indisponibilidade, incluindo cobertura de custos de escala quando o modelo de auto scaling expõe esse risco.
- Monitore indicadores dedicados a DDoS, com alarmes de desvio brusco de taxa por origem, e integre esses alarmes ao mesmo on-call dos incidentes técnicos.
- Mantenha o plano de resposta escrito, com donos, limites de decisão e cadência de simulação, tratando ataque de negação de serviço como cenário operacional planejado.