

**Presentamos una nueva experiencia de consola para AWS WAF**

Ahora puede usar la experiencia actualizada para acceder a las AWS WAF funciones desde cualquier parte de la consola. Para obtener más información, consulte [Trabajar con la consola](https://docs.aws.amazon.com/waf/latest/developerguide/working-with-console.html). 

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
<a name="classic-logging"></a>

**aviso**  
AWS WAF Classic está pasando por un end-of-life proceso planificado. Consulta tu AWS Health panel de control para ver los hitos y las fechas específicos de tu región.

**nota**  
Esta es la documentación de **AWS WAF Classic**. Solo debes usar esta versión si creaste AWS WAF recursos, como reglas y sitios web ACLs, AWS WAF antes de noviembre de 2019 y aún no los has migrado a la versión más reciente. Para migrar su web ACLs, consulte[Migración de sus recursos AWS WAF clásicos a AWS WAF](waf-migrating-from-classic.md).  
**Para obtener la versión más reciente de AWS WAF**, consulte[AWS WAF](waf-chapter.md). 

**nota**  
No puede usar Amazon Security Lake para recopilar datos de la AWS WAF versión clásica. 

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 aplicada a la regla según la cual cada solicitud coincidió.

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 acerca de cómo crear una Amazon Kinesis Data Firehose y revisar los registros almacenados, consulte [What Is Amazon Data Firehose?](https://docs.aws.amazon.com/firehose/latest/dev/what-is-this-service.html) Para conocer los permisos necesarios para la configuración de Kinesis Data Firehose, consulte [Controlling Access with Amazon Kinesis Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html).

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](classic-using-service-linked-roles.md).<a name="classic-logging-procedure"></a>

**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](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html).
**importante**  
No seleccione `Kinesis stream` como origen.  
Un registro AWS WAF clásico 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 configuras Firehose correctamente, AWS WAF Classic no registrará todos los registros. Para obtener más información, consulte [Cuotas de Amazon Kinesis Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/limits.html). 

1. Inicia sesión en Consola de administración de AWS y abre la AWS WAF consola en [https://console.aws.amazon.com/wafv2/](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.

1. En el panel de navegación, elija **Web ACLs**.

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

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

1. 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-».

1. (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`. 

1. 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](classic-using-service-linked-roles.md).<a name="classic-logging-disable-procedure"></a>

**Para deshabilitar el registro para una ACL web**

1. **En el panel de navegación, seleccione Web. ACLs**

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

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

1. En el cuadro de diálogo, elija **Disable logging (Deshabilitar el registro)**.

**Example 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:

**timestamp**  
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\$1BASED, 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.