AWS Builder Center: Learn, Build and Connect with builders in the AWS community
AWS Builder Center is the official home for builders on AWS. Share and read what others are working on, follow people who inspire you, explore training and workshops, and find tools to support what you're building.
Como posso configurar o AWS WAF para proteger meus recursos de ataques comuns?
Quero usar o AWS WAF em meus recursos para me proteger de ataques comuns.
Resolução
Observação: se você receber mensagens de erro ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solução de problemas da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.
Para usar o AWS WAF em seus recursos para se proteger contra ataques comuns, realize uma ou mais das seguintes ações:
Migre do AWS WAF Classic para o AWS WAF
Se você usa o AWS WAF Classic, é uma prática recomendada migrar para o AWS WAF. Para obter mais informações, consulte Por que migrar para AWS WAF?
Associe seu recurso a uma ACL da web
Primeiro, crie sua ACL da web no AWS WAF. Em seguida, associe seu recurso a essa ACL da web para permitir que o AWS WAF monitore as solicitações recebidas. Para obter mais informações, consulte Recursos que é possível proteger com AWS WAF.
Recursos que podem ser integrados ao AWS WAF
Para recursos que podem ser integrados ao AWS WAF, use uma das seguintes opções para integrar seus recursos:
- No console do AWS WAF, use a opção Recursos associados da AWS. Para obter mais informações, consulte Etapa 2: criar uma ACL da Web.
- Na AWS CLI, use o comando associate-web-acl.
- No CloudFront, use o comando update-distribution.
- No AWS Firewall Manager, use a política do Firewall Manager para AWS WAF.
- Nas aplicações do AWS Amplify, associe diretamente a aplicação no console do Amplify ou do AWS WAF.
Recursos que não podem ser integrados ao AWS WAF
Nos recursos que não podem ser integrados diretamente ao AWS WAF, use uma das seguintes opções para integrar seus recursos:
- Nas instâncias do Amazon Elastic Compute Cloud (Amazon EC2), crie um Application Load Balancer ou distribuição do CloudFront. Em seguida, associe a distribuição a uma ACL da web.
- Nos clusters do Amazon Elastic Kubernetes Service (Amazon EKS), crie um Application Load Balancer. Em seguida, associe o Application Load Balancer a uma ACL da web. Para obter mais informações, consulte Protecting your Amazon EKS web apps with AWS WAF (Protegendo suas aplicações web do Amazon EKS com o AWS WAF).
- Nos Network Load Balancers, crie um Application Load Balancer. Em seguida, defina o Application Load Balancer como o destino do Network Load Balancer e associe o Application Load Balancer a uma ACL da web. Para obter mais informações, consulte Usar um Application Load Balancer como destino de um Network Load Balancer.
Analise as solicitações recebidas para melhorar suas regras
Para identificar padrões de solicitação comuns, use os logs de aplicação, como os logs de acesso do Application Load Balancer ou do CloudFront.
Observação: é uma prática recomendada usar os logs do AWS WAF para armazenar, consultar e analisar logs de solicitações HTTP.
Depois de identificar padrões de solicitação comuns, armazene seus logs no Amazon Simple Storage Service (Amazon S3) ou no Amazon CloudWatch. Para consultar os logs e identificar padrões, use o Amazon Athena ou o CloudWatch Logs Insights.
Por fim, crie uma regra do AWS WAF no modo Count que verifique as solicitações recebidas e, em seguida, defina a regra para Block. Realize as seguintes ações:
- Crie uma declaração de regra NOT no cabeçalho do host em example.com. Observação: substitua example.com pelo cabeçalho do seu host.
- Defina Action como Block. O AWS WAF bloqueia solicitações que não têm o cabeçalho de host que você especifica.
Observação: essa regra também bloqueia solicitações para o nome de domínio totalmente qualificado (fully qualified domain name, FQDN) fornecido pela AWS.
Os exemplos a seguir são padrões de solicitação comuns que você pode encontrar.
Solicitações de URIs que não existem
Para reconhecer solicitações de URIs que não existem, você deve conhecer todos os URI compatíveis em seu ambiente. Veja a seguir um exemplo de consulta do Athena nos logs do AWS WAF que conta as solicitações para cada URI:
SELECT COUNT("httprequest"."uri") AS URIcount, "httprequest"."uri" FROM waf_logs GROUP BY "httprequest"."uri" ORDER BY URIcount DESC
Veja a seguir um exemplo de consulta do CloudWatch nos logs do AWS WAF que conta as solicitações para cada URI:
fields httpRequest.uri| stats count(*) as requestCount by httpRequest.uri| sort requestCount desc
Solicitações que contêm diferentes valores de cabeçalho do host
Esse padrão inclui solicitações com um cabeçalho de host HTTP com o qual seu servidor web não é compatível. Esse padrão também inclui solicitações que contêm um endereço IP em vez do nome de domínio do seu site.
Veja a seguir um exemplo de consulta do Athena nos logs do AWS WAF que conta solicitações com diferentes valores de cabeçalho de host:
SELECT header.value as HostHeader, count(header) as count FROM waf_logs, UNNEST(httprequest.headers) AS x(header) WHERE "header"."name" = 'Host' GROUP BY header ORDER BY count DESC
Veja a seguir um exemplo de consulta do CloudWatch nos logs do AWS WAF que conta solicitações com diferentes valores de cabeçalho de host:
fields @timestamp, @message| parse @message '{"name":"Host","value":"*"}' as host| stats count(*) as requestCount by host| sort requestCount desc
Use as Regras gerenciadas pela AWS para se proteger de ataques comuns
Para usar as Regras gerenciadas pela AWS, identifique padrões de solicitação e ataques comuns contra os quais você deseja se proteger. Em seguida, adicione os grupos de regras relevantes das regras gerenciadas pela AWS. Para se proteger contra tarefas especializadas, use os seguintes grupos de regras por um custo adicional:
- Grupo de regras de prevenção contra fraude na criação de contas (ACFP) do AWS WAF Fraud Control
- Grupo de regras de prevenção contra apropriação de contas (ATP) do AWS WAF Fraud Control
- Grupo de regras de Controle de bots do AWS WAF
Adicione os grupos de regras relevantes à sua ACL da web no modo Count. Em seguida, analise os logs do AWS WAF e as métricas do CloudWatch para verificar se a regra gerenciada corresponde a algum tráfego legítimo. Se a regra não corresponder ao tráfego legítimo, desative o modo Enable count para que o grupo de regras bloqueie o tráfego. Para desativar uma regra específica no Grupo de regras gerenciadas pela AWS, selecione Substituir ação de regras para essa regra.
Observação: solicitações legítimas para seu ambiente podem iniciar as Regras gerenciadas pela AWS. Para obter mais informações, consulte How to customize behavior of AWS Managed Rules for AWS WAF (Como personalizar o comportamento das Regras gerenciadas pela AWS no AWS WAF).
Defina uma linha de base do seu AWS WAF usando a taxa de solicitações legítimas
Para se proteger contra ataques volumétricos, analise seu tráfego para identificar o número de solicitações feitas por endereços IP legítimos de clientes. Para analisar seu tráfego, use o CloudWatch Logs Insights, as consultas do Athena ou o Amazon Quick Sight nos logs do AWS WAF. Use as informações da análise como linha de base do seu AWS WAF. Em seguida, configure uma declaração de regra baseada em taxas para definir um limite de solicitação.
A seguir está um exemplo de consulta do Athena nos logs do AWS WAF que conta as solicitações de um único endereço IP dentro de um intervalo de tempo específico:
SELECT "httprequest"."clientip", "count"(*) "count", "httprequest"."country" FROM waf_logs WHERE httprequest.clientip LIKE '10.0.0.0' and date_format(from_unixtime("timestamp"/1000), '%Y-%m-%d %h:%i:%s') between '2020-11-16 09:00:00' and '2020-11-16 10:00:00' GROUP BY "httprequest"."clientip", "httprequest"."country"
Observação: substitua 10.0.0.0 pelo seu endereço IP e 2020-11-16 09:00:00 e 2020-11-16 10:00:00 pelo seu intervalo de tempo.
Veja a seguir um exemplo de consulta do CloudWatch Insights nos logs do AWS WAF que conta as solicitações de um único endereço IP:
fields httpRequest.clientIp, httpRequest.country| stats count(*) as requestCount by httpRequest.clientIp, httpRequest.country| filter httpRequest.clientIp = "10.0.0.0"
Observação: substitua 10.0.0.0 pelo seu endereço IP.
Veja a seguir um exemplo de consulta do Athena nos logs do AWS WAF que conta todas as solicitações de endereços IP dentro de um intervalo de tempo específico:
SELECT "httprequest"."clientip", "count"(*) "count", "httprequest"."country" FROM waf_logs WHERE date_format(from_unixtime("timestamp"/1000), '%Y-%m-%d %h:%i:%s') BETWEEN '2020-11-16 09:00:00' AND '2020-11-16 10:00:00' GROUP BY "httprequest"."clientip", "httprequest"."country" ORDER BY "count" DESC
Observação: substitua 2020-11-16 09:00:00 e 2020-11-16 10:00:00 pelo seu intervalo de tempo.
Veja a seguir um exemplo de consulta do CloudWatch Insights nos logs do AWS WAF que conta solicitações de endereços IP dentro de um intervalo de tempo específico:
fields httpRequest.clientIp, httpRequest.country| stats count(*) as requestCount by httpRequest.clientIp, httpRequest.country| sort requestCount desc
Use Automações de segurança do AWS WAF para evitar ataques comuns
Para proporcionar proteção extra contra ataques comuns, é possível usar as Security Automations for AWS WAF (Automações de segurança do AWS WAF).
Observação: essa solução usa outros serviços da AWS que podem gerar custos.
Use instruções de regras de ataques de injeção de SQL e XSS
Para proteger suas aplicações contra ataques de injeção de SQL e XSS, use instruções integradas de regras de ataques de injeção de SQL e XSS. Os ataques podem ocorrer em diferentes partes da solicitação HTTP, como o cabeçalho HTTP, a string de consulta ou o URI. Configure suas regras do AWS WAF para inspecionar diferentes partes da solicitação HTTP em relação às instruções de regras de ataque.
Observação: solicitações legítimas para seu ambiente podem iniciar as instruções de regras de ataque. Para obter mais informações, consulte Como posso detectar falsos positivos causados pelo AWS Managed Rules?
Restrinja o acesso do CloudFront
Restrinja o acesso com base nos endereços IP do CloudFront. Em seguida, adicione um cabeçalho personalizado no CloudFront para solicitações de origem. Na origem, permita acesso somente quando o cabeçalho personalizado e o valor estiverem presentes. Se a origem for um Application Load Balancer ou API Gateway, use o AWS WAF na origem. Essa ação permite solicitações que contenham o cabeçalho personalizado e o valor.
Proteja-se contra ataques de DDoS
Para se proteger contra ataques de DDoS, consulte Como faço para usar o AWS WAF para mitigar ataques de DDoS? e AWS WAF Distributed Denial of Service (DDoS) prevention rule group (Grupo de regras de prevenção de negação de serviço distribuída (DDoS) do AWS WAF). Veja também AWS best practices for DDoS resiliency (Práticas recomendadas da AWS para resiliência contra DDoS) e Recursos do AWS Shield.
Informações relacionadas
- Tags
- AWS WAF
- Idioma
- Português
Vídeos relacionados


This article was reviewed and updated on 2026-02-25.
Conteúdo relevante
feita há um ano
feita há 9 meses
feita há um mês
AWS OFICIALAtualizada há 10 meses