Proteção de DDoS
Visão geral
Os ataques distribuídos de negação de serviço (DDoS) são tentativas maliciosas de interromper o tráfego normal de um servidor, serviço ou rede alvo, sobrecarregando-o com uma enxurrada de tráfego da Internet. Se não forem mitigados de forma eficaz, os ataques de DDoS podem levar à diminuição da disponibilidade ou à redução dos tempos de resposta dos aplicativos da web. Nessas situações, se o aplicativo for dimensionado para absorver o ataque, ele incorrerá em custos de dimensionamento indesejados. Felizmente, os aplicativos desenvolvidos na AWS se beneficiam de proteções nativas contra DDoS e podem ser projetados para serem altamente resilientes contra esses ataques usando serviços e controles de segurança da AWS.
Abordagem da AWS para proteção contra DDoS
A segurança é uma responsabilidade compartilhada entre a AWS e o cliente. A AWS é responsável por proteger a infraestrutura que sustenta seus serviços em nuvem. Para proteger sua infraestrutura, a AWS emprega proteções nativas contra ataques de DDoS à infraestrutura (nas camadas 3 e 4) sem custo adicional. Essas proteções são fornecidas por meio do Shield Standard e são baseadas nos seguintes componentes:
- Os sistemas de monitoramento analisam diversas fontes, como NetFlow de dispositivos de rede e logs de serviço, para detectar ataques DDoS.
- Os sistemas de limpeza limpam o tráfego de ataques DDoS usando Deep Packet Inspection, firewall e modelagem de tráfego. Para serviços como o CloudFront e o Route 53, os sistemas de depuração são implantados em seus Pontos de Presença (PoPs), permitindo a detecção e a mitigação em menos de um segundo. Por outro lado, para serviços regionais como ALB ou EC2, os sistemas de depuração mitigam os ataques após a detecção, geralmente em minutos.
- A equipe de resposta da Shield promove a resolução rápida de ataques de DDoS que não são detectados e mitigados automaticamente pelos sistemas de monitoramento e depuração.
No modelo de responsabilidade compartilhada, sua responsabilidade pela proteção contra DDoS depende dos serviços de nuvem AWS que você usa, o que determina a quantidade de trabalho de configuração que você deve realizar. Por exemplo, expor arquivos do S3 em vez de uma instância do EC2 reduz os controles de segurança que você precisa empregar contra ataques de DDoS. Independentemente dos serviços usados, a AWS fornece recursos para proteger, monitorar e responder a ataques de DDoS dentro do seu escopo de responsabilidade.
Você é responsável por projetar arquiteturas resistentes a DDoS usando serviços da AWS. As melhores práticas incluem:
- Uso do CloudFront para aplicativos web e o Global Accelerator para outros casos de uso para se beneficiar de centenas de Tbps de capacidade de mitigação em toda a rede de borda distribuída da AWS. Tanto o CloudFront quanto o Global Accelerator empregam técnicas avançadas de mitigação de DDoS, como o SYN Proxy, que fornece proteção contra inundações de SYN enviando cookies SYN para desafiar novas conexões antes que elas possam continuar upstream. O CloudFront fornece a proteção mais rápida (menos de um milissegundo) e completa contra todos os ataques de DDoS conhecidos nas camadas 3 e 4, bem como contra ataques de DDoS direcionados ao protocolo HTTP, como ataques de reinicialização rápida Slowloris e HTTP/2.
- Redução na superfície de ataque das suas origens usando técnicas de Ocultação da origem.
- Preparar seu aplicativo para escalar, por exemplo, usando escalonamento automático com origens baseadas em EC2.
- Bloquear inundações de HTTP usando o AWS WAF
- Monitoramento do comportamento do seu aplicativo para alertar sobre atividades anormais, analisando ameaças e respondendo usando runbooks pré-estabelecidos com a possibilidade de contratar a AWS para suporte.
Bloqueio de inundações HTTP usando AWS WAF
Para bloquear eficazmente inundações HTTP (ataques de DDoS na camada 7), o AWS WAF fornece uma combinação de várias regras.
- Regras para reduzir o ataque superficial do aplicativo, negando qualquer padrão de solicitação inesperado. Por exemplo, você pode criar regras para negar solicitações com URLs que não aderem aos esquemas de URL da API, solicitações com verbos HTTP não suportados pela sua API ou simplesmente hospedar valores de cabeçalho que não fazem parte dos seus nomes de domínio. Essas regras bloqueiam o tráfego indesejado imediatamente.
- Regras baseadas na reputação de IP que bloqueiam o tráfego de IPs com má reputação. Você pode usar as regras gerenciadas da Amazon com base na inteligência de ameaças coletada pela AWS, as regras gerenciadas para o AWS WAF por fornecedores do AWS Marketplace, como a Imperva, ou você pode criar sua própria lista de reputação de IP e atualizar automaticamente o AWS WAF. As regras baseadas na reputação de IP tendem a bloquear imediatamente uma parte significativa das inundações de HTTP.
- Regras de limitação de taxa que agregam solicitações de acordo com uma dimensão configurada (por exemplo, IP) e bloqueiam o tráfego se o volume agregado de solicitações exceder os limites configurados (por exemplo, 100 solicitações) em um determinado período (por exemplo, 1 minuto). Os limites de taxa bloqueiam o tráfego ofensivo em dezenas de segundos até que seu volume caia abaixo dos limites configurados. Se você quiser estender a duração do bloqueio dos limites de taxa, implemente a solução personalizada descrita neste blog. Exemplos de regras de limitação de taxa incluem: uma regra geral baseada em IP com limite alto (por exemplo, 2.000), regra baseada em IP específica de URI (por exemplo, /login) com limite inferior (por exemplo, 100), regra baseada em país para países onde você não opera negócios significativos, baseada em cookies para bloquear sessões autenticadas ofensivas, etc.
- Regras com a ação JavaScript Challenge, para bloquear imediatamente o tráfego indesejado gerado por ferramentas que falham na execução do JavaScript e na solução de desafios, como os navegadores legítimos.
- Regras de controle de bots para proteção contra inundações HTTP orquestradas por bots evasivos. As técnicas de controle de bots usando o AWS WAF Bot Control incluem detecções comportamentais, detecção de atividade coordenada baseada em ML, detecção de automação de navegadores e desafios de CAPTCHA. A detecção e a mitigação acontecem em dezenas de segundos.
- Regras baseadas na assinatura de ataque criadas automaticamente pela mitigação automática de DDos da camada de aplicação do Shield Advanced (L7AM). Quando esse recurso do Shield Advanced é ativado, um grupo de regras gerenciadas vazio é criado na sua WebACL do AWS WAF e o tráfego do seu aplicativo é monitorado por pelo menos 72 horas para criar uma linha de base do tráfego normal. Quando há um desvio significativo do perfil de tráfego em relação à linha de base estabelecida, o Shield Advanced sinaliza uma detecção de DDoS e começa a analisar o tráfego em busca de uma assinatura de ataque. Se uma assinatura for encontrada, ela será testada primeiro no tráfego anterior para reduzir o risco de falso positivo e, se for seguro usá-la, uma regra WAF correspondente será colocada no grupo de regras criado anteriormente. Depois de um certo tempo, quando o ataque é interrompido, a regra é automaticamente removida do grupo de regras. Quando bem-sucedido, esse processo leva vários minutos.
Além disso, você pode implementar regras dinâmicas de WAF que se adaptam ao nível de ameaça percebido, permitindo respostas mais agressivas (por exemplo, ações CAPTCHA ou Challenge) durante ataques de DDoS de alta gravidade. Saiba mais sobre como é possível implementar esse padrão usando essa solução.
Uso do Shield Advanced
O Shield Advanced é um serviço adicional da AWS que aprimora sua postura de segurança contra ataques DDoS. Ele fornece mitigação automática na camada 7 usando o AWS WAF para aplicativos da web e melhores proteções para aplicativos não web, como a aplicação de regras da Lista de Controle de Acesso à Rede (NACL) na rede de fronteira com maior capacidade de largura de banda. Com o Shield Advanced, os ataques que não são mitigados automaticamente podem ser escalados para a equipe de resposta do Shield para mitigação manual.
Para se beneficiar de todos os recursos do Shield Avançado, é recomendável:
- Depois de assinar o Shield Avançado, adicione proteções do Shield Avançado aos seus recursos da AWS voltados para a Internet. As proteções devem estar em vigor 72 horas antes de um ataque para garantir que a linha de base do tráfego das aplicações seja definida e que as mitigações sejam aplicadas.
- Para recursos do CloudFront e do ALB, associe uma WebACL do AWS WAF às melhores práticas descritas na seção anterior (por exemplo, limitação de taxa, reputação de IP, etc.). Habilite a proteção da Camada 7 para esses recursos. Opcionalmente, configure o registro em log do AWS WAF.
- Configure o envolvimento proativo para receber contato direto da equipe de resposta do AWS Shield (SRT). O envolvimento proativo pode ser habilitado antes da criação das verificações de integridade do Amazon Route53. As verificações de integridade associadas à sua aplicação melhoram a sensibilidade de detecção do Shield Avançado. Por exemplo, quando as verificações de integridade detectam um aumento de erros 5xx retornados pela sua aplicação, o Shield Avançado reduz os limites de detecção. Assista a este vídeo rápido para saber como configurar verificações de integridade.
- Configure os alarmes do CloudWatch para o Shield e o WAF para receber notificações quando você estiver sob ataque.
Para auditar sua configuração do Shield Advanced, execute o runbook DDoSResiliencyAssessment no AWS Systems Manager. Ele coleta, analisa e avalia os seguintes recursos: Amazon Route 53, Balanceadores de Carga Amazon, distribuições do Amazon CloudFront, AWS Global Accelerator e AWS Elastic IPs para suas definições de configuração, de acordo com as melhores práticas recomendadas para a Proteção do AWS Shield Avançado.
Testar a resiliência a DDoS
Testes de simulação de DDoS são permitidos na AWS e estão sujeitos aos termos e condições detalhados nesta página. A AWS oferece duas opções para executar testes de simulação de DDoS: um ataque simulado de DDoS no tráfego de produção com um parceiro autorizado e pré-aprovado da AWS, como NCC Group plc, RedWolf e Red Button; ou um ataque de DDoS simulado sintético com a equipe de resposta da Shield, também conhecido como firedrill.
Recursos
- Encontre parceiros de entrega do AWS WAF
- Whitepaper: AWS Best Practices for DDoS Resiliency (Práticas recomendadas da AWS para resiliência a DDoS)
- Blog — Entenda os testes de simulação de DDoS na AWS
- Blog — As três regras mais importantes baseadas em intervalos do AWS WAF
- Blog — Descubra os benefícios das regras avançadas baseadas em tarifas do AWS WAF