Ir para o conteúdo

Por que o AWS WAF bloqueia minha solicitação ou responde com um erro 403 Forbidden?

4 minuto de leitura
0

Quero identificar a regra do AWS WAF que está bloqueando minha solicitação ou respondendo com um erro 403 Forbidden.

Breve descrição

Por padrão, o AWS WAF retorna um erro “403 Forbidden” para solicitações que correspondem às regras do AWS WAF com a ação Bloquear. Se você configurar respostas personalizadas para ações Bloquear, o AWS WAF retorna sua resposta configurada.

Para solucionar o erro “403 Forbidden”, use Solicitações amostradas ou logs do AWS WAF para identificar a regra ou o grupo de regras do AWS WAF que bloqueia a solicitação. Em seguida, modifique a regra para permitir sua solicitação.

Resolução

Use solicitações amostradas

Se sua solicitação foi bloqueada pelo AWS WAF nas últimas 3 horas, é possível ver uma amostra das solicitações da web bloqueadas. Se o AWS WAF bloqueou sua solicitação há mais de 3 horas, reenvie a mesma solicitação para gerar uma nova solicitação amostrada.

Na tabela Solicitações amostradas, revise as seguintes colunas:

  • As colunas IP de origem e URI para identificar a solicitação.
  • A coluna Nome da métrica para identificar a regra ou o grupo de regras que corresponde à solicitação. Se um grupo de regras estiver bloqueando a solicitação, use a coluna Regra dentro do grupo de regras para identificar a regra.
  • A coluna Ação para confirmar que a regra está definida como Bloquear.

Use os logs do AWS WAF

Observação: se o registro em log do AWS WAF não estava ativado no momento da sua solicitação, ative o registro em log do AWS WAF e reenvie a mesma solicitação.

Use as consultas em seus logs do AWS WAF para identificar as solicitações bloqueadas. Para consultar os logs do AWS WAF que você armazena no Amazon CloudWatch Logs, use as consultas do Amazon CloudWatch Logs Insights. Use as consultas do Amazon Athena para consultar os logs do AWS WAF que estão armazenados no Amazon Simple Storage Solution (Amazon S3).

Exemplos de consultas do CloudWatch Logs Insights

Para obter as 10 principais regras de encerramento, execute a seguinte consulta:

fields terminatingRuleId
| stats count() as requestCount by terminatingRuleId
| sort requestCount desc
| limit 10

Para resumir as solicitações bloqueadas pelo AWS WAF por endereço IP, país, URI e regra do cliente, execute a seguinte consulta:

fields httpRequest.clientIp as ClientIP, httpRequest.country as Country, httpRequest.uri as URI, terminatingRuleId as Rule
| filter action = "BLOCK"
| stats count() as RequestCount by Country, ClientIP, URI, Rule
| sort RequestCount desc

Observação: na saída, o campo terminatingRuleId identifica a regra ou o grupo de regras do AWS WAF que está bloqueando a solicitação.

Exemplo de consulta do Athena

Para logs do AWS WAF que você armazena em um bucket do Amazon S3, use o Athena para criar uma tabela do AWS WAF que consulta logs e filtra detalhes. Para obter mais informações, consulte Consultar logs do AWS WAF. Em seguida, execute as consultas na tabela.

Por exemplo, para ver o número de solicitações bloqueadas pelo AWS WAF com base no endereço IP e no país do cliente, execute a seguinte consulta:

SELECT  "httprequest"."clientip"
,"count"(*) "count"  
, "httprequest"."country"
FROM
waf_logs
WHERE ("action" LIKE 'BLOCK')
GROUP BY "httprequest"."clientip", "httprequest"."country"
ORDER BY "count" DESC

Modifique a regra do AWS WAF para permitir sua solicitação

Se a regra de bloqueio estiver em um grupo de regras do AWS Managed Rules, personalize o comportamento da regra.

Se a regra de bloqueio for uma regra personalizada, atualize os parâmetros da regra para usar uma declaração de regra para permitir a solicitação.

Informações relacionadas

Como ativo logs do AWS WAF e envio logs para o CloudWatch, o Amazon S3 ou o Firehose?

Como analiso os logs do AWS WAF no CloudWatch?

AWS OFICIALAtualizada há 5 meses