Presentamos una nueva experiencia de consola para AWS WAF
Ahora puede usar la experiencia actualizada para acceder a las funciones de AWS WAF desde cualquier parte de la consola. Para obtener más información, consulta Trabajo con la experiencia de consola actualizada.
Registro de información del tráfico de la ACL web
aviso
AWS WAF Classic está pasando por un proceso planificado de final de vida útil. Consulte el panel de control de AWS Health para ver los hitos y las fechas específicos de su región.
nota
Esta es la documentación de AWS WAF Classic. Solo debe usar esta versión si creó recursos de AWS WAF, como reglas y ACL web, en AWS WAF antes de noviembre de 2019, y aún no los ha migrado a la versión más reciente. Para migrar las ACL web, consulte Migración de los recursos de AWS WAF a AWS WAF.
Para obtener la última versión de AWS WAF, consulte AWS WAF.
nota
No puede usar Amazon Security Lake para recopilar datos de AWS WAF Classic.
Puede habilitar el registro para obtener información detallada sobre el tráfico que analiza su ACL web. En la información incluida en los registros se incluye la hora a la que AWS WAF Classic recibió la solicitud de su recurso de AWS, información detallada sobre la solicitud y la acción para la regla con la que coincidía cada solicitud.
Para empezar, configure una instancia de Amazon Kinesis Data Firehose. Como parte de ese proceso, elija un destino para almacenar sus registros. A continuación, elija la ACL web para la que desea habilitar el registro. Después de habilitar el registro, AWS WAF ofrece registros a través de Firehose a su destino de almacenamiento.
Para obtener información acerca de cómo crear una Amazon Kinesis Data Firehose y revisar los registros almacenados, consulte What Is Amazon Data Firehose? Para conocer los permisos necesarios para la configuración de Kinesis Data Firehose, consulte Controlling Access with Amazon Kinesis Data Firehose.
Debe tener los siguientes permisos para habilitar el registro correctamente:
iam:CreateServiceLinkedRolefirehose:ListDeliveryStreamswaf:PutLoggingConfiguration
Para obtener más información acerca de los roles vinculados a servicios y el permiso iam:CreateServiceLinkedRole, consulte Uso de roles vinculados a servicios en AWS WAF Classic.
Para habilitar el registro para una ACL web
Cree una instancia de Amazon Kinesis Data Firehose con un nombre que empiece con el prefijo "aws-waf-logs-". Por ejemplo,
aws-waf-logs-us-east-2-analytics. Cree la instancia de Data Firehose con un origenPUTy en la región en la que opera. Si está capturando registros para Amazon CloudFront, cree la firehose de seguridad en Este de EE. UU. (Norte de Virginia). Para obtener más información, consulte Creación de un flujo de entrega de Amazon Data Firehose.importante
No seleccione
Kinesis streamcomo origen.Un registro de AWS WAF Classic equivale a un registro de Firehose. Si suele recibir 10 000 solicitudes por segundo y habilita registros completos, debería tener una configuración de 10 000 registros por segundo en Firehose. Si no configura Firehose correctamente, AWS WAF Classic no registrará todos los registros. Para obtener más información, consulte Cuotas de Amazon Kinesis Data Firehose.
Inicie sesión en la Consola de administración de AWS y abra la consola de AWS WAF en https://console.aws.amazon.com/wafv2/
. Si ve Cambiar a AWS WAF Classic en el panel de navegación, selecciónelo.
En el panel de navegación, seleccione Web ACLs (ACL web).
Elija el nombre de la ACL web para la que desea habilitar el registro. Esto abre una página con los detalles de la ACL web en el panel derecho.
En la pestaña de Registro, elija Habilitar el registro.
Elija la instancia de Kinesis Data Firehose que creó en el primer paso. Debe elegir una instancia de Firehose que empiece por "aws-waf-logs-".
(Opcional) Si no desea determinados campos y sus valores incluidos en los registros, redacte esos campos. Elija el campo que se va a redactar y, a continuación, elija Add (Añadir). Repita según sea necesario para redactar campos adicionales. Los campos redactados aparecen como
REDACTEDen los registros. Por ejemplo, si redacta el campo cookie (cookie), el campo cookie (cookie) de los registros seráREDACTED.Elija Enable logging (Habilitar el registro).
nota
Al habilitar el registro correctamente, AWS WAF Classic creará un rol vinculado al servicio con los permisos necesarios para escribir registros en la instancia de Amazon Kinesis Data Firehose. Para obtener más información, consulte Uso de roles vinculados a servicios en AWS WAF Classic.
Para deshabilitar el registro para una ACL web
En el panel de navegación, seleccione Web ACLs (ACL web).
Elija el nombre de la ACL web para la que desea deshabilitar el registro. Esto abre una página con los detalles de la ACL web en el panel derecho.
En la pestaña de Logging (registro), elija Disable logging (Deshabilitar el registro).
En el cuadro de diálogo, elija Disable logging (Deshabilitar el registro).
ejemplo Registro de ejemplo
{ "timestamp":1533689070589, "formatVersion":1, "webaclId":"385cb038-3a6f-4f2f-ac64-09ab912af590", "terminatingRuleId":"Default_Action", "terminatingRuleType":"REGULAR", "action":"ALLOW", "httpSourceName":"CF", "httpSourceId":"i-123", "ruleGroupList":[ { "ruleGroupId":"41f4eb08-4e1b-2985-92b5-e8abf434fad3", "terminatingRule":null, "nonTerminatingMatchingRules":[ {"action" : "COUNT", "ruleId" : "4659b169-2083-4a91-bbd4-08851a9aaf74"} ], "excludedRules": [ {"exclusionType" : "EXCLUDED_AS_COUNT", "ruleId" : "5432a230-0113-5b83-bbb2-89375c5bfa98"} ] } ], "rateBasedRuleList":[ { "rateBasedRuleId":"7c968ef6-32ec-4fee-96cc-51198e412e7f", "limitKey":"IP", "maxRateAllowed":100 }, { "rateBasedRuleId":"462b169-2083-4a93-bbd4-08851a9aaf30", "limitKey":"IP", "maxRateAllowed":100 } ], "nonTerminatingMatchingRules":[ {"action" : "COUNT", "ruleId" : "4659b181-2011-4a91-bbd4-08851a9aaf52"} ], "httpRequest":{ "clientIp":"192.10.23.23", "country":"US", "headers":[ { "name":"Host", "value":"127.0.0.1:1989" }, { "name":"User-Agent", "value":"curl/7.51.2" }, { "name":"Accept", "value":"*/*" } ], "uri":"REDACTED", "args":"usernam=abc", "httpVersion":"HTTP/1.1", "httpMethod":"GET", "requestId":"cloud front Request id" } }
A continuación verá una explicación de cada elemento incluido en estos registros:
- marca de tiempo
La marca de tiempo en milisegundos.
- formatVersion
La versión de formato para el registro.
- webaclId
El GUID de la ACL web.
- terminatingRuleId
El ID de la regla que terminó la solicitud. Si nada termina la solicitud, el valor es
Default_Action.- terminatingRuleType
El tipo de regla que terminó la solicitud. Valores posibles: RATE_BASED, REGULAR y GROUP.
- acción
La acción. Valores posibles para una regla de terminación: ALLOW y BLOCK. COUNT no es un valor válido para una regla de terminación.
- terminatingRuleMatchDetails
-
Información detallada sobre la regla de finalización que coincide con la solicitud. Una regla de finalización tiene una acción que finaliza el proceso de inspección ante una solicitud web. Las acciones posibles para una regla de terminación son ALLOW y BLOCK. Esto solo se rellena para las instrucciones de reglas de coincidencia de inyección de código SQL y scripting entre sitios (XSS). Al igual que sucede con todas las declaraciones de reglas que inspeccionan más de un aspecto, AWS WAF aplica la acción en la primera coincidencia y deja de inspeccionar la solicitud web. Una solicitud web con una acción de terminación podría contener otras amenazas, además de la indicada en el registro.
- httpSourceName
El origen de la solicitud. Valores posibles: CF (si el origen es Amazon CloudFront), APIGW (si el origen es Amazon API Gateway) y ALB (si el origen es un equilibrador de carga de aplicación).
- httpSourceId
El ID de origen. Este campo muestra el ID de la distribución asociada de Amazon CloudFront, la API de REST para la puerta de enlace de la API, o el nombre de un equilibrador de carga de aplicación.
- ruleGroupList
La lista de grupos de reglas que actuaron en esta solicitud. En el ejemplo de código anterior, solo aparece uno.
- ruleGroupId
El ID del grupo de reglas. Si la regla bloqueó la solicitud, el ID de
ruleGroupIDes el mismo que el ID determinatingRuleId.- terminatingRule
La regla del grupo de reglas que terminó la solicitud. Si este es un valor distinto de NULL, también contiene un ruleid (id de regla) y una action (acción). En este caso, la acción siempre es BLOCK.
- nonTerminatingMatchingRules
La lista de reglas del grupo de reglas que coinciden con la solicitud. Siempre son reglas COUNT (reglas coincidentes que no son de terminación).
- acción (grupo nonTerminatingMatchingRules)
Siempre es COUNT (reglas coincidentes que no son de terminación).
- ruleId (grupo nonTerminatingMatchingRules)
El ID de la regla del grupo de reglas que coincide con la solicitud y no era de terminación. Es decir, reglas COUNT.
- excludedRules
La lista de reglas del grupo de reglas que ha excluido. La acción para estas reglas se establece en COUNT.
- exclusionType (excludedRules group)
Un tipo que indica que la regla excluida tiene la acción COUNT.
- ruleId (excludedRules group)
El ID de la regla del grupo de reglas que se ha excluido.
- rateBasedRuleList
La lista de reglas basadas en frecuencia que actuaron en la solicitud.
- rateBasedRuleId
El ID de la regla basada en frecuencia que actuó en la solicitud. Si esto ha terminado la solicitud, el ID de
rateBasedRuleIdes el mismo que el ID determinatingRuleId.- limitKey
El campo que usa AWS WAF para determinar si es probable que las solicitudes lleguen de un único origen y, por tanto, estén sujetas a la monitorización de frecuencia. Valor posible: IP.
- maxRateAllowed
El número máximo de solicitudes, que tienen un valor idéntico en el campo especificado por
limitKey, permitido en un periodo de cinco minutos. Si el número de solicitudes supera el valor demaxRateAllowedy los otros predicados especificados en la regla también se cumplen, AWS WAF desencadena la acción que se especifica para esta regla.- httpRequest
Los metadatos sobre la solicitud.
- clientIp
La dirección IP del cliente que envía la solicitud.
- country
El país de origen de la solicitud. Si AWS WAF no puede determinar el país de origen, establece este campo en
-.- headers
La lista de encabezados.
- uri
El URI de la solicitud. En el ejemplo de código anterior se muestra cuál sería el valor si este campo se hubiera ocultado.
- args
La cadena de consulta.
- httpVersion
La versión de HTTP.
- httpMethod
El método HTTP en la solicitud.
- ID de solicitud
El ID de la solicitud.