Quiero identificar la regla de AWS WAF que bloquea mi solicitud o responde con un error 403 Forbidden.
Descripción corta
De forma predeterminada, AWS WAF devuelve el error «403 Forbidden» para las solicitudes que coinciden con las reglas de AWS WAF con la acción Bloquear. Si configuras respuestas personalizadas para las acciones de bloqueo, AWS WAF devolverá la respuesta configurada.
Para solucionar el error «403 Forbidden», utiliza las solicitudes de muestra o los registros de AWS WAF para identificar la regla o el grupo de reglas de AWS WAF que bloquea la solicitud. A continuación, modifica la regla para permitir tu solicitud.
Resolución
Uso de solicitudes de muestra
Si AWS WAF bloqueó tu solicitud en las últimas 3 horas, puedes ver una muestra de las solicitudes web bloqueadas. Si AWS WAF bloqueó tu solicitud hace más de 3 horas, vuelve a enviar la misma solicitud para generar una nueva solicitud de muestra.
En la tabla Solicitudes de muestra, revisa las siguientes columnas:
- Para identificar la solicitud, revisa las columnas Dirección IP de origen y URI.
- Para identificar la regla o el grupo de reglas que coincide con la solicitud, revisa la columna Nombre de métrica. Si un grupo de reglas bloquea la solicitud, utiliza la columna Regla dentro del grupo de reglas para identificar la regla.
- Para confirmar que la regla está configurada como Bloquear, revisa la columna Acción.
Uso de los registros de AWS WAF
Nota: Si no has activado el registro de AWS WAF en el momento de la solicitud, actívalo y vuelve a enviar la misma solicitud.
Utiliza las consultas de los registros de AWS WAF para identificar las solicitudes bloqueadas. Para consultar los registros de AWS WAF que almacenas en Registros de Amazon CloudWatch, utiliza las consultas de Información de registros de Amazon CloudWatch. Para consultar los registros de AWS WAF que almacenas en Amazon Simple Storage Solution (Amazon S3), usa Amazon Athena.
Ejemplos de consultas de Información de registros de CloudWatch
Para obtener las 10 reglas de terminación principales, ejecuta la siguiente consulta:
fields terminatingRuleId
| stats count() as requestCount by terminatingRuleId
| sort requestCount desc
| limit 10
Para resumir las solicitudes que AWS WAF bloqueó por dirección IP, país, URI y regla del cliente, ejecuta la siguiente 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
Nota: En el resultado, el campo terminatingRuleId identifica la regla o el grupo de reglas de AWS WAF que bloquea la solicitud.
Ejemplo de consulta de Athena
En el caso de los registros de AWS WAF que almacenas en un bucket de Amazon S3, utiliza Athena para crear una tabla de AWS WAF que consulte los registros y filtre los detalles. Para obtener más información, consulta el artículo Consulta de registros de AWS WAF. A continuación, ejecuta las consultas en la tabla.
Por ejemplo, para ver el número de solicitudes bloqueadas por AWS WAF según la dirección IP y el país del cliente, ejecuta la siguiente 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
Modificación de la regla de AWS WAF para permitir tu solicitud
Si la regla de bloqueo está en un grupo de reglas administradas de AWS, personaliza el comportamiento de la regla.
Si la regla de bloqueo es una regla personalizada, actualiza los parámetros de la regla para usar una instrucción de regla que permita la solicitud.
Información relacionada
¿Cómo puedo activar los registros de AWS WAF y enviarlos a CloudWatch, Amazon S3 o Firehose?
¿Cómo analizo los registros de AWS WAF en CloudWatch?