Gerenciamento de falsos positivos no AWS WAF
Visão geral
Adicionar controles de segurança, como o WAF, a uma aplicação Web aumenta os riscos de introdução de falsos positivos. Falsos positivos são ocorrências de bloqueio de solicitações legítimas de usuários, o que não é um efeito colateral desejável do uso de um WAF. O gerenciamento de falsos positivos inclui a criação de regras que os minimizem, detectem suas ocorrências e as atenuem no lado da aplicação ou no WAF. O AWS WAF simplifica o gerenciamento de falsos positivos graças à flexibilidade de sua linguagem de regras e aos detalhes disponíveis nos logs gerados.
Projetando regras do WAF com baixos falsos positivos
Para reduzir os baixos pontos positivos ao usar o AWS WAF, configure regras com atenção na sua WebACL. Primeiro, ajustando o limite de detecção das regras. Por exemplo, este blog fornece orientação sobre como configurar limites de detecção que limitam taxas. Outro exemplo é configurar a sensibilidade de detecção de regras de injeção de SQL (SQLi). Segundo, habilite as regras mais relevantes na parte mais relevante das suas aplicações, da maneira mais específica. Por exemplo, somente habilite regras de SQLi se a sua aplicação usar um banco de dados SQL e restrinja o escopo das URLs que interagem com esse banco de dados. Terceiro, responda a solicitações correspondidas com ações diferenciadas. Com essa abordagem, você apenas configuraria uma ação de bloqueio para solicitações quando tivesse muita confiança em sua natureza mal-intencionada. Quando tiver menos confiança em bloquear uma solicitação, considere uma das seguintes estratégias de resposta diferenciadas:
- Conte a solicitação e deixe-a fluir upstream para sua aplicação, mas inclua um cabeçalho gerado pelo WAF na solicitação encaminhada à sua aplicação. Sua aplicação pode então responder de maneira diferente com base no valor do cabeçalho, por exemplo, acionar a autenticação multifator com tentativas de login suspeitas. Você também pode aumentar dinamicamente a gravidade da resposta do WAF com base no nível de ameaças contínuas. Por exemplo, o OLX altera dinamicamente a resposta a IPs suspeitos com base no nível de riscos da sua aplicação. No modo de baixo risco, eles permitem que mais tráfego passe para a aplicação, o que minimiza os falsos positivos. No modo de alto risco, eles preferem reduzir o falso negativo em vez do falso positivo, bloqueando todos os IPs suspeitos.
- Respondem com um CAPTCHA ou desafios silenciosos, que só bloqueará a solicitação se o navegador falhar no desafio.
Regras gerenciadas pela Amazon
O AWS WAF fornece uma lista de grupos de regras gerenciadas da Amazon (AMR) que podem ser adicionados à sua WebACL do WAF. AMRs são selecionados para bloquear as ameaças mais críticas e impactantes, ao mesmo tempo em que minimizam os falsos positivos.
Para gerenciar melhor os falsos positivos, os AMRs oferecem as seguintes possibilidades de configuração:
- Você pode desabilitar atualizações automáticas pelo AMR e, em vez disso, usar e atualizar manualmente para uma versão específica. Isso dá a oportunidade de testar atualizações em busca de falsos positivos antes de habilitar a versão mais recente.
- AMRs emitem rótulos quando são avaliados. Em vez de usar as regras de bloqueio padrão do AMR, você as define para contagem e usa os rótulos emitidos em combinação com outras regras do WAF para bloquear solicitações com um nível de confiança mais alto. Por exemplo, você pode usar o AMR de lista de reputação de IPs da Amazon no modo de contagem e, em seguida, criar uma regra subsequente com base em rótulos emitidos por esse AMR para limitar a taxa com um limite muito baixo. Rótulos gerados por AMRs são descritos na documentação do WAF.
O mesmo se aplica ao grupo de regras gerenciadas criado pelo Shield Avançado quando você assina esse serviço e habilita a mitigação automática de DDoS na camada da aplicação. Conforme descrito na documentação, o Shield Avançado aplica regras de bloqueio ao WAF somente quando tem alta confiança de que a regra corresponde apenas à assinatura de ataque, com base em padrões históricos de tráfego.
Identificação de falsos positivos
A orientação a seguir ajuda você a identificar falsos positivos quando eles ocorrerem:
- Inclua a detecção de falsos positivos em seus processos de lançamento de software ou processos de mudança de infraestrutura, por exemplo, testando suas regras de WAF em ambientes de desenvolvimento e teste e, em seguida, validando-as no modo Count na produção antes da implantação final. A documentação do AWS WAF fornece diretrizes para a implantação de regras de controle de bots e regras de prevenção de aquisição de contas na produção de forma segura.
- Configure alarmes em métricas do CloudWatch emitidas por regras do WAF. Você será notificado quando uma regra corresponder ao tráfego em níveis anormais. Por exemplo, isso pode ocorrer após uma alteração no código da aplicação, identificada erroneamente como um ataque, que se propagou no ambiente de produção.
- Habilite o registro em log do WAF e faça auditorias regulares do tráfego bloqueado para identificar o tráfego legítimo que foi bloqueado. Para casos de uso simples, você pode usar o painel de solicitações de amostra no console do AWS WAF.
- Atualize sua aplicação para permitir que os usuários relatem respostas 403 inesperadas. Por exemplo, quando o WAF é implantado com o CloudFront, você pode usar a página de erro personalizada do CloudFront para retornar, em vez da página de erro 403, uma página na qual eles possam informar o problema para você.
Excluir falsos positivos do escopo da regra
Quando um falso positivo é identificado, é possível atualizar as regras do WAF para adicionar exclusões e mitigar o falso positivo. Com regras personalizadas, as exclusões podem ser expressas simplesmente usando a lógica AND/OR. Por exemplo, aplique regras de SQLi se o IP da solicitação não fizer parte de uma lista de IPs permitidos e se o URL da solicitação não for um dos URLs excluídos. Com AMRs, você pode criar exclusões usando instruções de restrição de escopo. Considere a documentação a seguir para gerenciar falsos positivos específicos para AMRs de Controle de Bots do AWS WAF.