Registro de información del tráfico de la ACL web - AWS WAF, AWS Firewall Manager, y AWS Shield Advanced

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Registro de información del tráfico de la ACL web

nota

Esta es la documentación de AWS WAF Classic. Solo debe usar esta versión si creó AWS WAF recursos, como reglas y ACL web, AWS WAF antes de noviembre de 2019 y aún no los ha migrado a la última versión. Para migrar los recursos, consulte Migración de sus recursos AWS WAF clásicos a AWS WAF.

Para obtener la versión más reciente de AWS WAF, consulteAWS WAF.

Puede habilitar el registro para obtener información detallada sobre el tráfico que analiza su ACL web. La información que se incluye en los registros incluye la hora en que AWS WAF Classic recibió la solicitud de su AWS recurso, la información detallada sobre la solicitud y la acción de la regla con la que coincidió 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 envía los registros a través de Firehose a su destino de almacenamiento.

Para obtener información sobre cómo crear una Amazon Kinesis Data Firehose y revisar los registros almacenados, consulte ¿Qué es 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:CreateServiceLinkedRole

  • firehose:ListDeliveryStreams

  • waf: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 para Classic AWS WAF.

Para habilitar el registro para una ACL web
  1. Cree una Amazon Kinesis Data Firehose con un nombre que comience con el aws-waf-logs prefijo "-» Por ejemplo,. aws-waf-logs-us-east-2-analytics Cree la instancia de Data Firehose con un origen PUT y en la región en la que opera. Si vas a capturar troncos para Amazon CloudFront, crea la manguera de incendios en EE. UU. Este (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 stream como origen.

    Un registro AWS WAF clásico equivale a un registro de Firehose. Si normalmente recibes 10 000 solicitudes por segundo y habilitas los registros completos, deberías tener una configuración de 10 000 registros por segundo en Firehose. Si no configuras Firehose correctamente, AWS WAF Classic no registrará todos los registros. Para obtener más información, consulte Cuotas de Amazon Kinesis Data Firehose.

  2. Inicia sesión AWS Management Console y abre la AWS WAF consola en https://console.aws.amazon.com/wafv2/.

    Si ve Cambiar a la AWS WAF versión clásica en el panel de navegación, selecciónela.

  3. En el panel de navegación, seleccione Web ACLs (ACL web).

  4. 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.

  5. En la pestaña de Registro, elija Habilitar el registro.

  6. Elija la instancia de Kinesis Data Firehose que creó en el primer paso. Debe elegir una manguera contra incendios que comience por "aws-waf-logs-».

  7. (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 REDACTED en los registros. Por ejemplo, si redacta el campo cookie (cookie), el campo cookie (cookie) de los registros será REDACTED.

  8. Elija Enable logging (Habilitar el registro).

    nota

    Cuando habilite correctamente el registro, AWS WAF Classic creará un rol vinculado al servicio con los permisos necesarios para escribir registros en Amazon Kinesis Data Firehose. Para obtener más información, consulte Uso de roles vinculados a servicios para Classic AWS WAF.

Para deshabilitar el registro para una ACL web
  1. En el panel de navegación, seleccione Web ACLs (ACL web).

  2. 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.

  3. En la pestaña de Logging (registro), elija Disable logging (Deshabilitar el registro).

  4. 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.

terminatingRuleMatchDetalles

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 la fuente es Amazon CloudFront), APIGW (si la fuente es Amazon API Gateway) y ALB (si la fuente es un Application Load Balancer).

httpSourceId

El ID de origen. Este campo muestra el ID de la CloudFront distribución de Amazon asociada, la API REST de API Gateway o el nombre de un Application Load Balancer.

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 ruleGroupID es el mismo que el ID de terminatingRuleId.

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.

nonTerminatingMatchingReglas

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 de nonTerminatingMatching reglas)

Siempre es COUNT (reglas coincidentes que no son de terminación).

RuleID nonTerminatingMatching (grupo de reglas)

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.

rateBasedRuleLista

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 rateBasedRuleId es el mismo que el ID de terminatingRuleId.

limitKey

El campo que se AWS WAF utiliza para determinar si es probable que las solicitudes provengan de una sola fuente y, por lo tanto, estén sujetas a un control de tarifas. 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 la regla maxRateAllowed y también se cumplen los demás predicados especificados en la regla, se AWS WAF activa la acción especificada 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.