

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

# AWS WAF reglas
<a name="waf-rules"></a>

En esta sección se explica qué es una AWS WAF regla y cómo funciona.

Una AWS WAF regla define cómo inspeccionar las solicitudes web HTTP (S) y la acción que se debe realizar cuando una solicitud coincide con los criterios de inspección. Defina las reglas únicamente en el contexto de un paquete de protección (ACL web) o un grupo de reglas. 

Las reglas no existen AWS WAF por sí solas. No son AWS recursos y no tienen nombres de recursos de Amazon (ARNs). Puede acceder a una regla por su nombre en el grupo de reglas o en un paquete de protección (ACL web) donde está definida. Puede administrar las reglas y copiarlas en otros paquetes de protección (web ACLs) utilizando la vista JSON del grupo de reglas o paquete de protección (ACL web) que contiene la regla. También puede administrarlos mediante el generador de reglas de la AWS WAF consola, que está disponible para los paquetes de protección (web ACLs) y los grupos de reglas.

**Nombre de la regla**  
Cada regla requiere un nombre. Evite los nombres que comiencen por `AWS` y los nombres que se usen para grupos de reglas o reglas que otros servicios administren para usted. Consulte [Reconocimiento de grupos de reglas proporcionados por otros servicios](waf-service-owned-rule-groups.md). 

**nota**  
Si cambia el nombre de una regla y desea que el nombre de la métrica de la regla refleje el cambio, también debe actualizar el nombre de la métrica. AWS WAF no actualiza automáticamente el nombre de la métrica de una regla cuando se cambia el nombre de la regla. Puede cambiar el nombre de la métrica al editar la regla en la consola mediante el editor de reglas de JSON. También puede cambiar ambos nombres en cualquier lista de APIs JSON que utilice para definir su paquete de protección (ACL web) o grupo de reglas.

**Instrucción de reglas**  
Cada regla también requiere una instrucción de regla que defina cómo la regla inspecciona las solicitudes web. Cada regla requiere una instrucción de nivel superior, que puede contener instrucciones anidadas a cualquier profundidad, en función del tipo de regla y de instrucción. Algunas instrucciones de reglas toman conjuntos de criterios. Por ejemplo, puede especificar hasta 10 000 direcciones IP o rangos de direcciones de IP en una regla de coincidencia de IP.

Puede definir reglas que inspeccionen criterios como los siguientes: 
+ Scripts que probablemente sean maliciosos. Los atacantes incrustan scripts que pueden aprovechar vulnerabilidades en aplicaciones web. Esto es lo que se conoce como scripting entre sitios (XSS).
+ Direcciones IP o rangos de direcciones de las que procedan las solicitudes.
+ País o ubicación geográfica de donde provienen las solicitudes.
+ Longitud de la parte especificada de la solicitud, como la cadena de consulta.
+ Código SQL que puede ser malicioso. Los atacantes tratan de extraer los datos de su base de datos incrustando código SQL malicioso en una solicitud web. Esto es lo que se conoce como inyección de código SQL.
+ Cadenas que aparecen en la solicitud, por ejemplo, valores que aparecen en el encabezado de `User-Agent` o cadenas de texto que aparecen en la cadena de consulta. También puede utilizar expresiones regulares (regex) para especificar estas cadenas.
+ Etiquetas que las reglas anteriores del paquete de protección (ACL web) agregaron a la solicitud.

Además de las sentencias con criterios de inspección de solicitudes web, como las de la lista anterior, AWS WAF admite sentencias lógicas para `AND``OR`, y `NOT` que se utilizan para combinar sentencias en una regla. 

Por ejemplo, en función de las últimas solicitudes que haya visto de un atacante, puede crear una regla con una instrucción `AND` lógica que incluya las siguientes instrucciones anidadas: 
+ Las solicitudes provienen de 192.0.2.44.
+ Contienen el valor `BadBot` en el encabezado `User-Agent`.
+ Parece que incluyan código tipo SQL en la cadena de consulta.

En este caso, todas las instrucciones tienen que dar como resultado una coincidencia para que la instrucción `AND` de nivel superior coincida. 

**Topics**
+ [Uso de acciones de reglas en AWS WAF](waf-rule-action.md)
+ [Uso de enunciados de reglas en AWS WAF](waf-rule-statements.md)
+ [Uso de sentencias de reglas de coincidencia en AWS WAF](waf-rule-statements-match.md)
+ [Uso de enunciados de reglas lógicas en AWS WAF](waf-rule-statements-logical.md)
+ [Uso de declaraciones de reglas basadas en tasas en AWS WAF](waf-rule-statement-type-rate-based.md)
+ [Uso de sentencias de reglas de grupos de reglas en AWS WAF](waf-rule-statements-rule-group.md)

# Uso de acciones de reglas en AWS WAF
<a name="waf-rule-action"></a>

Esta sección explica cómo funcionan las acciones de reglas.

La acción de la regla indica AWS WAF qué hacer con una solicitud web cuando coincide con los criterios definidos en la regla. Si lo desea, puede agregar un comportamiento personalizado a cada acción de regla. 

**nota**  
Las acciones de la regla pueden ser de finalización o no. Una acción de finalización detiene la evaluación de la solicitud por parte del paquete de protección (ACL web) y permite que continúe con la aplicación protegida o la bloquea. 

Estas son las opciones de la acción de la regla: 
+ **Allow**— AWS WAF permite reenviar la solicitud al AWS recurso protegido para su procesamiento y respuesta. Se trata de una acción de finalización. En las reglas que defina, puede insertar encabezados personalizados en la solicitud antes de reenviarla al recurso protegido.
+ **Block**— AWS WAF bloquea la solicitud. Se trata de una acción de finalización. De forma predeterminada, el AWS recurso protegido responde con un código de `403 (Forbidden)` estado HTTP. En las reglas que defina, puede personalizar la respuesta. Cuando AWS WAF bloquea una solicitud, la configuración de la Block acción determina la respuesta que el recurso protegido envía al cliente. 
+ **Count**— AWS WAF cuenta la solicitud pero no determina si se permite o se bloquea. Se trata de una acción no terminal. AWS WAF continúa procesando las reglas restantes en el paquete de protección (ACL web). En las reglas que defina, puede insertar encabezados personalizados en la solicitud y puede agregar etiquetas con las que puedan coincidir otras reglas.
+ **CAPTCHAy Challenge**: AWS WAF usa acertijos CAPTCHA y desafíos silenciosos para verificar que la solicitud no proviene de un bot, y AWS WAF usa fichas para rastrear las respuestas recientes de los clientes que han obtenido buenos resultados. 

  Los rompecabezas de CAPTCHA y los desafíos silenciosos solo se pueden ejecutar cuando los navegadores acceden a los puntos de conexión HTTPS. Los clientes del navegador deben ejecutarse en contextos seguros para poder adquirir los tókenes. 
**nota**  
Se le cobrarán tarifas adicionales cuando utilice la acción de regla CAPTCHA o Challenge en una de sus reglas o como anulación de una acción de regla en un grupo de reglas. Para obtener más información, consulte [AWS WAF Precios](https://aws.amazon.com/waf/pricing/).

  Estas acciones de regla pueden ser de finalización o no, según el estado del token de la solicitud: 
  + No se **cancela para un token válido y no caducado: si el token** es válido y no ha caducado según el CAPTCHA configurado o el tiempo de inmunidad de impugnación, AWS WAF tramita la solicitud de forma similar a la acción. Count AWS WAF continúa inspeccionando la solicitud web en función de las demás reglas del paquete de protección (ACL web). Al igual que en la configuración de Count, en las reglas que defina, puede configurar opcionalmente estas acciones con encabezados personalizados para insertarlos en la solicitud y puede agregar etiquetas con las que puedan coincidir otras reglas. 
  + **Finalizar con una solicitud bloqueada de un token no válido o caducado**: si el token no es válido o la marca de tiempo indicada ha caducado, AWS WAF finaliza la inspección de la solicitud web y bloquea la solicitud, de forma similar a la acción. Block AWS WAF luego responde al cliente con un código de respuesta personalizado. PuesCAPTCHA, si el contenido de la solicitud indica que el navegador del cliente puede gestionarla, AWS WAF envía un acertijo CAPTCHA en un JavaScript intersticial, diseñado para distinguir a los clientes humanos de los bots. Para elloChallenge, AWS WAF envía un JavaScript intersticial con un desafío silencioso diseñado para distinguir los navegadores normales de las sesiones ejecutadas por bots. 

  Para obtener información adicional, consulta [CAPTCHAy Challenge en AWS WAF](waf-captcha-and-challenge.md).

Para obtener información sobre cómo personalizar las solicitudes y las respuestas, consulte [Solicitudes y respuestas web personalizadas en AWS WAF](waf-custom-request-response.md).

Para obtener información sobre cómo agregar etiquetas a las solicitudes coincidentes, consulte [Etiquetado de solicitudes web en AWS WAF](waf-labels.md).

Para obtener información acerca de cómo interactúan el paquete de protección (ACL web) y la configuración de reglas, consulte [Uso de paquetes de protección (web ACLs) con reglas y grupos de reglas en AWS WAF](web-acl-processing.md). 

# Uso de enunciados de reglas en AWS WAF
<a name="waf-rule-statements"></a>

En esta sección, se explica cómo funcionan las instrucciones de reglas.

Las declaraciones de reglas son la parte de una regla que indica AWS WAF cómo inspeccionar una solicitud web. Cuando AWS WAF encuentra los criterios de inspección en una solicitud web, decimos que la solicitud web coincide con la declaración. Cada declaración de regla especifica qué buscar y cómo, según el tipo de declaración. 

Cada regla AWS WAF tiene una única declaración de regla de nivel superior, que puede contener otras declaraciones. Las declaraciones de reglas pueden ser muy sencillas. Por ejemplo, podría tener una instrucción que proporcione un conjunto de países originarios para inspeccionar sus solicitudes web o podría tener una instrucción de regla en un paquete de protección (ACL web) que solo haga referencia a un grupo de reglas. Las declaraciones de reglas también pueden ser muy complejas. Por ejemplo, podría tener una instrucción que combine muchas otras instrucciones con instrucciones lógicas AND, OR y NOT. 

Para la mayoría de las reglas, puedes añadir AWS WAF etiquetas personalizadas a las solicitudes coincidentes. Las reglas de los grupos de reglas de reglas AWS administradas agregan etiquetas a las solicitudes coincidentes. Las etiquetas que agrega una regla proporcionan información sobre la solicitud a las reglas que se evalúan más adelante en el paquete de protección (ACL web) y también en AWS WAF los registros y las métricas. Para obtener más información acerca de las etiquetas, consulte [Etiquetado de solicitudes web en AWS WAF](waf-labels.md) y [Instrucción de regla de coincidencia de etiquetas](waf-rule-statement-type-label-match.md).

**Declaraciones de reglas de anidamiento**  
AWS WAF admite el anidamiento para muchas declaraciones de reglas, pero no para todas. Por ejemplo, no se puede anidar una instrucción de grupo de reglas dentro de otra instrucción. Es necesario utilizar la anidación en algunos escenarios, como las instrucciones de restricción de acceso y las instrucciones lógicas. Las listas de instrucciones de reglas y los detalles de las reglas que aparecen a continuación describen las capacidades y los requisitos de anidación de cada categoría y regla.

El editor visual de reglas de la consola admite solamente un nivel de anidamiento para instrucciones de reglas. Por ejemplo, puede anidar muchos tipos de instrucciones dentro de una regla lógica AND o OR, pero no puede anidar otra regla AND o OR, ya que eso requiere un segundo nivel de anidación. Para implementar varios niveles de anidación, proporcione la definición de la regla en JSON, ya sea a través del editor de reglas JSON de la consola o a través del. APIs 

**Topics**
+ [Ajustar la configuración de la declaración de reglas en AWS WAF](waf-rule-statement-fields.md)
+ [Uso de declaraciones de alcance reducido en AWS WAF](waf-rule-scope-down-statements.md)
+ [Hacer referencia a entidades reutilizables en AWS WAF](waf-rule-statement-reusable-entities.md)

# Ajustar la configuración de la declaración de reglas en AWS WAF
<a name="waf-rule-statement-fields"></a>

En esta sección, se describe la configuración que se especifica cada vez que se utiliza una instrucción de regla que inspecciona un componente de la solicitud web. Para obtener información sobre el uso, consulte las instrucciones de reglas individuales en [Uso de sentencias de reglas de coincidencia en AWS WAF](waf-rule-statements-match.md). 

También se puede usar un subconjunto de estos componentes de solicitudes web en las reglas basadas en tasas, como claves de agregación de solicitudes personalizadas. Para obtener información, consulte [Agregar reglas basadas en tarifas en AWS WAF](waf-rule-statement-type-rate-based-aggregation-options.md).

Para la configuración del componente de solicitud, especifique el tipo de componente en sí y las opciones adicionales, en función del tipo de componente. Por ejemplo, al inspeccionar un tipo de componente que contiene texto, puede aplicarle transformaciones de texto antes de inspeccionarlo. 

**nota**  
A menos que se indique lo contrario, si una solicitud web no tiene el componente de solicitud especificado en la declaración de la regla, se considera AWS WAF que la solicitud no cumple con los criterios de la regla.

**Contents**
+ [Solicita componentes en AWS WAF](waf-rule-statement-fields-list.md)
  + [Método HTTP](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-http-method)
  + [Encabezado único](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-single-header)
  + [Todos los encabezados](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-headers)
  + [Orden de encabezados](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-header-order)
  + [Cookies](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-cookies)
  + [Fragmento de URI](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-uri-fragment)
  + [Ruta de URI](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-uri-path)
  + [JA3 huella digital](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-ja3-fingerprint)
  + [JA4 huella digital](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-ja4-fingerprint)
  + [Cadena de consulta](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-query-string)
  + [Parámetro de consulta único](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-single-query-param)
  + [Todos los parámetros de consulta](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-all-query-params)
  + [Cuerpo](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-body)
  + [Cuerpo JSON](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-json-body)
+ [Uso de direcciones IP reenviadas en AWS WAF](waf-rule-statement-forwarded-ip-address.md)
+ [Inspección de pseudoencabezados HTTP/2 en AWS WAF](waf-rule-statement-request-components-for-http2-pseudo-headers.md)
+ [Uso de transformaciones de texto en AWS WAF](waf-rule-statement-transformation.md)

# Solicita componentes en AWS WAF
<a name="waf-rule-statement-fields-list"></a>

En esta sección, se describen los componentes de la solicitud web que puede especificar para su inspección. Especifique el componente solicitado para las instrucciones de regla estándar que buscan patrones en la solicitud web. Estos tipos de sentencias incluyen la coincidencia de cadenas, la coincidencia regex, la restricción de tamaño y las sentencias de ataque por inyección de código SQL. Para obtener información sobre cómo usar esta configuración de los componentes de la solicitud, consulte las instrucciones de reglas individuales en [Uso de sentencias de reglas de coincidencia en AWS WAF](waf-rule-statements-match.md).

A menos que se indique lo contrario, si una solicitud web no tiene el componente de solicitud especificado en la declaración de la regla, AWS WAF evalúa que la solicitud no cumple con los criterios de la regla.

**nota**  
Especifique un único componente de solicitud para cada instrucción de regla que lo requiera. Para inspeccionar más de un componente de una solicitud, cree una instrucción de regla para cada componente. 

La documentación de la AWS WAF consola y la API proporciona orientación sobre la configuración de los componentes de la solicitud en las siguientes ubicaciones: 
+ **Generador de reglas** en la consola: en la configuración de **Instrucción** para un tipo de regla normal, elija el componente que desee inspeccionar en el cuadro de diálogo **Inspeccionar** de la sección **Solicitar componentes**.
+ **Contenido de la instrucción de API**: `FieldToMatch`

En el resto de esta sección, se describen las opciones de la parte de la solicitud web que hay que inspeccionar. 

**Topics**
+ [Método HTTP](#waf-rule-statement-request-component-http-method)
+ [Encabezado único](#waf-rule-statement-request-component-single-header)
+ [Todos los encabezados](#waf-rule-statement-request-component-headers)
+ [Orden de encabezados](#waf-rule-statement-request-component-header-order)
+ [Cookies](#waf-rule-statement-request-component-cookies)
+ [Fragmento de URI](#waf-rule-statement-request-component-uri-fragment)
+ [Ruta de URI](#waf-rule-statement-request-component-uri-path)
+ [JA3 huella digital](#waf-rule-statement-request-component-ja3-fingerprint)
+ [JA4 huella digital](#waf-rule-statement-request-component-ja4-fingerprint)
+ [Cadena de consulta](#waf-rule-statement-request-component-query-string)
+ [Parámetro de consulta único](#waf-rule-statement-request-component-single-query-param)
+ [Todos los parámetros de consulta](#waf-rule-statement-request-component-all-query-params)
+ [Cuerpo](#waf-rule-statement-request-component-body)
+ [Cuerpo JSON](#waf-rule-statement-request-component-json-body)

## Método HTTP
<a name="waf-rule-statement-request-component-http-method"></a>

Comprueba el método HTTP en la solicitud. El método HTTP indica el tipo de operación que la solicitud web pide que realice su recurso protegido, como por ejemplo `POST` o `GET`. 

## Encabezado único
<a name="waf-rule-statement-request-component-single-header"></a>

Inspecciona un encabezado con un solo nombre en la solicitud. 

Para esta opción, especifique el nombre del encabezado, por ejemplo, `User-Agent` o `Referer`. La coincidencia de cadenas para el nombre no distingue entre mayúsculas y minúsculas y se realiza después de recortar los espacios iniciales y finales tanto del encabezado de la solicitud como de la regla.

## Todos los encabezados
<a name="waf-rule-statement-request-component-headers"></a>

Inspecciona todos los encabezados de las solicitudes, incluidas las cookies. Puede aplicar un filtro para inspeccionar un subconjunto de todos los encabezados. 

Para esta opción, debe proporcionar las siguientes especificaciones: 
+ **Patrones de coincidencia**: el filtro que se utilizará para obtener un subconjunto de encabezados para su inspección. AWS WAF busca estos patrones en las teclas de encabezados. 

  La configuración de los patrones de coincidencia puede ser una de las siguientes: 
  + **Todos**: haga coincidir todas las claves. Evalúe los criterios de inspección de las reglas para todos los encabezados. 
  + **Encabezados excluidos** Inspeccione solo los encabezados cuyas claves no coincidan con ninguna de las cadenas que ha especificado aquí. La cadena que coincide con la clave no distingue entre mayúsculas y minúsculas. La coincidencia se realiza después de recortar los espacios iniciales y finales del encabezado de la solicitud y de la regla de coincidencia.
  + **Encabezados incluidos** Inspeccione solo los encabezados que tengan una clave que coincida con una de las cadenas que ha especificado aquí. La cadena que coincide con la clave no distingue entre mayúsculas y minúsculas. La coincidencia se realiza después de recortar los espacios iniciales y finales del encabezado de la solicitud y de la regla de coincidencia.
+ **Alcance de coincidencia**: las partes de los encabezados que AWS WAF deben inspeccionarse según los criterios de inspección de la regla. Puede especificar **Claves**, **Valores** o **Todos** para inspeccionar tanto las claves como los valores para ver si coinciden. 

  **Todos** no precisa una coincidencia en las claves y una coincidencia en los valores. Es necesario encontrar una coincidencia en las claves, en los valores o en ambos. Para exigir una coincidencia en las claves y los valores, utilice una instrucción lógica `AND` para combinar dos reglas de coincidencia, una que inspeccione las claves y otra que inspeccione los valores. 
+ **Manejo de sobredimensionamiento**: ¿cómo se AWS WAF deben gestionar las solicitudes que tienen datos de encabezado más grandes de lo que se AWS WAF puede inspeccionar? AWS WAF puede inspeccionar como máximo los primeros 8 KB (8.192 bytes) de los encabezados de las solicitudes y, como máximo, los primeros 200 encabezados. El contenido está disponible para su inspección AWS WAF hasta que se alcance el primer límite. Puede elegir continuar con la inspección u omitir la inspección y marcar la solicitud como coincidente o no con la regla. Para obtener más información acerca de la administración del contenido de tamaño excesivo, consulte [Sobredimensionar los componentes de las solicitudes web en AWS WAF](waf-oversize-request-components.md).

## Orden de encabezados
<a name="waf-rule-statement-request-component-header-order"></a>

Inspeccione una cadena que contenga la lista de los nombres de los encabezados de la solicitud, ordenados tal como aparecen en la solicitud web que se AWS WAF recibe para su inspección. AWS WAF genera la cadena y luego la usa como campo para hacer coincidir el componente en su inspección. AWS WAF separa los nombres de los encabezados de la cadena con dos puntos y sin añadir espacios, por ejemplo`host:user-agent:accept:authorization:referer`.

Para esta opción, debe proporcionar las siguientes especificaciones: 
+ **Gestión del tamaño excesivo**: ¿cómo se AWS WAF deben gestionar las solicitudes que tienen datos de encabezado más numerosos o más grandes de lo que se AWS WAF puede inspeccionar? AWS WAF puede inspeccionar como máximo los primeros 8 KB (8.192 bytes) de los encabezados de las solicitudes y, como máximo, los primeros 200 encabezados. El contenido está disponible para su inspección AWS WAF hasta que se alcance el primer límite. Puede elegir continuar con la inspección de los encabezados que estén disponibles, o bien omitir la inspección y marcar la solicitud como coincidente o no con la regla. Para obtener más información acerca de la administración del contenido de tamaño excesivo, consulte [Sobredimensionar los componentes de las solicitudes web en AWS WAF](waf-oversize-request-components.md).

## Cookies
<a name="waf-rule-statement-request-component-cookies"></a>

Inspecciona todas las cookies de solicitud. Puede aplicar un filtro para inspeccionar un subconjunto de todas las cookies. 

Para esta opción, debe proporcionar las siguientes especificaciones: 
+ **Patrones de coincidencia**: el filtro que se utilizará para obtener un subconjunto de cookies para su inspección. AWS WAF busca estos patrones en las claves de las cookies. 

  La configuración de los patrones de coincidencia puede ser una de las siguientes: 
  + **Todos**: haga coincidir todas las claves. Evalúe los criterios de inspección de las reglas para todas las cookies. 
  + **Cookies excluidas**: inspeccione solo las cookies cuyas claves no coincidan con ninguna de las cadenas que ha especificado aquí. La coincidencia de cadena con una clave distingue entre mayúsculas y minúsculas, y debe ser exacta. 
  + **Encabezados incluidos**: inspeccione solo las cookies que tengan una clave que coincida con una de las cadenas que ha especificado aquí. La coincidencia de cadena con una clave distingue entre mayúsculas y minúsculas, y debe ser exacta. 
+ **Alcance de coincidencia**: las partes de las cookies que AWS WAF deben inspeccionarse según los criterios de inspección de la regla. Puede especificar **Claves**, **Valores** o **Todos** tanto para las claves como para los valores. 

  **Todos** no precisa una coincidencia en las claves y una coincidencia en los valores. Es necesario encontrar una coincidencia en las claves, en los valores o en ambos. Para exigir una coincidencia en las claves y los valores, utilice una instrucción lógica `AND` para combinar dos reglas de coincidencia, una que inspeccione las claves y otra que inspeccione los valores. 
+ Gestión de **sobredimensionamiento**: ¿cómo se AWS WAF deben gestionar las solicitudes que contienen datos de cookies más grandes de los que se AWS WAF pueden inspeccionar? AWS WAF puede inspeccionar como máximo los primeros 8 KB (8.192 bytes) de las cookies solicitadas y, como máximo, las primeras 200 cookies. El contenido está disponible para su inspección AWS WAF hasta que se alcance el primer límite. Puede elegir continuar con la inspección u omitir la inspección y marcar la solicitud como coincidente o no con la regla. Para obtener más información acerca de la administración del contenido de tamaño excesivo, consulte [Sobredimensionar los componentes de las solicitudes web en AWS WAF](waf-oversize-request-components.md).

## Fragmento de URI
<a name="waf-rule-statement-request-component-uri-fragment"></a>

**nota**  
La inspección de fragmentos de URI solo está disponible para CloudFront distribuciones y balanceadores de carga de aplicaciones.

Inspecciona la parte de una URL que sigue al símbolo “\$1” y proporciona información adicional sobre el recurso, por ejemplo, \$1section2. Para obtener información, consulte [Identificador uniforme de recursos (URI): sintaxis genérica](https://tools.ietf.org/html/rfc3986#section-3). 

Si no utilizas una transformación de texto con esta opción, AWS WAF no normaliza el fragmento de URI y lo inspecciona exactamente como lo recibe del cliente en la solicitud. Para obtener información sobre transformaciones de texto, consulte [Uso de transformaciones de texto en AWS WAF](waf-rule-statement-transformation.md).

**Requisitos de las instrucciones de reglas**  
Debe proporcionar un comportamiento alternativo para esta instrucción de regla. El comportamiento alternativo es el estado de coincidencia que quieres asignar AWS WAF a la solicitud web si falta el fragmento en el URI o si el servicio asociado no es Application Load CloudFront Balancer o. Si eliges hacer coincidir, considerará que AWS WAF la solicitud coincide con la declaración de la regla y aplica la acción de la regla a la solicitud. Si eliges no coincidir, considerará que AWS WAF la solicitud no coincide con la declaración de la regla.

## Ruta de URI
<a name="waf-rule-statement-request-component-uri-path"></a>

Inspecciona la parte de una URL que identifica un recurso, por ejemplo, `/images/daily-ad.jpg`. Para obtener información, consulte [Identificador uniforme de recursos (URI): sintaxis genérica](https://tools.ietf.org/html/rfc3986#section-3). 

Si no utilizas una transformación de texto con esta opción, AWS WAF no normaliza el URI y lo inspecciona exactamente como lo recibe del cliente en la solicitud. Para obtener información sobre transformaciones de texto, consulte [Uso de transformaciones de texto en AWS WAF](waf-rule-statement-transformation.md).

## JA3 huella digital
<a name="waf-rule-statement-request-component-ja3-fingerprint"></a>

Inspecciona la huella digital de la solicitud. JA3 

**nota**  
JA3 la inspección de huellas dactilares solo está disponible para CloudFront las distribuciones de Amazon y los balanceadores de carga de aplicaciones.

La JA3 huella digital es un hash de 32 caracteres derivado del protocolo TLS Hello de una solicitud entrante. Esta huella digital sirve como identificador único para la configuración de TLS del cliente. AWS WAF calcula y registra esta huella digital para cada solicitud que contenga suficiente información de TLS Client Hello para el cálculo. Casi todas las solicitudes web incluyen esta información.

**¿Cómo obtener la JA3 huella digital de un cliente**  
Puede obtener la JA3 huella digital de las solicitudes de un cliente en los registros del paquete de protección (ACL web). Si AWS WAF es capaz de calcular la huella digital, la incluye en los registros. Para obtener información acerca de los campos de registro, consulte [Campos de registro para el tráfico del paquete de protección (ACL web)](logging-fields.md).

**Requisitos de las instrucciones de reglas**  
Solo puedes inspeccionar la JA3 huella digital dentro de una sentencia de coincidencia de cadenas que esté configurada para que coincida exactamente con la cadena que proporciones. Proporcione la cadena de JA3 huellas digitales de los registros de la especificación de la sentencia de coincidencia de cadenas para que coincida con cualquier solicitud futura que tenga la misma configuración de TLS. Para obtener más información acerca de las instrucciones de reglas de coincidencia de cadena, consulte [Instrucción de regla de coincidencia de cadenas](waf-rule-statement-type-string-match.md).

Debe proporcionar un comportamiento alternativo para esta instrucción de regla. El comportamiento alternativo es el estado de coincidencia que deseas asignar AWS WAF a la solicitud web si AWS WAF no puedes calcular la JA3 huella digital. Si opta por hacer coincidir, AWS WAF trata la solicitud web como coincidente con la instrucción de regla y aplica la acción de la regla a la solicitud. Si eliges no coincidir, considerará que la AWS WAF solicitud no coincide con la declaración de la regla.

Para usar esta opción de coincidencia, debe registrar el tráfico del paquete de protección (ACL web). Para obtener información, consulte [Registro AWS WAF del tráfico del paquete de protección (ACL web)](logging.md).

## JA4 huella digital
<a name="waf-rule-statement-request-component-ja4-fingerprint"></a>

Inspecciona la huella digital de la solicitud. JA4 

**nota**  
JA4 la inspección de huellas dactilares solo está disponible para CloudFront las distribuciones de Amazon y los balanceadores de carga de aplicaciones.

La JA4 huella digital es un hash de 36 caracteres derivado del protocolo TLS Hello de una solicitud entrante. Esta huella digital sirve como identificador único para la configuración de TLS del cliente. JA4 La toma de huellas digitales es una extensión de la JA3 huella digital que puede resultar en un menor número de huellas digitales únicas en algunos navegadores. AWS WAF calcula y registra esta huella digital para cada solicitud que contenga suficiente información de TLS Client Hello para el cálculo. Casi todas las solicitudes web incluyen esta información.

**¿Cómo obtener la JA4 huella digital de un cliente**  
Puede obtener la JA4 huella digital de las solicitudes de un cliente en los registros del paquete de protección (ACL web). Si AWS WAF es capaz de calcular la huella digital, la incluye en los registros. Para obtener información acerca de los campos de registro, consulte [Campos de registro para el tráfico del paquete de protección (ACL web)](logging-fields.md).

**Requisitos de las instrucciones de reglas**  
Solo puedes inspeccionar la JA4 huella digital dentro de una sentencia de coincidencia de cadenas que esté configurada para que coincida exactamente con la cadena que proporciones. Proporcione la cadena de JA4 huellas digitales de los registros de la especificación de la sentencia de coincidencia de cadenas para que coincida con cualquier solicitud futura que tenga la misma configuración de TLS. Para obtener más información acerca de las instrucciones de reglas de coincidencia de cadena, consulte [Instrucción de regla de coincidencia de cadenas](waf-rule-statement-type-string-match.md).

Debe proporcionar un comportamiento alternativo para esta instrucción de regla. El comportamiento alternativo es el estado de coincidencia que deseas asignar AWS WAF a la solicitud web si AWS WAF no puedes calcular la JA4 huella digital. Si opta por hacer coincidir, AWS WAF trata la solicitud web como coincidente con la instrucción de regla y aplica la acción de la regla a la solicitud. Si eliges no coincidir, considerará que la AWS WAF solicitud no coincide con la declaración de la regla.

Para usar esta opción de coincidencia, debe registrar el tráfico del paquete de protección (ACL web). Para obtener información, consulte [Registro AWS WAF del tráfico del paquete de protección (ACL web)](logging.md).

## Cadena de consulta
<a name="waf-rule-statement-request-component-query-string"></a>

Inspecciona la parte de la URL que aparece después de un carácter `?`, si hay alguno.

**nota**  
En instrucciones de coincidencia de scripting entre sitios, recomendamos elegir **Todos los parámetros de consulta** en vez de **Cadena de consulta**. Si selecciona **Todos los parámetros de la consulta**, se añade WCUs un 10% al coste base.

## Parámetro de consulta único
<a name="waf-rule-statement-request-component-single-query-param"></a>

Inspecciona un único parámetro de consulta que haya definido como parte de la cadena de consulta. AWS WAF inspecciona el valor del parámetro que especifique. 

Para esta opción, también se especifica un **Argumento de consulta**. Si la dirección URL es `www.xyz.com?UserName=abc&SalesRegion=seattle`, puede especificar `UserName` o `SalesRegion` como argumento de la consulta. La longitud máxima del nombre del argumento es de 30 caracteres. El nombre no distingue entre mayúsculas y minúsculas, por lo que si especifica `UserName`, AWS WAF busca coincidencias con todas las variantes de `UserName`, como `username` y `UsERName`.

Si la cadena de consulta contiene más de una instancia del argumento de consulta que ha especificado, AWS WAF inspecciona todos los valores para ver si coinciden con ellos mediante OR la lógica. Por ejemplo, en la dirección URL `www.xyz.com?SalesRegion=boston&SalesRegion=seattle`, AWS WAF evalúa el nombre que ha especificado con `boston` y `seattle`. Si alguna de las dos es una coincidencia, la inspección es una coincidencia.

## Todos los parámetros de consulta
<a name="waf-rule-statement-request-component-all-query-params"></a>

Inspecciona todos los parámetros de consulta de la solicitud. Es similar a la elección del componente de parámetro de consulta único, pero AWS WAF inspecciona los valores de todos los argumentos de la cadena de consulta. Por ejemplo, si la dirección URL es `www.xyz.com?UserName=abc&SalesRegion=seattle`, AWS WAF activa una coincidencia si el valor de `UserName` o `SalesRegion` coincide con los criterios de inspección. 

Al elegir esta opción, se añade WCUs un 10% al coste base.

## Cuerpo
<a name="waf-rule-statement-request-component-body"></a>

Inspecciona el cuerpo de la solicitud evaluada como texto sin formato. También puede evaluar el cuerpo como JSON utilizando el tipo de contenido JSON. 

El cuerpo de la solicitud es la parte de la solicitud que sigue inmediatamente a los encabezados de solicitudes. Contiene los datos adicionales necesarios para la solicitud web, como los datos de un formulario. 
+ En la consola, seleccione **Cuerpo** en la opción **Solicitud** y, a continuación, **Texto sin formato** en **Tipo de contenido**. 
+ En la API, en la especificación `FieldToMatch` de la regla, especifique `Body` para inspeccionar el cuerpo de la solicitud como texto sin formato.

Para Application Load Balancer y AWS AppSync, AWS WAF puede inspeccionar los primeros 8 KB del cuerpo de una solicitud. Para CloudFront API Gateway, Amazon Cognito, App Runner y Verified Access, de forma predeterminada, AWS WAF pueden inspeccionar los primeros 16 KB y usted puede aumentar el límite hasta 64 KB en la configuración de su paquete de protección (ACL web). Para obtener más información, consulte [Consideraciones para gestionar la inspección corporal en AWS WAF](web-acl-setting-body-inspection-limit.md).

Debe especificar la gestión del sobredimensionamiento para este tipo de componente. El manejo de sobredimensionamiento define la forma en que AWS WAF se gestionan las solicitudes cuyo cuerpo contiene un volumen de datos superior al que se AWS WAF puede inspeccionar. Puede elegir continuar con la inspección u omitir la inspección y marcar la solicitud como coincidente o no con la regla. Para obtener más información acerca de la administración del contenido de tamaño excesivo, consulte [Sobredimensionar los componentes de las solicitudes web en AWS WAF](waf-oversize-request-components.md). 

También puede evaluar el cuerpo como JSON analizado. Para obtener información sobre esto, consulte la sección siguiente. 

## Cuerpo JSON
<a name="waf-rule-statement-request-component-json-body"></a>

Inspecciona el cuerpo de la solicitud, evaluado como JSON. También puede evaluar el cuerpo como texto sin formato. 

El cuerpo de la solicitud es la parte de la solicitud que sigue inmediatamente a los encabezados de solicitudes. Contiene los datos adicionales necesarios para la solicitud web, como los datos de un formulario. 
+ En la consola, se selecciona en la **Opción de solicitud** **Cuerpo**, seleccionando la opción **Tipo de contenido** **JSON**. 
+ En la API, en la especificación `FieldToMatch` de la regla, especifique `JsonBody`.

Para Application Load Balancer y AWS AppSync, AWS WAF puede inspeccionar los primeros 8 KB del cuerpo de una solicitud. Para CloudFront API Gateway, Amazon Cognito, App Runner y Verified Access, de forma predeterminada, AWS WAF pueden inspeccionar los primeros 16 KB y usted puede aumentar el límite hasta 64 KB en la configuración de su paquete de protección (ACL web). Para obtener más información, consulte [Consideraciones para gestionar la inspección corporal en AWS WAF](web-acl-setting-body-inspection-limit.md).

Debe especificar la gestión del sobredimensionamiento para este tipo de componente. El manejo de sobredimensionamiento define la forma en que AWS WAF se gestionan las solicitudes cuyo cuerpo contiene un volumen de datos superior al que se AWS WAF puede inspeccionar. Puede elegir continuar con la inspección u omitir la inspección y marcar la solicitud como coincidente o no con la regla. Para obtener más información acerca de la administración del contenido de tamaño excesivo, consulte [Sobredimensionar los componentes de las solicitudes web en AWS WAF](waf-oversize-request-components.md). 

Al elegir esta opción, se duplica el coste WCUs base de la declaración de coincidencia. Por ejemplo, si el costo base de la declaración de coincidencia es 5 WCUs sin el análisis de JSON, el uso del análisis de JSON duplica el costo hasta 10. WCUs 

Para esta opción, debe proporcionar especificaciones adicionales como se describe en la siguiente sección.

**¿Cómo AWS WAF gestiona la inspección corporal de JSON**  
Cuando AWS WAF inspecciona el cuerpo de la solicitud web como JSON, realiza los pasos necesarios para analizarlo y extraer los elementos de JSON para su inspección. AWS WAF lleva a cabo estos pasos de acuerdo con sus opciones de configuración. 

A continuación se enumeran los pasos que se llevan AWS WAF a cabo. 

1. **Analiza el contenido del cuerpo**: AWS WAF analiza el contenido del cuerpo de la solicitud web para extraer los elementos JSON para su inspección. AWS WAF hace todo lo posible para analizar todo el contenido del cuerpo, pero el análisis puede fallar debido a una variedad de estados de error en el contenido. Los ejemplos incluyen caracteres no válidos, claves duplicadas, truncamiento y contenido cuyo nodo raíz no es un objeto o una matriz. 

   La opción **Body Parsing Fallback Behavior** determina qué pasa si AWS WAF no se analiza completamente el cuerpo del JSON: 
   + **Ninguno (comportamiento predeterminado)**: AWS WAF evalúa el contenido solo hasta el punto en que se ha detectado un error de análisis. 
   + **Evaluar como cadena**: inspecciona el cuerpo como texto sin formato. AWS WAF aplica las transformaciones de texto y los criterios de inspección que ha definido para la inspección de JSON a la cadena de texto principal.
   + **Coincidencia**: considera que la solicitud web coincide con la declaración de la regla. AWS WAF aplica la acción de la regla a la solicitud.
   + **Sin coincidencia**: trate la solicitud web como no coincidente con la instrucción de regla.
**nota**  
Este comportamiento alternativo solo se activa cuando se produce AWS WAF un error al analizar la cadena JSON. 

**El análisis no valida completamente el JSON.**  
AWS WAF el análisis no valida completamente la cadena JSON de entrada, por lo que el análisis puede realizarse correctamente incluso si el JSON no es válido.

   Por ejemplo, AWS WAF analiza el siguiente JSON no válido sin errores: 
   + Falta de coma: `{"key1":"value1""key2":"value2"}`
   + Falta de dos puntos: `{"key1":"value1","key2""value2"}`
   + Dos puntos adicionales: `{"key1"::"value1","key2""value2"}`

   En casos como estos, en los que el análisis se realiza correctamente pero el resultado no es un JSON completamente válido, el resultado de los pasos siguientes de la evaluación puede variar. Es posible que la extracción omita algunos elementos o que la evaluación de la regla arroje resultados inesperados. Recomendamos validar el JSON que recibe en su aplicación y administrar el JSON no válido según sea necesario. 

1. **Extrae los elementos JSON**: AWS WAF identifica el subconjunto de elementos JSON que deseas inspeccionar de acuerdo con tu configuración: 
   + La opción **JSON match scope** especifica los tipos de elementos del JSON que se AWS WAF deben inspeccionar. 

     Puede especificar **Claves**, **Valores** o **Todos** tanto para las claves como para los valores. 

     **Todos** no precisa una coincidencia en las claves y una coincidencia en los valores. Es necesario encontrar una coincidencia en las claves, en los valores o en ambos. Para exigir una coincidencia en las claves y los valores, utilice una instrucción lógica `AND` para combinar dos reglas de coincidencia, una que inspeccione las claves y otra que inspeccione los valores. 
   + La opción **Contenido a inspeccionar** especifica cómo filtrar el conjunto de elementos hasta el subconjunto que se quiere AWS WAF inspeccionar. 

     Debe especificar uno de los siguientes:
     + **Contenido JSON completo**: se evalúan todos los elementos. 
     + **Solo elementos incluidos**: se evalúan solo los elementos cuyas rutas coinciden con los criterios del puntero JSON que usted proporciona. No utilice esta opción para indicar *todas* las rutas de JSON. En su lugar, utilice **Contenido JSON completo**. 

       Para obtener información sobre la sintaxis del puntero JSON, consulte la documentación del Grupo de trabajo de ingeniería de Internet (IETF) sobre el puntero sobre [notación de JavaScript objetos (JSON](https://tools.ietf.org/html/rfc6901)). 

       Por ejemplo, en la consola, puede proporcionar lo siguiente: 

       ```
       /dogs/0/name
       /dogs/1/name
       ```

       En la API o la CLI, puede proporcionar lo siguiente: 

       ```
       "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]
       ```

   Por ejemplo, supongamos que la configuración del **Contenido a inspeccionar** es **Solo elementos incluidos**, y la configuración de los elementos incluidos es `/a/b`. 

   En el siguiente ejemplo de cuerpo JSON: 

   ```
   { 
     "a":{
       "c":"d",
       "b":{
         "e":{
           "f":"g"
         }
       }
     }
   }
   ```

   A continuación, se muestran los conjuntos de elementos que se AWS WAF inspeccionarían para cada configuración **del ámbito de coincidencia de JSON**. Tenga en cuenta que la clave `b`, que forma parte de la ruta de los elementos incluidos, no se evalúa.
   + **Todos**: `e`, `f,` y `g`.
   + **Claves**: `e` y `f`.
   + **Valores**: `g`.

1. **Inspeccione el conjunto de elementos JSON**: AWS WAF aplica cualquier transformación de texto que haya especificado a los elementos JSON extraídos y, a continuación, compara el conjunto de elementos resultante con los criterios de coincidencia de la declaración de regla. Este es el mismo comportamiento de transformación y evaluación que se aplica para otros componentes de solicitudes web. Si alguno de los elementos JSON extraídos coincide, la solicitud web coincide con la regla. 

# Uso de direcciones IP reenviadas en AWS WAF
<a name="waf-rule-statement-forwarded-ip-address"></a>

Esta sección se aplica a las instrucciones de reglas que utilizan la dirección IP de una solicitud web. De forma predeterminada, AWS WAF utiliza la dirección IP del origen de la solicitud web. Si el tráfico pasa por uno o más proxies o equilibradores de carga, el origen de la solicitud web contiende la dirección del último proxy y no la dirección de origen del cliente. En este caso, la dirección del cliente originario normalmente se reenvía en otro encabezado HTTP. Este encabezado suele ser `X-Forwarded-For` (XFF), pero puede ser diferente. 

**Instrucciones de reglas que usan direcciones IP**  
Las instrucciones de reglas que utilizan direcciones IP son las siguientes:
+ [Coincidencia de conjuntos de IP](waf-rule-statement-type-ipset-match.md): inspecciona la dirección IP para ver si coincide con las direcciones definidas en un conjunto de IP.
+ [Coincidencia geográfica](waf-rule-statement-type-geo-match.md): utiliza la dirección IP para determinar el país y la región de origen, y compara el país de origen con una lista de países.
+ [Coincidencia ASN](waf-rule-statement-type-asn-match.md)- Utiliza la dirección IP para determinar el número de sistema autónomo (ASN) y compara el ASN con una lista de. ASNs
+ [Uso de instrucciones de regla basada en tasas](waf-rule-statement-type-rate-based.md): puede agregar las solicitudes por sus direcciones IP para garantizar que ninguna dirección IP individual envíe solicitudes a una tasa demasiado alta. Puede utilizar la agregación de direcciones IP por sí sola o en combinación con otras claves de agregación. 

Puede AWS WAF indicarle que utilice una dirección IP reenviada para cualquiera de estas instrucciones de regla, ya sea desde el `X-Forwarded-For` encabezado o desde otro encabezado HTTP, en lugar de utilizar el origen de la solicitud web. Para obtener más información sobre cómo proporcionar las especificaciones, consulte la guía para cada tipo de instrucción de regla individual.

**nota**  
Si falta un encabezado, AWS WAF evalúa cualquier declaración que utilice ese encabezado como «No coincide». Si utiliza una sentencia NOT con el resultado «No coincide», AWS WAF convierte la evaluación en «Coincide». La ausencia de encabezados no desencadena un comportamiento alternativo; solo lo hacen los valores de encabezado no válidos.

**Comportamiento alternativo**  
Cuando utilizas la dirección IP reenviada, indicas el estado de coincidencia AWS WAF que deseas asignar a la solicitud web si la solicitud no tiene una dirección IP válida en la posición especificada: 
+ **COINCIDIR**: considera que la solicitud web coincide con el enunciado de la regla. AWS WAF aplica la acción de la regla a la solicitud.
+ **SIN COINCIDENCIA**: trate la solicitud web como no coincidente con la instrucción de regla. 

**Direcciones IP utilizadas en AWS WAF Bot Control**  
El grupo de reglas gestionado por Bot Control verifica los bots mediante las direcciones IP de AWS WAF. Si utiliza el control de bots y ha verificado bots enrutados a través de un proxy o un equilibrador de carga, debe permitirlos de forma explícita mediante una regla personalizada. Por ejemplo, puede configurar una regla de coincidencia de conjuntos de IP personalizada que utilice las direcciones IP reenviadas para detectar y admitir sus bots verificados. Puede usar la regla para personalizar la administración de los bots de varias maneras. Para obtener más información y ejemplos, consulte [AWS WAF Control de bots](waf-bot-control.md). 

**Consideraciones generales sobre el uso de direcciones IP reenviadas**  
Antes de utilizar una dirección IP reenviada, tenga en cuenta las siguientes advertencias generales: 
+ Los proxies pueden modificar un encabezado a lo largo del proceso y los proxies pueden gestionar el encabezado de diferentes maneras. 
+ Los atacantes pueden alterar el contenido del encabezado en un intento de eludir las inspecciones de AWS WAF . 
+ La dirección IP incluida en el encabezado puede tener un formato incorrecto o no ser válida.
+ Es posible que el encabezado que especifique no esté presente en absoluto en una solicitud.

**Consideraciones sobre el uso de direcciones IP reenviadas con AWS WAF**  
En la siguiente lista se describen los requisitos y las advertencias para el uso de direcciones IP reenviadas en AWS WAF:
+ Para cualquier regla individual, puede especificar un encabezado para la dirección IP reenviada. La especificación del encabezado no distingue entre mayúsculas y minúsculas.
+ En el caso de las instrucciones de reglas basadas en tasas, las instrucciones de alcance anidadas no heredan la configuración de IP reenviada. Especifique la configuración de cada instrucción que utilice una dirección IP reenviada. 
+ Para las reglas de coincidencia geográfica, de ASN y basadas en tasas, AWS WAF utiliza la primera dirección del encabezado. Por ejemplo, si un encabezado contiene usos `10.1.1.1, 127.0.0.0, 10.10.10.10` AWS WAF `10.1.1.1`
+ En el caso de la coincidencia de conjuntos de IP, debe indicar si debe coincidir con la primera, la última o con cualquier otra dirección del encabezado. Si especifica alguno, AWS WAF inspecciona todas las direcciones del encabezado para ver si coinciden, hasta un máximo de 10 direcciones. Si el encabezado contiene más de 10 direcciones, AWS WAF inspecciona las 10 últimas. 
+ Los encabezados que contienen varias direcciones deben usar una coma de separación entre las direcciones. Si una solicitud utiliza un separador que no sea una coma, AWS WAF considera que las direcciones IP del encabezado tienen un formato incorrecto.
+ Si las direcciones IP incluidas en el encabezado tienen un formato incorrecto o no son válidas, AWS WAF indica que la solicitud web coincide con la regla o no coincide, de acuerdo con el comportamiento alternativo que especifique en la configuración de IP reenviada.
+ Si el encabezado que especificas no está presente en una solicitud, AWS WAF no se aplica en absoluto la regla a la solicitud. Esto significa que AWS WAF no aplica la acción de la regla ni el comportamiento alternativo.
+ Una instrucción de regla que utilice un encabezado IP reenviado como dirección IP no utilizará la dirección IP indicada por el origen de la solicitud web.

**Prácticas recomendadas para usar direcciones IP reenviadas con AWS WAF**  
Al utilizar direcciones IP reenviadas, siga las siguientes prácticas recomendadas: 
+ Considera detenidamente todos los estados posibles de los encabezados de sus solicitudes antes de habilitar la configuración de IP reenviada. Es posible que tenga que usar más de una regla para obtener el comportamiento que desea.
+ Para inspeccionar varios encabezados IP reenviados o para inspeccionar el origen de una solicitud web y un encabezado IP reenviado, use una regla para cada origen de direcciones IP. 
+ Para bloquear las solicitudes web que tengan un encabezado no válido, defina la acción de regla para bloquear y establezca el comportamiento alternativo para que coincida con la configuración de IP reenviada. 

**Ejemplo de JSON para direcciones IP reenviadas**  
La siguiente instrucción de coincidencia geográfica solo coincide si el encabezado `X-Forwarded-For` contiene una IP cuyo país de origen es `US`: 

```
{
  "Name": "XFFTestGeo",
  "Priority": 0,
  "Action": {
    "Block": {}
  },
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "XFFTestGeo"
  },
  "Statement": {
    "GeoMatchStatement": {
      "CountryCodes": [
        "US"
      ],
      "ForwardedIPConfig": {
        "HeaderName": "x-forwarded-for",
        "FallbackBehavior": "MATCH"
      }
    }
  }
}
```

La siguiente regla basada en tasas agrega las solicitudes en función de la primera IP del encabezado `X-Forwarded-For`. La regla solo cuenta las solicitudes que coinciden con la instrucción de coincidencia geográfica anidada y solo bloquea las solicitudes que coinciden con la instrucción de coincidencia geográfica. La instrucción de coincidencia geográfica anidada también utiliza el encabezado `X-Forwarded-For` para determinar si la dirección IP indica un país de origen de `US`. Si es así, o si el encabezado está presente pero tiene un formato incorrecto, la instrucción de coincidencia geográfica devuelve una coincidencia. 

```
{
  "Name": "XFFTestRateGeo",
  "Priority": 0,
  "Action": {
    "Block": {}
  },
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "XFFTestRateGeo"
  },
  "Statement": {
    "RateBasedStatement": {
      "Limit": "100",
      "AggregateKeyType": "FORWARDED_IP",
      "ScopeDownStatement": {
        "GeoMatchStatement": {
          "CountryCodes": [
            "US"
          ],
          "ForwardedIPConfig": {
            "HeaderName": "x-forwarded-for",
            "FallbackBehavior": "MATCH"
          }
        }
      },
      "ForwardedIPConfig": {
        "HeaderName": "x-forwarded-for",
        "FallbackBehavior": "MATCH"
      }
    }
  }
}
```

# Inspección de pseudoencabezados HTTP/2 en AWS WAF
<a name="waf-rule-statement-request-components-for-http2-pseudo-headers"></a>

En esta sección se explica cómo se pueden inspeccionar los pseudoencabezados de AWS WAF HTTP/2.

 AWS Los recursos protegidos que admiten el tráfico de HTTP/2 no reenvían los pseudoencabezados de HTTP/2 AWS WAF para su inspección, pero proporcionan el contenido de los pseudoencabezados de los componentes de las solicitudes web que se inspeccionan. AWS WAF 

Puede utilizarlos AWS WAF para inspeccionar únicamente los pseudoencabezados que se muestran en la siguiente tabla. 


**El contenido de los pseudoencabezados de HTTP/2 está asignado a los componentes de las solicitudes web**  

| Pseudoencabezado de HTTP/2 | Componente de solicitud web que inspeccionar | Documentación | 
| --- | --- | --- | 
|  `:method`  |  Método HTTP   |  [Método HTTP](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-http-method)  | 
|  `:authority`  |  Encabezado `Host`   |  [Encabezado único](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-single-header)  [Todos los encabezados](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-headers)  | 
|  Ruta de URI `:path`  | Ruta de URI  | [Ruta de URI](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-uri-path) | 
|  Consulta de `:path`  |  Cadena de consulta  |  [Cadena de consulta](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-query-string) [Parámetro de consulta único](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-single-query-param) [Todos los parámetros de consulta](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-all-query-params)  | 

# Uso de transformaciones de texto en AWS WAF
<a name="waf-rule-statement-transformation"></a>

En esta sección se explica cómo proporcionar transformaciones AWS WAF para aplicarlas antes de inspeccionar la solicitud.

En las instrucciones que buscan patrones o establecen restricciones, puedes proporcionar transformaciones para AWS WAF que se apliquen antes de inspeccionar la solicitud. Una transformación reformatea una solicitud web para eliminar parte del formato inusual que los atacantes utilizan con el objetivo de eludir AWS WAF. 

Si lo utiliza con la selección de componentes de la solicitud del cuerpo JSON, AWS WAF aplica las transformaciones después de analizar y extraer los elementos de la JSON para inspeccionarlos. Para obtener más información, consulte [Cuerpo JSON](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-json-body).

Si proporciona más de una transformación, también establece la orden para que AWS WAF las aplique. 

**WCUs**— Cada transformación de texto es de 10WCUs.

La documentación de la AWS WAF consola y la API también proporciona orientación sobre estos ajustes en las siguientes ubicaciones: 
+ **Generador de reglas** en la consola: **Transformación de texto**. Esta opción está disponible cuando se utilizan componentes de solicitud. 
+ **Contenido de la instrucción de API**: `TextTransformations`Opciones para transformaciones de texto

Cada lista de transformaciones muestra las especificaciones de la consola y la API seguidas de la descripción.

Base64 decode – `BASE64_DECODE`  
AWS WAF decodifica una cadena codificada en Base64.

Base64 decode extension – `BASE64_DECODE_EXT`  
AWS WAF decodifica una cadena codificada en Base64, pero usa una implementación flexible que ignora los caracteres que no son válidos. 

Command line – `CMD_LINE`  
Esta opción mitiga situaciones en las que los atacantes podrían inyectar un comando de línea de comandos del sistema operativo y utilizar un formato inusual para ocultar parte o la totalidad del comando.   
Utilice esta opción para realizar las siguientes transformaciones:  
+ Eliminar los siguientes caracteres: `\ " ' ^`
+ Eliminar los espacios delante de los siguientes caracteres: `/ (`
+ Sustituir los siguientes caracteres por un espacio: `, ;`
+ Sustituir varios espacios por un espacio
+ Convertir letras mayúsculas, `A-Z`, a minúsculas, `a-z`

Compress whitespace – `COMPRESS_WHITE_SPACE`  
AWS WAF comprime los espacios en blanco sustituyendo varios espacios por un espacio y sustituyendo los siguientes caracteres por un carácter de espacio (ASCII 32):  
+ Avance de página (ASCII 12)
+ Pestaña (ASCII 9)
+ Nueva línea (ASCII 10)
+ Retorno de carro (ASCII 13)
+ Pestaña vertical (ASCII 11)
+ Espacio duro (ASCII 160)

CSS decode – `CSS_DECODE`  
AWS WAF decodifica los caracteres codificados mediante las reglas de escape de CSS 2.x. `syndata.html#characters` Esta función utiliza hasta dos bytes en el proceso de decodificación, por lo que puede ayudar a descubrir caracteres ASCII que se codificaron en CSS y que normalmente no se codificarían. También es útil para contrarrestar la evasión, que es una combinación de una barra invertida y caracteres no hexadecimales. Por ejemplo, `ja\vascript` para `javascript`.

Escape sequences decode – `ESCAPE_SEQ_DECODE`  
AWS WAF decodifica las siguientes secuencias de escape ANSI C:`\a`,,`\b`,`\f`,`\n`,`\r`,`\t`,, `\v``\\`, `\xHH` (hexadecimal) `\?` `\'``\"`, `\0OOO` (octal). Las codificaciones que no son válidas permanecen en la salida.

Hex decode – `HEX_DECODE`  
AWS WAF decodifica una cadena de caracteres hexadecimales en un binario.

HTML entity decode – `HTML_ENTITY_DECODE`  
AWS WAF reemplaza los caracteres que se representan en formato hexadecimal `&#xhhhh;` o decimal por `&#nnnn;` los caracteres correspondientes.  
AWS WAF reemplaza los siguientes caracteres codificados en HTML por caracteres no codificados. Esta lista utiliza la codificación HTML en minúsculas, pero no distingue entre mayúsculas y minúsculas; por ejemplo, `&QuOt;` y `&quot;` reciben el mismo tratamiento.       
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/waf/latest/developerguide/waf-rule-statement-transformation.html)

JS decode – `JS_DECODE`  
AWS WAF decodifica secuencias de escape. JavaScript Si un código `\uHHHH` está en el rango del código ASCII de ancho completo de `FF01-FF5E`, el byte superior se utiliza para detectar y ajustar el byte inferior. Si no, solo se utiliza el byte inferior y el byte superior se pone en cero, lo que provoca una posible pérdida de información.

Lowercase – `LOWERCASE`  
AWS WAF convierte letras mayúsculas (A-Z) en minúsculas (a-z).

MD5 – `MD5`  
AWS WAF calcula un MD5 hash a partir de los datos de la entrada. El hash calculado está en forma binaria sin procesar.

None – `NONE`  
AWS WAF inspecciona la solicitud web tal como se recibió, sin ninguna transformación de texto. 

Normalize path – `NORMALIZE_PATH`  
AWS WAF normaliza la cadena de entrada eliminando las barras diagonales múltiples, las autorreferencias de los directorios y las referencias inversas de los directorios que no estén al principio de la entrada.

Normalize path Windows – `NORMALIZE_PATH_WIN`  
AWS WAF convierte los caracteres de barra invertida en barras diagonales y, a continuación, procesa la cadena resultante mediante la transformación. `NORMALIZE_PATH`

Remove nulls – `REMOVE_NULLS`  
AWS WAF elimina todos los `NULL` bytes de la entrada. 

Replace comments – `REPLACE_COMMENTS`  
AWS WAF reemplaza cada aparición de un comentario de estilo C (/\$1... \$1/) por un solo espacio. No comprime varias repeticiones consecutivas. Sustituye los comentarios no finalizados terminados por un espacio (ASCII 0x20). No cambia la finalización independiente de un comentario (\$1/).

Replace nulls – `REPLACE_NULLS`  
AWS WAF reemplaza cada `NULL` byte de la entrada por el carácter de espacio (ASCII 0x20).

SQL hex decode – `SQL_HEX_DECODE`  
AWS WAF decodifica los datos hexadecimales de SQL. Por ejemplo, AWS WAF decodifica (`0x414243`) en (). `ABC`

URL decode – `URL_DECODE`  
AWS WAF decodifica un valor codificado en una URL.

URL decode Unicode – `URL_DECODE_UNI`  
Como `URL_DECODE`, pero compatible con la codificación de `%u` específica de Microsoft. Si el código está en el rango `FF01-FF5E` del código ASCII de ancho completo, el byte superior se utiliza para detectar y ajustar el byte inferior. De lo contrario, solo se utiliza el byte inferior y el byte superior se pone en cero.

UTF8 to Unicode – `UTF8_TO_UNICODE`  
AWS WAF convierte todas las secuencias de caracteres UTF-8 a Unicode. Esto ayuda a normalizar las entradas y a minimizar los falsos positivos y negativos de los idiomas distintos al inglés.

# Uso de declaraciones de alcance reducido en AWS WAF
<a name="waf-rule-scope-down-statements"></a>

En esta sección, se explica qué es una instrucción de restricción de acceso y cómo funciona.

Una instrucción de restricción de acceso es una instrucción de regla que se puede anidar que se añade a una instrucción de un grupo de reglas administradas o una instrucción basada en tasas para reducir el conjunto de solicitudes que evalúa la regla contenedora. La regla contenedora solo evalúa las solicitudes que coincidan primero con la instrucción de restricción de acceso. 
+ Declaración de **grupo de reglas administrado: si agrega una declaración** de alcance reducido a una declaración de grupo de reglas administrado, AWS WAF evalúa cualquier solicitud que no coincida con la declaración de alcance reducido como si no coincidiera con el grupo de reglas. Las solicitudes solo se evalúan por el grupo de reglas si coinciden con la instrucción de alcance descendente. En el caso de los grupos de reglas administradas cuyos precios se basan en la cantidad de solicitudes evaluadas, las instrucciones de restricción de acceso pueden ayudar a contener los costos. 

  Para obtener más información acerca de las instrucciones sobre los grupos de reglas administradas, consulte [Uso de sentencias de grupos de reglas gestionados en AWS WAF](waf-rule-statement-type-managed-rule-group.md).
+ **Instrucción de regla basada en tasas**: una instrucción de regla basada en tasas sin una instrucción de restricción de acceso limita todas las solicitudes que evalúa la regla. Si solo quiere controlar la tasa para una categoría específica de solicitudes, agregue una instrucción de restricción de acceso a la regla basada en tasas. Por ejemplo, para rastrear y controlar únicamente la tasa de solicitudes de un área geográfica específica, puede especificar esa área geográfica en una instrucción de coincidencia geográfica y agregarla a su regla basada en tasas como instrucción de restricción de acceso. 

  Para obtener más información acerca de las instrucciones de las reglas basadas en tasas, consulte [Uso de declaraciones de reglas basadas en tasas en AWS WAF](waf-rule-statement-type-rate-based.md).

Puede usar cualquier regla anidable en una instrucción de restricción de acceso. Para ver las instrucciones disponibles, consulte [Uso de sentencias de reglas de coincidencia en AWS WAF](waf-rule-statements-match.md) y [Uso de enunciados de reglas lógicas en AWS WAF](waf-rule-statements-logical.md). Las instrucciones WCUs para reducir el alcance son las WCUs necesarias para la declaración de regla que defina en ella. No se aplica ningún coste adicional por el uso de una instrucción de restricción de acceso.

Puede configurar una instrucción de restricción de acceso de la misma manera que lo hace cuando usa la instrucción en una regla normal. Por ejemplo, puede aplicar transformaciones de texto a un componente de una solicitud web que esté inspeccionando y puede especificar una dirección IP reenviada para usarla como dirección IP. Estas configuraciones se aplican solo a la instrucción de restricción de acceso y no las hereda el grupo de reglas administradas que las contiene ni la instrucción de regla basada en tasas. 

Por ejemplo, si aplica transformaciones de texto a una cadena de consulta de la instrucción de restricción de acceso, la instrucción de restricción de acceso inspecciona la cadena de consulta después de aplicar las transformaciones. Si la solicitud coincide con los criterios de la instrucción de restricción de acceso, AWS WAF pasa la solicitud web a la regla contenedora en su estado original, sin las transformaciones de la instrucción de restricción de acceso. La regla que contiene la instrucción de restricción de acceso puede aplicar sus propias transformaciones de texto, pero no hereda ninguna de la instrucción de restricción de acceso. 

No puede usar una instrucción de restricción de acceso para especificar ninguna configuración de inspección de solicitudes para la instrucción de la regla contenedora. No puede usar una instrucción de restricción de acceso como preprocesador de solicitudes web para la instrucción de regla contenedora. La única función de una instrucción de regla contenedora es determinar qué solicitudes se pasan a la instrucción de regla contenedora para su inspección. 

# Hacer referencia a entidades reutilizables en AWS WAF
<a name="waf-rule-statement-reusable-entities"></a>

En esta sección, se explica cómo funcionan las entidades reutilizables en AWS WAF.

Algunas reglas utilizan entidades que son reutilizables y que tú o un AWS Marketplace vendedor gestionáis fuera de tu webACLs. AWS Cuando se actualiza la entidad reutilizable, AWS WAF propaga la actualización a la regla. Por ejemplo, si utiliza un grupo de reglas AWS administradas en un paquete de protección (ACL web), al AWS actualizar el grupo de reglas, AWS propaga el cambio a su ACL web para actualizar su comportamiento. Si utiliza una sentencia de conjunto de direcciones IP en una regla, al actualizar el conjunto, AWS WAF se propaga el cambio a todas las reglas que hacen referencia a ella, de modo que cualquier paquete de protección (web ACLs) que utilice esas reglas se conservará up-to-date junto con sus cambios. 

Las siguientes son las entidades reutilizables que se pueden utilizar en una instrucción de regla. 
+ **Conjuntos de IP**: cree y administre sus propios conjuntos de IP. En la consola, puede acceder a ellos desde el panel de navegación. Para obtener más información acerca de la administración de conjuntos de IP, consulte [Conjuntos de IP y conjuntos de patrones de expresiones regulares en AWS WAF](waf-referenced-set-managing.md). 
+ **Conjuntos de coincidencias**: cree y administre sus propios conjuntos de coincidencias de regex. En la consola, puede acceder a ellos desde el panel de navegación. Para obtener más información acerca de la administración de conjuntos de patrones de regex, consulte [Conjuntos de IP y conjuntos de patrones de expresiones regulares en AWS WAF](waf-referenced-set-managing.md). 
+ **AWS Grupos de reglas de reglas administradas**: AWS administra estos grupos de reglas. En la consola, podrá usarlos al agregar un grupo de reglas administradas al paquete de protección (ACL web). Para obtener más información al respecto, consulte [AWS Lista de grupos de reglas de Managed Rules](aws-managed-rule-groups-list.md).
+ **AWS Marketplace grupos de reglas gestionados**: AWS Marketplace los vendedores administran estos grupos de reglas y puedes suscribirte a ellos para usarlos. Para administrar las suscripciones, en el panel de navegación de la consola, elija **AWS Marketplace**. Los grupos de reglas AWS Marketplace administrados se muestran cuando agrega un grupo de reglas administrado a su paquete de protección (ACL web). En el caso de los grupos de reglas a los que aún no se ha suscrito, también encontrará un enlace AWS Marketplace en esa página. Para obtener más información sobre los grupos de reglas gestionados por el AWS Marketplace vendedor, consulta[AWS Marketplace grupos de reglas](marketplace-rule-groups.md).
+ **Sus propios grupos de reglas**: puede administrar sus propios grupos de reglas, normalmente cuando necesita algún comportamiento que no está disponible a través de los grupos de reglas administradas. En la consola, puede acceder a ellos desde el panel de navegación. Para obtener más información, consulte [Administrar sus propios grupos de reglas](waf-user-created-rule-groups.md).

**Eliminación de un conjunto o un grupo de reglas al que se hace referencia**  
Al eliminar una entidad a la que se hace referencia, AWS WAF comprueba si se está utilizando actualmente en un paquete de protección (ACL web). Si AWS WAF descubre que está en uso, te avisa. AWS WAF casi siempre puede determinar si un paquete de protección (ACL web) hace referencia a una entidad. Sin embargo, es posible que en algunas ocasiones no consiga hacerlo. Si necesita asegurarse de que la entidad que quiere eliminar no está en uso, compruébela en su web ACLs antes de eliminarla.

# Uso de sentencias de reglas de coincidencia en AWS WAF
<a name="waf-rule-statements-match"></a>

En esta sección, se explica qué es una instrucción de coincidencia y cómo funciona.

Las instrucciones de coincidencia comparan la solicitud web o su origen con las condiciones que proporcione. En el caso de muchas sentencias de este tipo, AWS WAF compara un componente específico de la solicitud para ver si hay contenido coincidente. 

Las instrucciones de coincidencia se pueden anidar. Puede anidar cualquiera de estas instrucciones dentro de las instrucciones de reglas lógicas y puede utilizarlas en instrucciones de restricción de acceso. Para obtener información sobre las instrucciones de reglas lógicas, consulte [Uso de enunciados de reglas lógicas en AWS WAF](waf-rule-statements-logical.md). Para obtener información sobre las instrucciones de restricción de acceso, consulte [Uso de declaraciones de alcance reducido en AWS WAF](waf-rule-scope-down-statements.md).

Esta tabla describe las instrucciones de coincidencia regulares que puede agregar a una regla y proporciona algunas pautas para calcular el uso de unidades de capacidad del paquete de protección (ACL web) (WCU) para cada una. Para obtener información sobre WCUs, consulte[Unidades de capacidad de ACL web (WCUs) en AWS WAF](aws-waf-capacity-units.md). 


| instrucción de coincidencia | Description (Descripción) | WCUs | 
| --- | --- | --- | 
| [Coincidencia geográfica](waf-rule-statement-type-geo-match.md) | Inspecciona el país de origen de la solicitud y aplica etiquetas para el país y la región de origen.  | 1 | 
|  [Coincidencia ASN](waf-rule-statement-type-asn-match.md)  |  Inspecciona la solicitud contra un número de sistema autónomo (ASN) asociado con direcciones IP y rangos de direcciones.  |  1  | 
|  [Coincidencia de conjuntos de IP](waf-rule-statement-type-ipset-match.md)  |  Inspecciona la solicitud con un conjunto de direcciones IP y rangos de direcciones.   |  1 para la mayoría de los casos. Si configura la instrucción para que utilice un encabezado con direcciones IP reenviadas y especifique una posición en el encabezado deAny, WCUs aumente el valor en 4.  | 
|  [Instrucción de regla de coincidencia de etiquetas](waf-rule-statement-type-label-match.md)  |  Inspecciona la solicitud en busca de etiquetas que se hayan agregado mediante otras reglas del mismo paquete de protección (ACL web).  |  1   | 
| [Instrucción de regla de coincidencia de expresiones regulares](waf-rule-statement-type-regex-match.md) | Compara un patrón de regex con un componente de solicitud especificado.  | 3, como coste base. Si utiliza el componente de solicitud **Todos los parámetros de consulta**, añada 10 WCUs. Si utiliza el **cuerpo JSON** del componente de solicitud, duplique el coste base WCUs. Por cada **transformación de texto** que aplique, añada 10 WCUs.  | 
|  [Conjunto de patrones de expresiones regex](waf-rule-statement-type-regex-pattern-set-match.md)  |  Compara patrones de regex con un componente de solicitud especificado.   |  25 por conjunto de patrones, como coste base.  Si utiliza el componente de solicitud **Todos los parámetros de consulta**, añada 10 WCUs. Si utiliza el **cuerpo JSON** del componente de solicitud, duplique el coste base WCUs. Por cada **transformación de texto** que aplique, añada 10 WCUs.  | 
| [Restricción de tamaño](waf-rule-statement-type-size-constraint-match.md) | Comprueba restricciones de tamaño con un componente de solicitud especificado.  | 1, como coste base.  Si utiliza el componente de solicitud **Todos los parámetros de consulta**, añada 10 WCUs. Si utiliza el **cuerpo JSON** del componente de solicitud, duplique el coste base WCUs. Por cada **transformación de texto** que aplique, añada 10 WCUs.  | 
| [SQLiataque](waf-rule-statement-type-sqli-match.md) | Inspecciona el código SQL malintencionado en un componente de solicitud especificado.  | 20, como coste base. Si utiliza el componente de solicitud **Todos los parámetros de consulta**, añada 10 WCUs. Si utiliza el **cuerpo JSON** del componente de solicitud, duplique el coste base WCUs. Por cada **transformación de texto** que aplique, añada 10 WCUs. | 
| [Coincidencia de cadenas](waf-rule-statement-type-string-match.md) | Compara una cadena con un componente de solicitud especificado.  |  El coste base depende del tipo de coincidencia de cadenas y oscila entre 1 y 10. Si utiliza el componente de solicitud **Todos los parámetros de consulta**, añada 10 WCUs. Si utiliza el **cuerpo JSON** del componente de solicitud, duplique el coste base WCUs. Por cada **transformación de texto** que aplique, añada 10 WCUs.  | 
| [Ataque de scripting XSS](waf-rule-statement-type-xss-match.md) | Inspecciona los ataques de scripting entre sitios en un componente de solicitud especificado.  | 40, como coste base. Si utiliza el componente de solicitud **Todos los parámetros de consulta**, añada 10 WCUs. Si utiliza el **cuerpo JSON** del componente de solicitud, duplique el coste base WCUs. Por cada **transformación de texto** que aplique, añada 10 WCUs. | 

# Instrucción de regla de coincidencia geográfica
<a name="waf-rule-statement-type-geo-match"></a>

En esta sección se explica qué es una instrucción de coincidencia geográfica y cómo funciona.

Utilice instrucciones de concordancia geográfica para administrar las solicitudes web en función del país y la región de origen. Una instrucción de concordancia geográfica agrega etiquetas a las solicitudes web que indican el país de origen y la región de origen. Añade estas etiquetas independientemente de si los criterios de la instrucción coinciden con los de la solicitud. Una instrucción de coincidencia geográfica también realiza una comparación con el país de origen de la solicitud.

## ¿Cómo usar la instrucción de coincidencia geográfica
<a name="waf-rule-statement-geo-how-to-use"></a>

Puede usar la instrucción de coincidencia geográfica para la coincidencia de países o regiones, de la siguiente manera: 
+ **País**: puede usar una regla de coincidencia geográfica por sí sola para gestionar las solicitudes en función únicamente de su país de origen. La instrucción de regla coincide con los códigos de país. También puede seguir una regla de coincidencia geográfica con una regla de coincidencia de etiquetas que coincida con la etiqueta del país de origen. 
**nota**  
Para filtrar el tráfico de Hong Kong, use el código de país ISO 3166-1 alfa-2 `HK` en su instrucción de coincidencia geográfica.
+ **Región**: use una regla de coincidencia geográfica seguida de una regla de coincidencia de etiquetas para gestionar las solicitudes en función de su región de origen. No puede usar una regla de coincidencia geográfica por sí sola para hacer coincidir los códigos de región.

Para obtener información sobre el uso de las reglas de coincidencia de etiquetas, consulte [Instrucción de regla de coincidencia de etiquetas](waf-rule-statement-type-label-match.md) y [Etiquetado de solicitudes web en AWS WAF](waf-labels.md).

## Cómo funciona la instrucción de coincidencia geográfica
<a name="waf-rule-statement-geo-how-it-works"></a>

Con la declaración geo match, AWS WAF gestiona cada solicitud web de la siguiente manera: 

1. **Determina los códigos de país y región de la solicitud**: AWS WAF determina el país y la región de una solicitud en función de su dirección IP. De forma predeterminada, AWS WAF utiliza la dirección IP del origen de la solicitud web. Puedes indicar AWS WAF que uses una dirección IP de un encabezado de solicitud alternativo, por ejemplo`X-Forwarded-For`, habilitando la configuración de IP reenviada en la configuración de la declaración de reglas. 

   AWS WAF determina la ubicación de las solicitudes mediante bases de datos de MaxMind GeoIP. MaxMind informa de una precisión muy alta de sus datos a nivel de país, aunque la precisión varía según factores como el país y el tipo de IP. Para obtener más información MaxMind, consulte [Geolocalización de MaxMind IP](https://support.maxmind.com/hc/en-us/sections/4407519834267-IP-Geolocation). Si cree que alguno de los datos de GeoIP es incorrecto, puede enviar una solicitud de corrección a Maxmind en [MaxMind Correct](https://support.maxmind.com/hc/en-us/articles/4408252036123-GeoIP-Correction) Geo Data. IP2 

   AWS WAF utiliza los códigos de país y región alfa-2 de la norma 3166 de la Organización Internacional de Normalización (ISO). Puede encontrar los códigos en las siguientes ubicaciones:
   + En el sitio web de la ISO, puede buscar los códigos de los países en la [Plataforma de navegación en línea (OBP) de la ISO](https://www.iso.org/obp/ui#home). 
   + En Wikipedia, los códigos de los países figuran en la [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2).

     Los códigos de región de un país aparecen en la URL `https://en.wikipedia.org/wiki/ISO_3166-2:<ISO country code>`. Por ejemplo, las regiones de los Estados Unidos están en la [ISO 3166-2:US](https://en.wikipedia.org/wiki/ISO_3166-2:US) y, las de Ucrania, en la norma [ISO 3166-2:UA](https://en.wikipedia.org/wiki/ISO_3166-2:UA).

1. **Determina la etiqueta de país y la etiqueta de región que se van a agregar a la solicitud**: las etiquetas indican si la instrucción de coincidencia geográfica utiliza la configuración de IP de origen o de IP reenviada.
   + **ID de origen** 

     La etiqueta del país es `awswaf:clientip:geo:country:<ISO country code>`. Ejemplo para los Estados Unidos: `awswaf:clientip:geo:country:US`.

     La etiqueta de la región es `awswaf:clientip:geo:region:<ISO country code>-<ISO region code>`. Ejemplo para los Oregón, en Estados Unidos: `awswaf:clientip:geo:region:US-OR`.
   + **IP reenviada** 

     La etiqueta del país es `awswaf:forwardedip:geo:country:<ISO country code>`. Ejemplo para los Estados Unidos: `awswaf:forwardedip:geo:country:US`.

     La etiqueta de la región es `awswaf:forwardedip:geo:region:<ISO country code>-<ISO region code>`. Ejemplo para los Oregón, en Estados Unidos: `awswaf:forwardedip:geo:region:US-OR`.

   Si el código de país o región no está disponible para la dirección IP especificada de una solicitud, AWS WAF utiliza `XX` en las etiquetas, en lugar del valor. Por ejemplo, la siguiente etiqueta es para la IP de un cliente cuyo código de país no está disponible: `awswaf:clientip:geo:country:XX` y la siguiente es para una IP reenviada cuyo país es Estados Unidos, pero cuyo código de región no está disponible: `awswaf:forwardedip:geo:region:US-XX`. 

1. **Evalúa el código de país de la solicitud según los criterios de la regla** 

La instrucción de coincidencia geográfica agrega etiquetas de país y región a todas las solicitudes que inspecciona, independientemente de si encuentra o no una coincidencia. 

**nota**  
AWS WAF añade cualquier etiqueta al final de la evaluación de la solicitud web de una regla. Por este motivo, cualquier coincidencia de etiquetas que utilice con las etiquetas de una instrucción de coincidencia geográfica debe definirse en una regla independiente de la regla que contiene la instrucción de coincidencia geográfica. 

Si quiere inspeccionar solo los valores de las regiones, puede escribir una regla de coincidencia geográfica con la acción Count y con una sola coincidencia de códigos de país, seguida de una regla de coincidencia de etiquetas para las etiquetas de las regiones. Debe proporcionar un código de país para que la regla de coincidencia geográfica lo evalúe, incluso para este enfoque. Puede reducir el registro y las métricas de recuento especificando un país que muy probablemente no sea un origen de tráfico para su sitio. 

## CloudFront distribuciones y la función de restricción CloudFront geográfica
<a name="cloudfront-distributions-geo-restriction"></a>

En el caso de CloudFront las distribuciones, si utilizas la función de restricción CloudFront geográfica, ten en cuenta que la función no reenvía las solicitudes bloqueadas a. AWS WAF Reenvía las solicitudes permitidas a AWS WAF. Si quieres bloquear las solicitudes en función de la zona geográfica y de otros criterios que puedas especificar AWS WAF, utiliza la declaración de concordancia AWS WAF geográfica y no utilices la función de restricción CloudFront geográfica. 

## Características de la instrucción de reglas
<a name="geo-match-statement-characteristics"></a>

**Se puede anidar**: puede anidar este tipo de instrucción. 

**WCUs **— 1 WCU.

**Configuración**: esta instrucción utiliza la siguiente configuración: 
+ **Códigos de país**: conjunto de códigos de países que se pueden comparar para obtener una coincidencia geográfica. Deben ser códigos de país de dos caracteres, de los códigos ISO de país alfa-2 de la norma internacional ISO 3166, por ejemplo, `["US","CN"]`. 
+ **(Opcional) Configuración de IP reenviada**: de forma predeterminada, AWS WAF utiliza la dirección IP del origen de la solicitud web para determinar el país de origen. Como alternativa, puedes configurar la regla para que utilice una IP reenviada en un encabezado HTTP, como en `X-Forwarded-For` su lugar. AWS WAF usa la primera dirección IP del encabezado. Con esta configuración, también se especifica un comportamiento alternativo para aplicarlo a una solicitud web con una dirección IP con un formato incorrecto en el encabezado. El comportamiento alternativo establece que el resultado de la solicitud coincide o no coincide. Para obtener más información, consulte [Uso de direcciones IP reenviadas](waf-rule-statement-forwarded-ip-address.md). 

## Dónde encontrar esta instrucción de regla
<a name="geo-match-statement-where-to-find"></a>
+ **Generador de reglas** en la consola: en **Opción de la solicitud**, elija **Se origina desde un país de**.
+ **API**: [GeoMatchStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_GeoMatchStatement.html)

## Ejemplos
<a name="waf-rule-statement-geo-examples"></a>

Puede utilizar la instrucción de coincidencia geográfica para administrar las solicitudes de países o regiones específicos. Por ejemplo, para bloquear determinados países, pero seguir permitiendo solicitudes de un conjunto específico de direcciones IP de uno de esos países, podría crear una regla con la acción establecida en Block y las siguientes instrucciones anidadas:
+ AND instrucción
  + Instrucción de coincidencia geográfica en la que se enumeran los países que desea bloquear
  + NOT instrucción 
    + Instrucción de conjuntos de IP que especifica las direcciones IP que desea permitir

O bien, si quiere bloquear algunas regiones de determinados países y, al mismo tiempo, permitir solicitudes de otras regiones de esos países, puede definir primero una regla de coincidencia geográfica con la acción establecida en Count. A continuación, defina una regla de coincidencia de etiquetas que coincida con las etiquetas de coincidencia geográfica agregadas y gestione las solicitudes según sea necesario. 

El siguiente pseudocódigo describe un ejemplo de este enfoque:

1. Instrucción de coincidencia geográfica en la que se enumeran los países cuyas regiones quiere bloquear, pero con la acción configurada como Recuento. Esto etiqueta todas las solicitudes web, independientemente del estado de coincidencia, y también proporciona métricas de recuento de los países de interés. 

1. Instrucción `AND` con acción de bloqueo
   + Instrucción de concordancia de etiquetas que especifica las etiquetas de los países que desea bloquear
   + `NOT` instrucción 
     + Instrucción de coincidencia de etiquetas que especifica las etiquetas de las regiones de los países por los que quiere permitir el paso

La siguiente lista de JSON muestra una implementación de las dos reglas descritas en el pseudocódigo anterior. Estas reglas bloquean todo el tráfico procedente de los Estados Unidos, excepto el tráfico procedente de Oregón y Washington. La instrucción de coincidencia geográfica agrega etiquetas de país y región a todas las solicitudes que inspecciona. La regla de coincidencia de etiquetas se ejecuta después de la regla de coincidencia geográfica, por lo que puede coincidir con las etiquetas de país y región que la regla de coincidencia geográfica acaba de agregar. La instrucción de coincidencia geográfica utiliza una dirección IP reenviada, por lo que la coincidencia de etiquetas también especifica las etiquetas de IP reenviadas. 

```
{
   "Name": "geoMatchForLabels",
   "Priority": 10,
   "Statement": {
     "GeoMatchStatement": {
       "CountryCodes": [
         "US"
       ],
       "ForwardedIPConfig": {
           "HeaderName": "X-Forwarded-For",
           "FallbackBehavior": "MATCH"
       }
     }
   },
   "Action": {
     "Count": {}
   },
   "VisibilityConfig": {
     "SampledRequestsEnabled": true,
     "CloudWatchMetricsEnabled": true,
     "MetricName": "geoMatchForLabels"
   }
},
{
   "Name": "blockUSButNotOROrWA",
   "Priority": 11,
   "Statement": {
     "AndStatement": {
       "Statements": [
         {
           "LabelMatchStatement": {
             "Scope": "LABEL",
             "Key": "awswaf:forwardedip:geo:country:US"
           }
         },
         {
           "NotStatement": {
             "Statement": {
                "OrStatement": {
                  "Statements": [
                    {
                       "LabelMatchStatement": {
                         "Scope": "LABEL",
                         "Key": "awswaf:forwardedip:geo:region:US-OR"
                       }
                    },
                    {
                       "LabelMatchStatement": {
                         "Scope": "LABEL",
                         "Key": "awswaf:forwardedip:geo:region:US-WA"
                       }
                    }
                 ]
               }
             }
           }
         }
       ]
     }
   },
   "Action": {
     "Block": {}
   },
   "VisibilityConfig": {
     "SampledRequestsEnabled": true,
     "CloudWatchMetricsEnabled": true,
     "MetricName": "blockUSButNotOROrWA"
   }
}
```

Como otro ejemplo, puede combinar la coincidencia geográfica con reglas basadas en tasas para priorizar los recursos para los usuarios de un país o región en particular. Puede crear una instrucción basada en tasas diferente para cada instrucción de coincidencia geográfica o de etiquetas que utilice para diferenciar a sus usuarios. Establezca un límite de frecuencia mayor para los usuarios del país o región preferido y un límite de frecuencia menor para otros usuarios. 

La siguiente lista de JSON muestra una regla de coincidencia geográfica seguida de reglas basadas en tasas que limitan la tasa de tráfico procedente de los Estados Unidos. Las normas permiten que el tráfico procedente de Oregón entre a una tasa mayor que el tráfico procedente de cualquier otro lugar del país. 

```
{
  "Name": "geoMatchForLabels",
  "Priority": 190,
  "Statement": {
    "GeoMatchStatement": {
      "CountryCodes": [
        "US"
      ]
    }
  },
  "Action": {
    "Count": {}
  },
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "geoMatchForLabels"
  }
},
{
  "Name": "rateLimitOregon",
  "Priority": 195,
  "Statement": {
    "RateBasedStatement": {
      "Limit": 3000,
      "AggregateKeyType": "IP",
      "ScopeDownStatement": {
        "LabelMatchStatement": {
          "Scope": "LABEL",
          "Key": "awswaf:clientip:geo:region:US-OR"
        }
      }
    }
  },
  "Action": {
    "Block": {}
  },
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "rateLimitOregon"
  }
},
{
  "Name": "rateLimitUSNotOR",
  "Priority": 200,
  "Statement": {
    "RateBasedStatement": {
      "Limit": 100,
      "AggregateKeyType": "IP",
      "ScopeDownStatement": {
        "AndStatement": {
          "Statements": [
            {
              "LabelMatchStatement": {
                "Scope": "LABEL",
                "Key": "awswaf:clientip:geo:country:US"
              }
            },
            {
              "NotStatement": {
                "Statement": {
                  "LabelMatchStatement": {
                    "Scope": "LABEL",
                    "Key": "awswaf:clientip:geo:region:US-OR"
                  }
                }
              }
            }
          ]
        }
      }
    }
  },
  "Action": {
    "Block": {}
  },
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "rateLimitUSNotOR"
  }
}
```

# Instrucción de regla de coincidencia de conjuntos de IP
<a name="waf-rule-statement-type-ipset-match"></a>

En esta sección, se explica qué es una instrucción de coincidencia de un conjunto de IP y cómo funciona.

La instrucción de coincidencia de conjuntos de IP inspecciona la dirección IP del origen de una solicitud web con un conjunto de direcciones IP y rangos de direcciones. Utilice esta opción para permitir o bloquear solicitudes web en función de las direcciones IP donde se originan las solicitudes. De forma predeterminada, AWS WAF usa la dirección IP del origen de la solicitud web, pero puede configurar la regla para que use un encabezado HTTP como `X-Forwarded-For` en su lugar. 



AWS WAF admite todos los rangos IPv4 y IPv6 CIDR excepto`/0`. Para obtener más información acerca de la notación CIDR, consulte la entrada de la Wikipedia [Classless Inter-Domain Routing](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing). Un conjunto de IP puede contener hasta 10 000 direcciones IP o rangos de direcciones IP para comprobarlos.

**nota**  
Cada regla de coincidencia de conjuntos de IP hace referencia a un conjunto de IP, que se crea y mantiene independientemente de las reglas. Puede utilizar un único conjunto de direcciones IP en varias reglas y, al actualizar el conjunto al que se hace referencia, se AWS WAF actualizan automáticamente todas las reglas que hacen referencia a él.   
Para obtener información acerca de cómo se crea y se administra un conjunto de IP, consulte [Creación y administración de un conjunto de IP en AWS WAF](waf-ip-set-managing.md).

Cuando agregue o actualice las reglas en su grupo de reglas o paquete de protección (ACL web), elija la opción **Conjunto de IP** y seleccione el nombre del conjunto de IP que desea usar. 

## Características de la instrucción de reglas
<a name="ipset-match-characteristics"></a>

**Se puede anidar**: puede anidar este tipo de instrucción. 

**WCUs**— 1 WCU para la mayoría. Si configura la instrucción para usar direcciones IP reenviadas y especifica una posición de ANY, aumente el uso de las WCU en 4.

Esta instrucción utiliza la siguiente configuración: 
+ **Especificación de conjunto de IP**: elija el conjunto de IP que desea utilizar de la lista o cree uno nuevo. 
+ **(Opcional) Configuración de IP reenviada**: un nombre de encabezado de IP reenviado alternativo para usar en lugar del origen de la solicitud. Debe indicar si debe coincidir con la primera, la última o con cualquier otra dirección del encabezado. También puede especificar un comportamiento alternativo para aplicar a una solicitud web con una dirección IP malformada en la cabecera especificada. El comportamiento alternativo establece que el resultado de la solicitud coincide o no coincide. Para obtener más información, consulte [Uso de direcciones IP reenviadas](waf-rule-statement-forwarded-ip-address.md). 

## Dónde encontrar esta instrucción de regla
<a name="ipset-match-where-to-find"></a>

**Dónde encontrar esta instrucción de regla**
+ **Generador de reglas** en la consola: En **Opción de la solicitud**, elija **Se origina desde una dirección IP de**.
+ Página **Añadir mis propias reglas y grupos de reglas** de la consola: elija la opción **Conjunto de IP**.
+ **API**: [IPSetReferenceStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_IPSetReferenceStatement.html)

# Declaración de coincidencia de número de sistema autónomo (ASN)
<a name="waf-rule-statement-type-asn-match"></a>

Una declaración de la regla de coincidencia de ASN AWS WAF permite inspeccionar el tráfico web en función del número de sistema autónomo (ASN) asociado a la dirección IP de la solicitud. ASNs son identificadores únicos que se asignan a grandes redes de Internet administradas por organizaciones como proveedores de servicios de Internet, empresas, universidades o agencias gubernamentales. Mediante declaraciones de coincidencia de ASN, usted puede permitir o bloquear tráfico de organizaciones de red específicas sin tener que administrar direcciones IP individuales. Este enfoque ofrece una forma más estable y eficiente de controlar el acceso en comparación con las reglas basadas en IP, ya que ASNs cambian con menos frecuencia que los rangos de IP. 

La coincidencia de ASN es especialmente útil en escenarios como bloquear tráfico de redes problemáticas conocidas o permitir acceso solo desde redes asociadas confiables. La sentencia ASN Match proporciona flexibilidad a la hora de determinar la dirección IP del cliente mediante una configuración de IP reenviada opcional, lo que la hace compatible con diversas configuraciones de red, incluidas las que utilizan redes de entrega de contenido (CDNs) o proxies inversos.

**nota**  
La coincidencia de ASN complementa, pero no reemplaza, los controles estándar de autenticación y autorización. Recomendamos implementar mecanismos de autenticación y autorización, como IAM, para verificar la identidad de todas las solicitudes en sus aplicaciones.

## Cómo funciona la declaración de coincidencia de ASN
<a name="waf-rule-statement-type-asn-match-how-it-works"></a>

AWS WAF determina el ASN de una solicitud en función de su dirección IP. De forma predeterminada, AWS WAF utiliza la dirección IP del origen de la solicitud web. Puedes configurarlo AWS WAF para usar una dirección IP de un encabezado de solicitud alternativo, por ejemplo`X-Forwarded-For`, habilitando la configuración de IP reenviada en la configuración de la declaración de reglas.

La sentencia de coincidencia de ASN compara el ASN de la solicitud con la lista ASNs especificada en la regla. Si el ASN coincide con uno de la lista, la declaración se evalúa como verdadera y se aplica la acción de regla asociada.

### Manejo de datos no mapeados ASNs
<a name="waf-rule-statement-type-asn-match-unmapped"></a>

Si AWS WAF no puede determinar un ASN para una dirección IP válida, asigna el ASN 0. Puede incluir el ASN 0 en su regla para manejar estos casos de forma explícita.

### Comportamiento de reserva para direcciones IP no válidas
<a name="waf-rule-statement-type-asn-match-fallback"></a>

Cuando configura la declaración de coincidencia de ASN para usar direcciones IP reenviadas, puede especificar un comportamiento de reserva de *Coincide* o *No coincide* para solicitudes con direcciones IP no válidas o ausentes en el encabezado designado.

## Características de la instrucción de reglas
<a name="waf-rule-statement-type-asn-match-characteristics"></a>

**Se puede anidar**: puede anidar este tipo de instrucción. 

**WCUs**— 1 WCU

Esta instrucción utiliza la siguiente configuración:
+ **Lista de ASN**: una matriz de números ASN para comparar en una coincidencia de ASN. Los valores válidos oscilan entre 0 y 4294967295. Puede especificar hasta 100 ASNs para cada regla.
+ **(Opcional) Configuración de IP reenviada**: de forma predeterminada, AWS WAF utiliza la dirección IP del origen de la solicitud web para determinar el ASN. Como puede configurar la regla para usar una IP reenviada en un encabezado HTTP como `X-Forwarded-For`. Debe indicar si desea usar la primera, la última o cualquier dirección del encabezado. Con esta configuración, también se especifica un comportamiento alternativo para aplicarlo a una solicitud web con una dirección IP con un formato incorrecto en el encabezado. El comportamiento alternativo establece que el resultado de la solicitud coincide o no coincide. Para obtener más información, consulte [Uso de direcciones IP reenviadas](https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-forwarded-ip-address.html).

## Dónde encontrar esta instrucción de regla
<a name="waf-rule-statement-type-asn-match-where-to-find"></a>
+ **Generador de reglas** en la consola: en **Opción de la solicitud**, elija **Se origina desde un ASN en**.
+ **API**: [AsnMatchStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_AsnMatchStatement.html)

## Ejemplos
<a name="waf-rule-statement-type-asn-match-examples"></a>

Este ejemplo bloquea las solicitudes que se originan en dos direcciones específicas ASNs derivadas de un `X-Forwarded-For` encabezado. Si la dirección IP del encabezado está mal formada, el comportamiento de reserva configurado es `NO_MATCH`.

```
{
  "Action": {
    "Block": {}
  },
  "Name": "AsnMatchStatementRule",
  "Priority": 1,
  "Statement": {
    "AsnMatchStatement": {
      "AsnList": [64496, 64500]
    },
    "ForwardedIPConfig": {
      "FallbackBehavior": "NO_MATCH",
      "HeaderName": "X-Forwarded-For"
    }
  },
  "VisibilityConfig": {
    "CloudWatchMetricsEnabled": true,
    "MetricName": "AsnMatchRuleMetrics",
    "SampledRequestsEnabled": true
  }
},
"VisibilityConfig": {
  "CloudWatchMetricsEnabled": true,
  "MetricName": "WebAclMetrics",
  "SampledRequestsEnabled": true
}
}
```

# Instrucción de regla de coincidencia de etiquetas
<a name="waf-rule-statement-type-label-match"></a>

En esta sección se explica qué es una instrucción de concordancia de etiquetas y cómo funciona.

La instrucción de coincidencia de etiquetas inspecciona las etiquetas que se encuentran en la solicitud web comparándolas con una especificación de cadena. Las etiquetas que una regla puede inspeccionar son las que ya se han agregado a la solicitud web mediante otras reglas en la misma evaluación del paquete de protección (ACL web). 

Las etiquetas no persisten fuera de la evaluación del paquete de protección (ACL web), pero puede acceder a las métricas de las etiquetas CloudWatch y ver los resúmenes de la información de las etiquetas de cualquier paquete de protección (ACL web) en la AWS WAF consola. Para obtener más información, consulte [Etiquetar métricas y dimensiones](waf-metrics.md#waf-metrics-label) y [Supervisión y ajuste de sus AWS WAF protecciones](web-acl-testing-activities.md). También se pueden ver etiquetas en los registros. Para obtener información, consulte [Campos de registro para el tráfico del paquete de protección (ACL web)](logging-fields.md).

**nota**  
Una instrucción de coincidencia de etiquetas solamente puede ver las etiquetas de las reglas que se hayan evaluado anteriormente en el paquete de protección (ACL web). Para obtener información sobre cómo AWS WAF se evalúan las reglas y los grupos de reglas de un paquete de protección (ACL web), consulte. [Cómo establecer la prioridad de las reglas](web-acl-processing-order.md)

Para obtener más información sobre cómo agregar etiquetas y hacer que coincidan, consulte [Etiquetado de solicitudes web en AWS WAF](waf-labels.md).

## Características de la instrucción de reglas
<a name="label-match-characteristics"></a>

**Se puede anidar**: puede anidar este tipo de instrucción. 

**WCUs**— 1 WCU

Esta instrucción utiliza la siguiente configuración: 
+ **Alcance de coincidencia**: configúrelo en **Etiqueta** para que coincida con el nombre de la etiqueta y, si lo desea, con los espacios de nombres y el prefijo anteriores. Configúrelo en **Espacio de nombres** para que coincida con algunas o todas las especificaciones del espacio de nombres y, opcionalmente, con el prefijo anterior. 
+ **Clave**: la cadena con la que desea hacer coincidir. Si especifica un alcance de coincidencia de espacio de nombres, solo debe especificar los espacios de nombres y, opcionalmente, el prefijo, con dos puntos al final. Si especifica un alcance de coincidencia de etiquetas, este debe incluir el nombre de la etiqueta y, de forma opcional, puede incluir los espacios de nombres y el prefijo anteriores. 

Para obtener más información sobre estas opciones, consulte [AWS WAF reglas que coinciden con las etiquetas](waf-rule-label-match.md) y [AWS WAF ejemplos de concordancia de etiquetas](waf-rule-label-match-examples.md).

## Dónde encontrar esta instrucción de regla
<a name="label-match-where-to-find"></a>
+ **Generador de reglas** en la consola: En **Opción de la solicitud**, elija **Tiene etiqueta**.
+ **API**: [LabelMatchStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_LabelMatchStatement.html)

# Instrucción de regla de coincidencia de expresiones regulares
<a name="waf-rule-statement-type-regex-match"></a>

En esta sección se explica qué es una instrucción de coincidencia de expresiones regulares y cómo funciona.

Una sentencia de coincidencia de expresiones regulares indica que se debe AWS WAF hacer coincidir un componente de solicitud con una sola expresión regular (regex). Una solicitud web coincide con la instrucción si el componente de la solicitud coincide con la regex que especificó. 

Este tipo de instrucción es una buena alternativa [Instrucción de regla de coincidencia de conjuntos de patrones de regex](waf-rule-statement-type-regex-pattern-set-match.md) para las situaciones en las que desee combinar los criterios de coincidencia mediante la lógica matemática. Por ejemplo, si desea que un componente de la solicitud coincida con algunos patrones de regex y no con otros, puede combinar las instrucciones de coincidencia de regex utilizando [Instrucción de reglas de AND](waf-rule-statement-type-and.md) y [Instrucción de reglas de NOT](waf-rule-statement-type-not.md). 

AWS WAF admite la sintaxis de patrones utilizada por la biblioteca PCRE con algunas excepciones. `libpcre` La biblioteca está documentada en [PCRE, expresiones regulares compatibles con Perl](http://www.pcre.org/). Para obtener información sobre el AWS WAF soporte, consulte[Sintaxis de expresiones regulares admitida en AWS WAF](waf-regex-pattern-support.md).

## Características de la instrucción de reglas
<a name="regex-match-characteristics"></a>

**Se puede anidar**: puede anidar este tipo de instrucción. 

**WCUs**— 3 WCUs, como coste base. Si utiliza el componente de solicitud **Todos los parámetros de consulta**, añada 10 WCUs. Si utiliza el **cuerpo JSON** del componente de solicitud, duplique el coste base WCUs. Por cada **transformación de texto** que aplique, añada 10 WCUs.

Este tipo de instrucción funciona en un componente de solicitud web y requiere la siguiente configuración del componente de la solicitud: 
+ **Componente de solicitud**: la parte de la solicitud web que se va a inspeccionar, por ejemplo, una cadena de consulta o el cuerpo.
**aviso**  
Si inspeccionas el cuerpo, el **cuerpo** de **JSON**, **los encabezados** o **las cookies** de los componentes de la solicitud, consulta las limitaciones en cuanto a la cantidad de contenido que AWS WAF se puede inspeccionar. [Sobredimensionar los componentes de las solicitudes web en AWS WAF](waf-oversize-request-components.md) 

  Para obtener información sobre los componentes de la solicitud web, consulte [Ajustar la configuración de la declaración de reglas en AWS WAF](waf-rule-statement-fields.md).
+ Transformaciones de **texto opcionales: transformaciones** que desea AWS WAF realizar en el componente de la solicitud antes de inspeccionarlo. Por ejemplo, puede convertir a minúsculas o normalizar el espacio en blanco. Si especifica más de una transformación, las AWS WAF procesa en el orden indicado. Para obtener información, consulte [Uso de transformaciones de texto en AWS WAF](waf-rule-statement-transformation.md).

## Dónde encontrar esta instrucción de regla
<a name="regex-match-where-to-find"></a>
+ **Generador de reglas** en la consola: en **Tipo de coincidencia**, seleccione **Coincide con expresión regular**.
+ **API**: [RegexMatchStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_RegexMatchStatement.html)

# Instrucción de regla de coincidencia de conjuntos de patrones de regex
<a name="waf-rule-statement-type-regex-pattern-set-match"></a>

En esta sección se explica qué es una instrucción de coincidencia de conjuntos de patrones de expresiones regulares y cómo funciona.

La comparación del conjunto de patrones de expresiones regulares inspecciona la parte de la solicitud web que especifica para los patrones de expresiones regulares que ha especificado en un conjunto de patrones de expresiones regulares.

AWS WAF admite la sintaxis de patrones utilizada por la biblioteca PCRE `libpcre` con algunas excepciones. La biblioteca está documentada en [PCRE, expresiones regulares compatibles con Perl](http://www.pcre.org/). Para obtener información sobre el AWS WAF soporte, consulte[Sintaxis de expresiones regulares admitida en AWS WAF](waf-regex-pattern-support.md).

**nota**  
Cada regla de coincidencia de conjuntos de patrones de regex hace referencia a un conjunto de patrones de regex, que se crea y mantiene independientemente de las reglas. Puede utilizar un único conjunto de patrones de expresiones regulares en varias reglas y, al actualizar el conjunto al que se hace referencia, se AWS WAF actualizan automáticamente todas las reglas que hacen referencia a él.   
Para obtener más información acerca de cómo se crea y administra un conjunto de patrones regex, consulte [Creación y administración de un conjunto de patrones de expresiones regulares en AWS WAF](waf-regex-pattern-set-managing.md).

Una sentencia de coincidencia de conjuntos de patrones de expresiones regulares indica AWS WAF que hay que buscar cualquiera de los patrones del conjunto dentro del componente de solicitud que elija. Una solicitud web coincidirá con la instrucción de la regla del conjunto de patrones si el componente de la solicitud coincide con cualquiera de los patrones del conjunto. 

Si desea combinar sus coincidencias de patrones de regex utilizando la lógica, por ejemplo, para que coincidan con algunas expresiones regulares y no con otras, considere la posibilidad de utilizar [Instrucción de regla de coincidencia de expresiones regulares](waf-rule-statement-type-regex-match.md). 

## Características de la instrucción de reglas
<a name="regex-pattern-set-match-characteristics"></a>

**Se puede anidar**: puede anidar este tipo de instrucción. 

**WCUs**— 25 WCUs, como coste base. Si utiliza el componente de solicitud **Todos los parámetros de consulta**, añada 10 WCUs. Si utiliza el **cuerpo JSON** del componente de solicitud, duplique el coste base WCUs. Por cada **transformación de texto** que aplique, añada 10 WCUs.

Este tipo de instrucción funciona en un componente de solicitud web y requiere la siguiente configuración del componente de la solicitud: 
+ **Componente de solicitud**: la parte de la solicitud web que se va a inspeccionar, por ejemplo, una cadena de consulta o el cuerpo.
**aviso**  
Si inspeccionas el cuerpo, el **cuerpo** de **JSON**, **los encabezados** o **las cookies** de los componentes de la solicitud, consulta las limitaciones en cuanto a la cantidad de contenido que AWS WAF se puede inspeccionar. [Sobredimensionar los componentes de las solicitudes web en AWS WAF](waf-oversize-request-components.md) 

  Para obtener información sobre los componentes de la solicitud web, consulte [Ajustar la configuración de la declaración de reglas en AWS WAF](waf-rule-statement-fields.md).
+ Transformaciones de **texto opcionales: transformaciones** que desea AWS WAF realizar en el componente de la solicitud antes de inspeccionarlo. Por ejemplo, puede convertir a minúsculas o normalizar el espacio en blanco. Si especifica más de una transformación, las AWS WAF procesa en el orden indicado. Para obtener información, consulte [Uso de transformaciones de texto en AWS WAF](waf-rule-statement-transformation.md).

Esta instrucción requiere la siguiente configuración: 
+ Especificación de conjunto de patrones de regex: Elija el conjunto de patrones de regex que desea utilizar de la lista o cree uno nuevo. 

## Dónde encontrar esta instrucción de regla
<a name="regex-pattern-set-match-where-to-find"></a>
+ **Generador de reglas** en la consola: En **Tipo de coincidencia**, elija **Condición de coincidencia de cadena** > **Coincide con el patrón del conjunto de expresiones regulares**.
+ **API**: [RegexPatternSetReferenceStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_RegexPatternSetReferenceStatement.html)

# Instrucción de regla de restricción de tamaño
<a name="waf-rule-statement-type-size-constraint-match"></a>

En esta sección se explica qué es una instrucción de restricción de tamaño y cómo funciona.

Una declaración de restricción de tamaño compara el número de bytes que AWS WAF recibe un componente de solicitud web con el número que usted proporciona y coincide según sus criterios de comparación. 

El criterio de comparación es un operador como mayor que (>) o menor que (<). Por ejemplo, puede hacer coincidir las solicitudes que tienen una cadena de consulta con un tamaño superior a 100 bytes. 

Si inspecciona la ruta de URI, cualquier `/` en la ruta cuenta como un carácter. Por ejemplo, el `/logo.jpg` de la ruta del URI tiene nueve caracteres.

**nota**  
Esta instrucción solo inspecciona el tamaño del componente de la solicitud web. No inspecciona el contenido del componente. 

## Características de la instrucción de reglas
<a name="size-constraint-match-characteristics"></a>

**Se puede anidar**: puede anidar este tipo de instrucción. 

**WCUs**— 1 WCU, como coste base. Si utiliza el componente de solicitud **Todos los parámetros de consulta**, añada 10 WCUs. Si utiliza el **cuerpo JSON** del componente de solicitud, duplique el coste base WCUs. Por cada **transformación de texto** que aplique, añada 10 WCUs.

Este tipo de instrucción funciona en un componente de solicitud web y requiere la siguiente configuración del componente de la solicitud: 
+ **Componente de solicitud**: la parte de la solicitud web que se va a inspeccionar, por ejemplo, una cadena de consulta o el cuerpo. Para obtener información sobre los componentes de la solicitud web, consulte [Ajustar la configuración de la declaración de reglas en AWS WAF](waf-rule-statement-fields.md).

  Una instrucción de restricción de tamaño inspecciona solo el tamaño del componente después de aplicar cualquier transformación. No inspecciona el contenido del componente. 
+ Transformaciones de **texto opcionales: transformaciones** que desea AWS WAF realizar en el componente de la solicitud antes de inspeccionar su tamaño. Por ejemplo, puede comprimir espacios en blanco o decodificar entidades HTML. Si especifica más de una transformación, las AWS WAF procesa en el orden indicado. Para obtener información, consulte [Uso de transformaciones de texto en AWS WAF](waf-rule-statement-transformation.md).

Además, esta instrucción requiere la siguiente configuración: 
+ **Condición de coincidencia de tamaño**: indica el operador de comparación numérica que se utilizará para comparar el tamaño que proporciona con el componente de solicitud que ha elegido. Elija el operador de la lista.
+ **Tamaño**: el ajuste de tamaño, en bytes que se usará en la comparación. 

## Dónde encontrar esta instrucción de regla
<a name="size-constraint-match-where-to-find"></a>
+ **Generador de reglas** en la consola: En **Tipo de coincidencia**, en **Condición de coincidencia de tamaño**, elija la condición que quiere usar.
+ **API**: [SizeConstraintStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_SizeConstraintStatement.html)

# Instrucción de regla de ataques de inyecciones SQL
<a name="waf-rule-statement-type-sqli-match"></a>

En esta sección se explica qué es una instrucción de reglas de inyección de código SQL y cómo funciona.

Una instrucción de regla de inyección de código SQL inspecciona en busca de código SQL malicioso. Los atacantes insertan código SQL malicioso en solicitudes web con el objetivo de modificar su base de datos o extraer datos de ella.

## Características de la instrucción de reglas
<a name="sqli-match-characteristics"></a>

**Se puede anidar**: puede anidar este tipo de instrucción. 

**WCUs**— El coste base depende del nivel de sensibilidad establecido para la declaración de la regla: Low cuesta 20 y High 30. 

Si utiliza el componente de solicitud **Todos los parámetros de consulta**, añada 10 WCUs. Si utiliza el **cuerpo JSON** del componente de solicitud, duplique el coste base WCUs. Por cada **transformación de texto** que aplique, añada 10 WCUs.

Este tipo de instrucción funciona en un componente de solicitud web y requiere la siguiente configuración del componente de la solicitud: 
+ **Componente de solicitud**: la parte de la solicitud web que se va a inspeccionar, por ejemplo, una cadena de consulta o el cuerpo.
**aviso**  
Si inspeccionas el cuerpo, el **cuerpo** de **JSON**, **los encabezados** o **las cookies** de los componentes de la solicitud, consulta las limitaciones en cuanto a la cantidad de contenido que AWS WAF se puede inspeccionar. [Sobredimensionar los componentes de las solicitudes web en AWS WAF](waf-oversize-request-components.md) 

  Para obtener información sobre los componentes de la solicitud web, consulte [Ajustar la configuración de la declaración de reglas en AWS WAF](waf-rule-statement-fields.md).
+ Transformaciones de **texto opcionales: transformaciones** que desea AWS WAF realizar en el componente de la solicitud antes de inspeccionarlo. Por ejemplo, puede convertir a minúsculas o normalizar el espacio en blanco. Si especifica más de una transformación, las AWS WAF procesa en el orden indicado. Para obtener información, consulte [Uso de transformaciones de texto en AWS WAF](waf-rule-statement-transformation.md).

Además, esta instrucción requiere la siguiente configuración: 
+ **Nivel de sensibilidad**: esta configuración ajusta la sensibilidad de los criterios de coincidencia de las inyecciones de código SQL. Las opciones son LOW y HIGH. El ajuste predeterminado es LOW. 

  La configuración HIGH detecta más ataques de inyección de código SQL y es la configuración recomendada. Debido a la mayor sensibilidad, esta configuración genera más falsos positivos, especialmente si las solicitudes web suelen contener cadenas inusuales. Durante las pruebas y ajustes del paquete de protección (ACL web), es posible que tenga que esforzarse más para mitigar los falsos positivos. Para obtener información, consulte [Probando y ajustando sus AWS WAF protecciones](web-acl-testing.md). 

  La configuración más baja proporciona una detección de inyecciones de código SQL menos rigurosa, lo que también se traduce en menos falsos positivos. LOW puede ser una mejor opción para los recursos que tienen otras protecciones contra los ataques de inyección de código SQL o que tienen una baja tolerancia a los falsos positivos. 

## Dónde encontrar esta instrucción de regla
<a name="sqli-match-where-to-find"></a>
+ **Generador de reglas** en la consola: **Tipo de coincidencia**, elija **Condiciones de coincidencia de ataques** > **Contiene ataques de inyección de código SQL)**.
+ **API**: [SqliMatchStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_SqliMatchStatement.html)

# Instrucción de regla de coincidencia de cadenas
<a name="waf-rule-statement-type-string-match"></a>

En esta sección, se explica qué es una instrucción de coincidencia de cadena y cómo funciona.

Una sentencia de coincidencia de cadenas indica la cadena que AWS WAF desea buscar en una solicitud, en qué parte de la solicitud se va a buscar y cómo. Por ejemplo, puede buscar una cadena específica al inicio de cualquier cadena de consulta de la solicitud o como una coincidencia exacta para el encabezado `User-agent` de la solicitud. Normalmente, la cadena se compone de caracteres ASCII imprimibles, pero puede usar cualquier carácter comprendido entre los valores hexadecimales 0x00 y 0xFF (valores decimales 0 a 255). 

## Características de la instrucción de reglas
<a name="string-match-characteristics"></a>

**Se puede anidar**: puede anidar este tipo de instrucción. 

**WCUs**— El coste base depende del tipo de coincidencia que utilice.
+ **Coincide exactamente con la cadena**: 2 
+ **Comienza con la cadena**: 2 
+ **Acaba con la cadena**: 2 
+ **Contiene la cadena**: 10 
+ **Contiene la palabra**: 10 

Si utiliza el componente de solicitud **Todos los parámetros de consulta**, añada 10 WCUs. Si utiliza el **cuerpo JSON** del componente de solicitud, duplique el coste base WCUs. Por cada **transformación de texto** que aplique, añada 10 WCUs.

Este tipo de instrucción funciona en un componente de solicitud web y requiere la siguiente configuración del componente de la solicitud: 
+ **Componente de solicitud**: la parte de la solicitud web que se va a inspeccionar, por ejemplo, una cadena de consulta o el cuerpo.
**aviso**  
Si inspeccionas el cuerpo, el **cuerpo** de **JSON**, **los encabezados** o **las cookies** de los componentes de la solicitud, consulta las limitaciones en cuanto a la cantidad de contenido que AWS WAF se puede inspeccionar. [Sobredimensionar los componentes de las solicitudes web en AWS WAF](waf-oversize-request-components.md) 

  Para obtener información sobre los componentes de la solicitud web, consulte [Ajustar la configuración de la declaración de reglas en AWS WAF](waf-rule-statement-fields.md).
+ Transformaciones de **texto opcionales: transformaciones** que desea AWS WAF realizar en el componente de la solicitud antes de inspeccionarlo. Por ejemplo, puede convertir a minúsculas o normalizar el espacio en blanco. Si especifica más de una transformación, las AWS WAF procesa en el orden indicado. Para obtener información, consulte [Uso de transformaciones de texto en AWS WAF](waf-rule-statement-transformation.md).

Además, esta instrucción requiere la siguiente configuración: 
+ **Cadena que debe coincidir**: es la cadena que desea AWS WAF comparar con el componente de solicitud especificado. Normalmente, la cadena se compone de caracteres ASCII imprimibles, pero puede usar cualquier carácter comprendido entre los valores hexadecimales 0x00 y 0xFF (valores decimales 0 a 255).
+ **Condición de coincidencia de cadenas**: indica el tipo de búsqueda que AWS WAF desea realizar. 
  + **Coincide exactamente con la cadena**: la cadena y el valor del componente de la solicitud son idénticas.
  + **Empieza con la cadena**: la cadena aparece al principio del componente de solicitud. 
  + **Acaba con la cadena**: la cadena aparece al final del componente de solicitud. 
  + **Contiene la cadena**: la cadena aparece en cualquier parte del componente de la solicitud. 
  + **Contiene palabras**: la cadena que especifique debe aparecer en el componente de la solicitud. 

    Para esta opción, la cadena que especifique Solamente puede contener caracteres alfanuméricos o guion bajo (A-Z, a-z, 0-9 o \$1). 

    Debe cumplirse una de las siguientes condiciones para que la solicitud coincida: 
    + La cadena coincide exactamente con el valor del componente de solicitud, como el valor de un encabezado.
    + La cadena está al principio del componente de solicitud y le sigue un carácter que no es alfanumérico ni guion bajo (\$1), por ejemplo, `BadBot;`.
    + La cadena está al final del componente de solicitud y le precede un carácter que no es alfanumérico ni guion bajo (\$1), por ejemplo, `;BadBot`.
    + La cadena está en la mitad del componente de solicitud y va precedida y seguida de caracteres que no son alfanuméricos ni guion bajo (\$1), por ejemplo, `-BadBot;`.

## Dónde encontrar esta instrucción de regla
<a name="string-match-where-to-find"></a>
+ **Generador de reglas** en la consola: en **Tipo de coincidencia**, elija **Condición de coincidencia de cadena** y, a continuación, rellene las cadenas con las que quiere que coincida.
+ **API**: [ByteMatchStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_ByteMatchStatement.html)

# Instrucción de regla de ataques de scripting entre sitios
<a name="waf-rule-statement-type-xss-match"></a>

En esta sección se explica qué es una instrucción de ataque XSS (scripting entre sitios) y cómo funciona.

Una instrucción de ataque XSS busca scripts maliciosos en un componente de solicitud web. En un ataque de XSS, el atacante utiliza vulnerabilidades en un sitio web benigno como vehículo para inyectar scripts maliciosos del sitio de cliente en otros navegadores web legítimos. 

## Características de la instrucción de reglas
<a name="xss-match-characteristics"></a>

**Se puede anidar**: puede anidar este tipo de instrucción. 

**WCUs**— 40 WCUs, como coste base. Si utiliza el componente de solicitud **Todos los parámetros de consulta**, añada 10 WCUs. Si utiliza el **cuerpo JSON** del componente de solicitud, duplique el coste base WCUs. Por cada **transformación de texto** que aplique, añada 10 WCUs.

Este tipo de instrucción funciona en un componente de solicitud web y requiere la siguiente configuración del componente de la solicitud: 
+ **Componente de solicitud**: la parte de la solicitud web que se va a inspeccionar, por ejemplo, una cadena de consulta o el cuerpo.
**aviso**  
Si inspeccionas el cuerpo, el **cuerpo** de **JSON**, **los encabezados** o **las cookies** de los componentes de la solicitud, consulta las limitaciones en cuanto a la cantidad de contenido que AWS WAF se puede inspeccionar. [Sobredimensionar los componentes de las solicitudes web en AWS WAF](waf-oversize-request-components.md) 

  Para obtener información sobre los componentes de la solicitud web, consulte [Ajustar la configuración de la declaración de reglas en AWS WAF](waf-rule-statement-fields.md).
+ Transformaciones de **texto opcionales: transformaciones** que desea AWS WAF realizar en el componente de la solicitud antes de inspeccionarlo. Por ejemplo, puede convertir a minúsculas o normalizar el espacio en blanco. Si especifica más de una transformación, las AWS WAF procesa en el orden indicado. Para obtener información, consulte [Uso de transformaciones de texto en AWS WAF](waf-rule-statement-transformation.md).

## Dónde encontrar esta instrucción de regla
<a name="xss-match-where-to-find"></a>
+ **Generador de reglas** en la consola: En **Tipo de coincidencia**, elija **Condiciones de coincidencia de ataques** > **Contiene ataques de inyección de código XSS)**.
+ **API**: [XssMatchStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_XssMatchStatement.html)

# Uso de enunciados de reglas lógicas en AWS WAF
<a name="waf-rule-statements-logical"></a>

En esta sección, se explica qué es una instrucción de regla lógica y cómo funciona.

Las instrucciones de reglas lógicas le permiten combinar otras instrucciones o negar sus resultados. Cada instrucción de regla lógica necesita al menos una instrucción anidada.

Para combinar los resultados de las instrucciones de reglas, anide las instrucciones en instrucciones de reglas lógicas. 

Las instrucciones de reglas lógicas se pueden anidar. Puede anidarlas dentro de otras sentencias de reglas lógicas y utilizarlas en sentencias de ámbito reducido. Para obtener información sobre las instrucciones de restricción de acceso, consulte [Uso de declaraciones de alcance reducido en AWS WAF](waf-rule-scope-down-statements.md).

**nota**  
El editor visual de la consola admite un nivel de anidamiento de instrucciones de reglas, que funciona para muchas necesidades. Para anidar más niveles, edite la representación JSON de la regla en la consola o utilice la APIs. 

Esta tabla describe las instrucciones de regla lógica y proporciona pautas para calcular el uso de unidades de capacidad del paquete de protección (ACL web) (WCU) para cada una. Para obtener información sobre WCUs, consulte[Unidades de capacidad de ACL web (WCUs) en AWS WAF](aws-waf-capacity-units.md). 


| Instrucción lógica  | Description (Descripción) | WCUs | 
| --- | --- | --- | 
| [Lógica de AND](waf-rule-statement-type-and.md) | Combina instrucciones anidadas con lógica AND. | Se basa en instrucciones anidadas | 
|  [Lógica de NOT](waf-rule-statement-type-not.md)  |  Niega los resultados de una instrucción anidada.  |  Se basa en una instrucción anidada  | 
| [Lógica de OR](waf-rule-statement-type-or.md) | Combina instrucciones anidadas con lógica OR. | Se basa en instrucciones anidadas | 

# Instrucción de reglas de AND
<a name="waf-rule-statement-type-and"></a>

La instrucción de regla AND combina instrucciones anidadas con una operación AND lógica, por lo que todas las instrucciones anidadas deben coincidir para que la instrucción AND coincida. Requiere al menos dos instrucciones anidadas. 

## Características de la instrucción de reglas
<a name="and-rule-statement-characteristics"></a>

**Se puede anidar**: puede anidar este tipo de instrucción. 

**WCUs**— Depende de las declaraciones anidadas.

## Dónde encontrar esta instrucción de regla
<a name="and-rule-statement-where-to-find"></a>
+ **Generador de reglas** en la consola: en **Si una solicitud**, elija **coincide con todas las instrucciones (AND)** y, a continuación, rellene las instrucciones anidadas. 
+ **API**: [AndStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_AndStatement.html)

## Ejemplos
<a name="and-rule-statement-examples"></a>

La siguiente lista muestra el uso de AND y las instrucciones de regla lógica NOT para eliminar los falsos positivos de las coincidencias de una instrucción de ataque de inyección de código SQL. En este ejemplo, supongamos que podemos escribir una instrucción de coincidencia de un solo byte para que coincida con las solicitudes que generan falsos positivos. 

La instrucción AND coincide con las solicitudes que no coinciden con la instrucción de coincidencia de bytes y que sí coinciden con la instrucción de ataque de inyección de código SQL. 

```
{
      "Name": "SQLiExcludeFalsePositives",
      "Priority": 0,
      "Statement": {
        "AndStatement": {
          "Statements": [
            {
              "NotStatement": {
                "Statement": {
                  "ByteMatchStatement": {
                    "SearchString": "string identifying a false positive",
                    "FieldToMatch": {
                      "Body": {
                        "OversizeHandling": "MATCH"
                      }
                    },
                    "TextTransformations": [
                      {
                        "Priority": 0,
                        "Type": "NONE"
                      }
                    ],
                    "PositionalConstraint": "CONTAINS"
                  }
                }
              }
            },
            {
              "SqliMatchStatement": {
                "FieldToMatch": {
                  "Body": {
                    "OversizeHandling": "MATCH"
                  }
                },
                "TextTransformations": [
                  {
                    "Priority": 0,
                    "Type": "NONE"
                  }
                ]
              }
            }
          ]
        }
      },
      "Action": {
        "Block": {}
      },
      "VisibilityConfig": {
        "SampledRequestsEnabled": true,
        "CloudWatchMetricsEnabled": true,
        "MetricName": "SQLiExcludeFalsePositives"
      }
    }
```

Con el editor visual de reglas de la consola, puede anidar una instrucción no lógica o una instrucción NOT en una instrucción OR o AND. La anidación de la instrucción NOT se muestra en el ejemplo anterior. 

Con el editor visual de reglas de la consola, puede anidar la mayoría de las instrucciones anidables en una instrucción de regla lógica, como la que se muestra en el ejemplo anterior. No puede usar el editor visual para anidar instrucciones OR o AND. Para configurar este tipo de anidación, debe proporcionar la instrucción de la regla en JSON. Por ejemplo, la siguiente lista de reglas JSON incluye una instrucción OR anidada dentro de una instrucción AND. 

```
{
  "Name": "match_rule",
  "Priority": 0,
  "Statement": {
    "AndStatement": {
      "Statements": [
        {
          "LabelMatchStatement": {
            "Scope": "LABEL",
            "Key": "awswaf:managed:aws:bot-control:bot:category:monitoring"
          }
        },
        {
          "NotStatement": {
            "Statement": {
              "LabelMatchStatement": {
                "Scope": "LABEL",
                "Key": "awswaf:managed:aws:bot-control:bot:name:pingdom"
              }
            }
          }
        },
        {
          "OrStatement": {
            "Statements": [
              {
                "GeoMatchStatement": {
                  "CountryCodes": [
                    "JM",
                    "JP"
                  ]
                }
              },
              {
                "ByteMatchStatement": {
                  "SearchString": "JCountryString",
                  "FieldToMatch": {
                    "Body": {}
                  },
                  "TextTransformations": [
                    {
                      "Priority": 0,
                      "Type": "NONE"
                    }
                  ],
                  "PositionalConstraint": "CONTAINS"
                }
              }
            ]
          }
        }
      ]
    }
  },
  "Action": {
    "Block": {}
  },
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "match_rule"
  }
}
```

# Instrucción de reglas de NOT
<a name="waf-rule-statement-type-not"></a>

La instrucción de regla NOT niega lógicamente los resultados de una sola instrucción anidada, por lo que las instrucciones anidadas no deben coincidir para que la instrucción NOT coincida y viceversa. Requiere una instrucción anidada. 

Por ejemplo, si desea bloquear las solicitudes que no provienen de un país específico, cree una instrucción NOT con la acción establecida en bloquear y anide una instrucción de coincidencia geográfica que especifique el país. 

## Características de la instrucción de reglas
<a name="not-rule-statement-characteristics"></a>

**Se puede anidar**: puede anidar este tipo de instrucción. 

**WCUs**— Depende de la declaración anidada.

## Dónde encontrar esta instrucción de regla
<a name="not-rule-statement-where-to-find"></a>
+ **Generador de reglas** en la consola: en **Si una solicitud**, elija **no coincide con la instrucción (NOT)** y, a continuación, rellene las instrucciones anidadas.
+ **API**: [NotStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_NotStatement.html)

# Instrucción de reglas de OR
<a name="waf-rule-statement-type-or"></a>

La instrucción de regla OR combina instrucciones anidadas con lógica OR, por lo que una de las instrucciones anidadas debe coincidir para que la instrucción OR coincida. Requiere al menos dos instrucciones anidadas. 

Por ejemplo, si desea bloquear las solicitudes procedentes de un país específico o que contengan una cadena de consulta específica, puede crear una instrucción OR y anidar en ella una instrucción de coincidencia geográfica para el país y una instrucción de coincidencia de cadena para la cadena de consulta. 

Si, como alternativa, desea bloquear las solicitudes que *no* provienen de un país específico o que contengan una cadena de consulta específica, modifique la instrucción OR anterior para anidar la instrucción de coincidencia geográfica en un nivel inferior, dentro de una instrucción NOT. Este nivel de anidamiento requiere que utilice el formato JSON, ya que la consola solo admite un nivel de anidamiento.

## Características de la instrucción de reglas
<a name="or-rule-statement-characteristics"></a>

**Se puede anidar**: puede anidar este tipo de instrucción. 

**WCUs**— Depende de las declaraciones anidadas.

## Dónde encontrar esta instrucción de regla
<a name="or-rule-statement-where-to-find"></a>
+ **Generador de reglas** en la consola: en **Si una solicitud**, elija **coincide con al menos una de las instrucciones (OR)** y, a continuación, rellene las instrucciones anidadas. 
+ **API**: [OrStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_OrStatement.html)

**Ejemplos**  
La siguiente lista muestra el uso de OR para combinar otras dos instrucciones. La instrucción OR coincide si alguna de las instrucciones anidadas coincide. 

```
{
  "Name": "neitherOfTwo",
  "Priority": 1,
  "Action": {
    "Block": {}
  },
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "neitherOfTwo"
  },
  "Statement": {
    "OrStatement": {
      "Statements": [
        {
          "GeoMatchStatement": {
            "CountryCodes": [
              "CA"
            ]
          }
        },
        {
          "IPSetReferenceStatement": {
            "ARN": "arn:aws:wafv2:us-east-1:111111111111:regional/ipset/test-ip-set-22222222/33333333-4444-5555-6666-777777777777"
          }
        }
      ]
    }
  }
}
```

Con el editor visual de reglas de la consola, puede anidar la mayoría de las instrucciones anidables en una instrucción de regla lógica, pero no puede utilizar el editor visual para anidar instrucciones OR o AND. Para configurar este tipo de anidación, debe proporcionar la instrucción de la regla en JSON. Por ejemplo, la siguiente lista de reglas JSON incluye una instrucción OR anidada dentro de una instrucción AND. 

```
{
  "Name": "match_rule",
  "Priority": 0,
  "Statement": {
    "AndStatement": {
      "Statements": [
        {
          "LabelMatchStatement": {
            "Scope": "LABEL",
            "Key": "awswaf:managed:aws:bot-control:bot:category:monitoring"
          }
        },
        {
          "NotStatement": {
            "Statement": {
              "LabelMatchStatement": {
                "Scope": "LABEL",
                "Key": "awswaf:managed:aws:bot-control:bot:name:pingdom"
              }
            }
          }
        },
        {
          "OrStatement": {
            "Statements": [
              {
                "GeoMatchStatement": {
                  "CountryCodes": [
                    "JM",
                    "JP"
                  ]
                }
              },
              {
                "ByteMatchStatement": {
                  "SearchString": "JCountryString",
                  "FieldToMatch": {
                    "Body": {}
                  },
                  "TextTransformations": [
                    {
                      "Priority": 0,
                      "Type": "NONE"
                    }
                  ],
                  "PositionalConstraint": "CONTAINS"
                }
              }
            ]
          }
        }
      ]
    }
  },
  "Action": {
    "Block": {}
  },
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "match_rule"
  }
}
```

# Uso de declaraciones de reglas basadas en tasas en AWS WAF
<a name="waf-rule-statement-type-rate-based"></a>

En esta sección, se explica qué es una instrucción de regla basada en tasas y cómo funciona.

Una regla basada en tasas cuenta las solicitudes entrantes y las solicitudes de límites de tasa cuando llegan a una tasa demasiado rápida. La regla agrega las solicitudes según sus criterios, y cuenta y limita las tasas de las agrupaciones agregadas en función del intervalo de tiempo, los límites de solicitudes y la configuración de las acciones de la regla. 

**nota**  
También puedes limitar la frecuencia de las solicitudes web mediante el nivel de protección específico del grupo de reglas AWS gestionadas por el control de bots. El uso de este grupo de reglas administradas conlleva tarifas adicionales. Para obtener más información, consulte [Opciones para limitar las tasas en las reglas basadas en tasas y en las reglas específicas de control de bots](waf-rate-limiting-options.md). 

AWS WAF rastrea y administra las solicitudes web por separado para cada instancia de una regla basada en tarifas que utilices. Por ejemplo, si proporciona la misma configuración de reglas basadas en tarifas en dos sitios webACLs, cada una de las dos sentencias de regla representa una instancia independiente de la regla basada en tarifas y cada una de ellas recibe su propio seguimiento y administración. AWS WAF Si define una regla basada en tasas dentro de un grupo de reglas y, a continuación, usa ese grupo de reglas en varios lugares, cada uso crea una instancia independiente de la regla basada en tarifas que se basa en su propio seguimiento y administración. AWS WAF

**No se puede anidar**: no se puede anidar este tipo de instrucción en otras instrucciones. Puede incluirlo directamente en un paquete de protección (ACL web) o en un grupo de reglas. 

**Instrucción de restricción de acceso**: este tipo de regla utiliza una instrucción de restricción de acceso para restringir el alcance de las solicitudes que la regla rastrea y los límites de la tasa. La instrucción de alcance puede ser opcional u obligatoria, en función de las demás opciones de configuración de la regla. Los detalles se explican en esta sección. Para obtener información general sobre las instrucciones de restricción de acceso, consulte [Uso de declaraciones de alcance reducido en AWS WAF](waf-rule-scope-down-statements.md). 

**WCUs**— 2, como coste base. Para cada clave de agregación personalizada que especifique, añada 30 WCUs. Si utiliza una declaración de alcance reducido en la regla, calcule y añada la WCUs correspondiente.

**Dónde encontrar esta instrucción de regla**
+ **Generador de reglas** en el paquete de protección (ACL web), en la consola: en **Regla**, en **Tipo**, elija **Regla basada en tasas**.
+ **API**: [RateBasedStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_RateBasedStatement.html)

**Topics**
+ [Configuración de alto nivel de reglas basadas en tasas en AWS WAF](waf-rule-statement-type-rate-based-high-level-settings.md)
+ [Advertencias sobre reglas basadas en tarifas en AWS WAF](waf-rule-statement-type-rate-based-caveats.md)
+ [Agregar reglas basadas en tarifas en AWS WAF](waf-rule-statement-type-rate-based-aggregation-options.md)
+ [Recuentos e instancias de agregación de reglas basadas en tasas](waf-rule-statement-type-rate-based-aggregation-instances.md)
+ [Aplicar límites de velocidad a las solicitudes en AWS WAF](waf-rule-statement-type-rate-based-request-limiting.md)
+ [Ejemplos de reglas basadas en tarifas en AWS WAF](waf-rule-statement-type-rate-based-examples.md)
+ [Lista de direcciones IP cuyas tasas están limitada por reglas basadas en tasas](listing-managed-ips.md)

# Configuración de alto nivel de reglas basadas en tasas en AWS WAF
<a name="waf-rule-statement-type-rate-based-high-level-settings"></a>

La instrucción de regla basada en tasas utiliza las siguientes configuraciones de alto nivel: 
+ **Ventana de evaluación**: la cantidad de tiempo, en segundos, que AWS WAF debe incluir en sus recuentos de solicitudes, considerando el período anterior al tiempo actual. Por ejemplo, para un valor de 120, al AWS WAF comprobar la velocidad, cuenta las solicitudes de los 2 minutos inmediatamente anteriores a la hora actual. Los valores válidos son 60 (1 minuto), 120 (2 minutos), 300 (5 minutos) y 600 (10 minutos), y 300 (5 minutos) es el valor predeterminado. 

  Esta configuración no determina con qué frecuencia AWS WAF comprueba la velocidad, sino desde cuánto tiempo atrás se comprueba. AWS WAF realiza la comprobación de la tasa con frecuencia, con un tiempo que es independiente de la configuración de la ventana de evaluación. 
+ **Límite de frecuencia**: el número máximo de solicitudes que coinciden con sus criterios y que solo se AWS WAF deben registrar durante el período de evaluación especificado. El límite mínimo permitido es de 10. Cuando se supera este límite, se AWS WAF aplica la configuración de acciones de la regla a las solicitudes adicionales que coincidan con sus criterios. 

  AWS WAF aplica un límite de velocidad cercano al límite que hayas establecido, pero no garantiza una coincidencia exacta del límite. Para obtener más información, consulte [Advertencias sobre las reglas basadas en tasas](waf-rule-statement-type-rate-based-caveats.md). 
+ **Agregación de solicitudes**: los criterios de agregación que se utilizan en las solicitudes web exigen que la regla basada en tasas cuente y limite las tasas. El límite de tasa que establezca se aplica a cada instancia de agregación. Para más detalles, consulte [Agregado de reglas basadas en tasas](waf-rule-statement-type-rate-based-aggregation-options.md) y [Recuentos e instancias de agregación](waf-rule-statement-type-rate-based-aggregation-instances.md). 
+ **Acción**: la acción que se debe realizar cuando se solicita que la regla limite las tasas. Puede utilizar cualquier acción de regla excepto Allow. Por lo general, se establece a nivel de regla, pero tiene algunas restricciones y comportamientos que son específicos de las reglas basadas en tasas. Para obtener información general sobre las acciones de las reglas, consulte [Uso de acciones de reglas en AWS WAF](waf-rule-action.md). Para obtener información específica sobre la limitación de tasas, consulte [Aplicar límites de velocidad a las solicitudes en AWS WAF](waf-rule-statement-type-rate-based-request-limiting.md) en esta sección.
+ **Alcance de la inspección y limitación de la tasa**: puede reducir el alcance de las solicitudes que la instrucción basada en tasas rastrea y los límites de tasas añadiendo una instrucción de restricción de acceso. Si especifica una instrucción de restricción de acceso, la regla solo agrega, cuenta y limita las tasas de las solicitudes que coinciden con la instrucción de restricción de acceso. Si elige la opción de agregación de solicitudes **Contar todas**, se requiere la instrucción de restricción de acceso. Para obtener más información sobre las instrucciones de restricción de acceso, consulte [Instrucciones de restricción de acceso](waf-rule-scope-down-statements.md). 
+ **Configuración de IP reenviada (opcional)**: solo se usa si especifica la **dirección IP en el encabezado** de la agregación de solicitudes, ya sea por sí sola o como parte de la configuración de claves personalizadas. AWS WAF recupera la primera dirección IP del encabezado especificado y la utiliza como valor de agregación. Un encabezado común para este propósito es `X-Forwarded-For`, pero puede especificar cualquier encabezado. Para obtener más información, consulte [Uso de direcciones IP reenviadas](waf-rule-statement-forwarded-ip-address.md). 

# Advertencias sobre reglas basadas en tarifas en AWS WAF
<a name="waf-rule-statement-type-rate-based-caveats"></a>

En esta sección, se enumeran las advertencias relacionadas con el uso de reglas basadas en tasas.

AWS WAF La limitación de velocidad está diseñada para controlar las altas tasas de solicitudes y proteger la disponibilidad de la aplicación de la manera más eficiente y eficaz posible. No está diseñada para limitar de forma precisa la tasa de solicitudes. 
+ AWS WAF estima la tasa de solicitudes actual mediante un algoritmo que da más importancia a las solicitudes más recientes. Por este motivo, AWS WAF aplicará un límite de velocidad cercano al límite que hayas establecido, pero no garantiza una coincidencia exacta del límite. 
+ Cada vez que AWS WAF calcula la tasa de solicitudes, AWS WAF analiza el número de solicitudes recibidas durante el período de evaluación configurado. Debido a este y a otros factores, como los retrasos en la propagación, es posible que las solicitudes lleguen a una velocidad demasiado alta durante varios minutos antes de que las AWS WAF detecte y limite la frecuencia. Del mismo modo, la tasa de solicitudes puede estar por debajo del límite durante un periodo de tiempo antes de que AWS WAF detecte la disminución e interrumpa la acción de limitación de la tasa. Por lo general, este retraso es inferior a 30 segundos.
+ Si cambia alguna de las configuraciones del límite de la tasa en una regla que está en uso, el cambio restablece los recuentos de límites de la tasa de la regla. Esto puede detener las actividades de limitación de la tasa de la regla durante un máximo de un minuto. Los ajustes del límite de la tasa son la ventana de evaluación, el límite de velocidad, la configuración de agregación de solicitudes, la configuración de la dirección IP reenviada y el alcance de la inspección. 

# Agregar reglas basadas en tarifas en AWS WAF
<a name="waf-rule-statement-type-rate-based-aggregation-options"></a>

En esta sección, se explican las opciones para agregar solicitudes.

De forma predeterminada, una regla basada en tasas agrega y limita las tasas de las solicitudes en función de la dirección IP de la solicitud. Puede configurar la regla para que utilice otras claves de agregación y combinaciones de claves. Por ejemplo, puede agregar en función de una dirección IP reenviada, el método HTTP o un argumento de consulta. También puede especificar combinaciones de claves de agregación, como la dirección IP y el método HTTP, o los valores de dos cookies diferentes. 

**nota**  
Todos los componentes de la solicitud que especifique en la clave de agregación deben estar presentes en una solicitud web para que la solicitud se evalúe o se limite su tasa según la regla. 

Puede configurar la regla basada en tasas con las siguientes opciones de agregación. 
+ **Dirección IP de origen**: agregue usando solo la dirección IP del origen de la solicitud web. 

  Es posible que la dirección IP de origen no contenga la dirección del cliente de origen. Si una solicitud web pasa por uno o más proxies o equilibradores de carga, contendrá la dirección del último proxy. 
+ **Dirección IP en encabezado**: agregue solo una dirección de cliente en un encabezado HTTP. También se denomina dirección IP reenviada. 

  Con esta configuración, también se especifica un comportamiento alternativo para aplicarlo a una solicitud web con una dirección IP con un formato incorrecto en el encabezado. El comportamiento alternativo establece que el resultado de la solicitud coincide o no coincide. Si no hay coincidencia, la regla basada en tasas no cuenta ni limita la tasa de la solicitud. En caso de coincidencia, la regla basada en tasas agrupa la solicitud junto con otras solicitudes que tienen una dirección IP con formato incorrecto en el encabezado especificado. 

  Tenga cuidado con esta opción porque que los proxies pueden administrar los encabezados de forma incoherente y, además, pueden modificarse para evitar la inspección. Consulte [Uso de direcciones IP reenviadas en AWS WAF](waf-rule-statement-forwarded-ip-address.md) para obtener más información y las prácticas recomendadas.
+ **ASN**: agregue mediante un número de sistema autónomo (ASN) asociado a la dirección IP de origen como clave agregada. Es posible que no contenga la dirección del cliente de origen. Si una solicitud web pasa por uno o más proxies o equilibradores de carga, contendrá la dirección del último proxy. 

  Si no AWS WAF puede derivar un ASN de la dirección IP, cuenta el ASN como ASN 0. Si no quieres aplicar un límite de velocidad a los no mapeados ASNs, puedes crear una regla de alcance reducido que excluya las solicitudes con un ASN 0.
+ **ASN en encabezado**: agregue mediante un ASN asociado a solo una dirección IP de cliente en un encabezado HTTP. También se denomina dirección IP reenviada. Con esta configuración, también se especifica un comportamiento alternativo para aplicarlo a una solicitud web con una dirección IP no válida o con un formato incorrecto. El comportamiento alternativo establece que el resultado de la solicitud coincide o no coincide. Si configuras el comportamiento alternativo para que coincida con la configuración de IP reenviada, considerará la dirección IP no válida como un valor AWS WAF coincidente. Esto permite AWS WAF seguir evaluando las partes restantes de la clave compuesta de la regla basada en tasas. Si no hay coincidencia, la regla basada en tasas no cuenta ni limita la tasa de la solicitud. 

  Tenga cuidado con esta opción, ya que los proxies pueden gestionar los encabezados de forma incoherente y pueden modificarse para evitar la inspección. Consulte [Uso de direcciones IP reenviadas en AWS WAF](waf-rule-statement-forwarded-ip-address.md) para obtener más información y las prácticas recomendadas.
+ **Contar todas**: cuente y limite las tasas de todas las solicitudes que coincidan con la instrucción de restricción de acceso de la regla. Esta opción requiere una instrucción de restricción de acceso. Por lo general, se usa para limitar las tasas de un conjunto específico de solicitudes, como todas las solicitudes con una etiqueta específica o todas las solicitudes de un área geográfica específica. 
+ **Claves personalizadas**: agréguelas mediante una o más claves de agregación personalizadas. Para combinar cualquiera de las opciones de direcciones IP con otras claves de agregación, defínalas aquí en las claves personalizadas. 

  Las claves de agregación personalizadas son un subconjunto de las opciones de los componentes de solicitudes web que se describen en [Solicita componentes en AWS WAF](waf-rule-statement-fields-list.md).

  Las opciones principales son las siguientes. Excepto donde se indique lo contrario, puede usar una opción varias veces, por ejemplo, dos encabezados o tres espacios de nombres de etiquetas.
  + **Espacio de nombres de etiquetas**: utilice un espacio de nombres de etiquetas como una clave de agregación. Cada nombre de etiqueta totalmente cualificado que tenga el espacio de nombres de etiqueta especificado contribuye a la instancia de agregación. Si usa solo un espacio de nombres de etiquetas como clave personalizada, cada nombre de etiqueta define completamente una instancia de agregación.

    La regla basada en tasas solo usa las etiquetas que se han agregado a la solicitud mediante reglas que se han evaluado de antemano en el paquete de protección (ACL web).

    Para obtener información acerca de los espacios de nombres y los nombres de las etiquetas, consulte [Requisitos de nomenclatura y sintaxis de etiquetas en AWS WAF](waf-rule-label-requirements.md).
  + **Encabezado**: utilice un encabezado con nombre como clave de agregación. Cada valor distinto del encabezado contribuye a la instancia de agregación. 

    El encabezado realiza una transformación de texto opcional. Consulte [Uso de transformaciones de texto en AWS WAF](waf-rule-statement-transformation.md). 
  + **Cookie**: utilice una cookie con nombre como clave de agregación. Cada valor distinto de la cookie contribuye a la instancia de agregación. 

    La cookie realiza una transformación de texto opcional. Consulte [Uso de transformaciones de texto en AWS WAF](waf-rule-statement-transformation.md). 
  + **Argumento de consulta**: utilice un único argumento de consulta en la solicitud como clave de agregación. Cada valor distinto del argumento de consulta mencionado contribuye a la instancia de agregación. 

    El argumento de consulta realiza una transformación de texto opcional. Consulte [Uso de transformaciones de texto en AWS WAF](waf-rule-statement-transformation.md). 
  + **Cadena de consulta**: utilice toda la cadena de consulta de la solicitud como clave de agregación. Cada cadena de consulta distinta contribuye a la instancia de agregación. Puede usar este tipo de clave una vez. 

    La cadena de consulta realiza una transformación de texto opcional. Consulte [Uso de transformaciones de texto en AWS WAF](waf-rule-statement-transformation.md). 
  + **Ruta de URI**: use la ruta de URI de la solicitud como clave agregada. Cada ruta del URI diferente contribuye a la instancia de agregación. Puede usar este tipo de clave una vez. 

    La ruta del URI realiza una transformación de texto opcional. Consulte [Uso de transformaciones de texto en AWS WAF](waf-rule-statement-transformation.md). 
  + **JA3 huella digital**: utilice la JA3 huella digital de la solicitud como clave agregada. Cada JA3 huella digital distinta contribuye a la instancia de agregación. Puede usar este tipo de clave una vez. 
  + **JA4 huella digital**: usa la JA4 huella digital de la solicitud como clave agregada. Cada JA4 huella digital distinta contribuye a la instancia de agregación. Puede usar este tipo de clave una vez. 
  + **Método HTTP**: use el método HTTP de la solicitud como clave de agregación. Cada método de HTTP diferenciado contribuye a la instancia de agregación. Puede usar este tipo de clave una vez. 
  + **Dirección IP**: agregue usando la dirección IP del origen de la solicitud web en combinación con otras claves.

    Es posible que no contenga la dirección del cliente de origen. Si una solicitud web pasa por uno o más proxies o equilibradores de carga, contendrá la dirección del último proxy. 
  + **Dirección IP en el encabezado**: agregue la dirección del cliente en un encabezado HTTP en combinación con otras claves. También se denomina dirección IP reenviada. 

    Tenga cuidado con esta opción, ya que los proxies pueden gestionar los encabezados de forma incoherente y pueden modificarse para evitar la inspección. Consulte [Uso de direcciones IP reenviadas en AWS WAF](waf-rule-statement-forwarded-ip-address.md) para obtener más información y las prácticas recomendadas.

# Recuentos e instancias de agregación de reglas basadas en tasas
<a name="waf-rule-statement-type-rate-based-aggregation-instances"></a>

En esta sección, se explica cómo una regla basada en tasas evalúa las solicitudes web.

Cuando una regla basada en tasas evalúa las solicitudes web utilizando sus criterios de agregación, cada conjunto único de valores que la regla encuentra para las claves de agregación especificadas define una *instancia de agregación* única. 
+ **Varias claves**: si ha definido varias claves personalizadas, el valor de cada clave contribuye a la definición de la instancia de agregación. Cada combinación única de valores define una instancia de agregación. 
+ **Clave única**: si ha elegido una clave única, ya sea en las claves personalizadas o seleccionando una de las opciones de dirección IP única, cada valor único de la clave define una instancia de agregación. 
+ **Contar todas, sin claves**: si ha seleccionado la opción de agregación **Contar todas**, todas las solicitudes que la regla evalúe pertenecerán a una sola instancia de agregación de la regla. Esta opción requiere una instrucción de restricción de acceso.

 

Una regla basada en tasas cuenta las solicitudes web por separado para cada instancia de agregación que identifica. 

Por ejemplo, supongamos que una regla basada en tasas evalúa las solicitudes web con los siguientes valores de dirección IP y método HTTP: 
+ Dirección IP 10.1.1.1, método HTTP POST
+ Dirección IP 10.1.1.1, método HTTP GET
+ Dirección IP 127.0.0.0, método HTTP POST
+ Dirección IP 10.1.1.1, método HTTP GET

La regla crea distintas instancias de agregación según sus criterios de agregación. 
+ Si el criterio de agregación es solo la dirección IP, cada dirección IP individual es una instancia de agregación y AWS WAF cuenta las solicitudes por separado para cada una. Las instancias de agregación y los recuentos de solicitudes de nuestro ejemplo serían los siguientes: 
  + Dirección IP 10.1.1.1: recuento 3
  + Dirección IP 127.0.0.0: recuento 1
+ Si el criterio de agregación es el método HTTP, cada método HTTP individual es una instancia de agregación. Las instancias de agregación y los recuentos de solicitudes de nuestro ejemplo serían los siguientes: 
  + Método HTTP POST: recuento 2
  + Método HTTP GET: recuento 2
+ Si los criterios de agregación son la dirección IP y el método HTTP, cada dirección IP y cada método HTTP contribuirían a la instancia de agregación combinada. Las instancias de agregación y los recuentos de solicitudes de nuestro ejemplo serían los siguientes: 
  + Dirección IP 10.1.1.1, método HTTP POST: recuento 1
  + Dirección IP 10.1.1.1, método HTTP GET: recuento 2
  + Dirección IP 127.0.0.0, método HTTP POST: recuento 1

# Aplicar límites de velocidad a las solicitudes en AWS WAF
<a name="waf-rule-statement-type-rate-based-request-limiting"></a>

En esta sección, se explica cómo funciona el comportamiento limitante de las tasas en las reglas basadas en tasas.

El criterio que se AWS WAF utiliza para limitar las solicitudes de una regla basada en la tasa es el mismo que se AWS WAF utiliza para agregar las solicitudes de la regla. Si define una declaración de alcance reducido para la regla, AWS WAF solo agrega, cuenta y limita las solicitudes que coincidan con la declaración de alcance reducido. 

Los criterios de coincidencia que hacen que una regla basada en tasas aplique su configuración de acción de regla a una solicitud web específica son los siguientes: 
+ La solicitud web coincide con la instrucción de restricción de acceso de la regla, si se ha definido alguna.
+ La solicitud web pertenece a una instancia de agregación cuyo recuento de solicitudes supera actualmente el límite de la regla. 

**AWS WAF ¿Cómo se aplica la acción de la regla?**  
Cuando una regla basada en tasas aplica un límite de tasas a una solicitud, aplica la acción de la regla y, si ha definido alguna gestión o etiquetado personalizados en la especificación de la acción, la regla los aplica. Esta gestión de solicitudes es la misma que la forma en que una regla de coincidencia aplica su configuración de acciones a las solicitudes web coincidentes. Una regla basada en tasas solo aplica etiquetas o realiza otras acciones a las solicitudes cuya tasa está limitando activamente. 

Puede utilizar cualquier acción de regla excepto Allow. Para obtener información general sobre las acciones de las reglas, consulte [Uso de acciones de reglas en AWS WAF](waf-rule-action.md). 

La siguiente lista describe cómo funciona la limitación de tasas para cada una de las acciones.
+ **Block**— AWS WAF bloquea la solicitud y aplica cualquier comportamiento de bloqueo personalizado que hayas definido. 
+ **Count**— AWS WAF cuenta la solicitud, aplica los encabezados o etiquetas personalizados que haya definido y continúa con la evaluación de la solicitud mediante el paquete de protección (ACL web). 

  Esta acción no limita la tasa de solicitudes. Solo cuenta las solicitudes que superan el límite.
+ **CAPTCHA o Challenge**: AWS WAF gestiona la solicitud como Block o como Count, según el estado del token de la solicitud. 

  Esta acción no limita la tasa de solicitudes que tiene tókenes válidos. Limita la tasa de solicitudes que superan el límite y que, además, carecen de tókenes válidos.
  + Si la solicitud no tiene un token válido y vigente, la acción bloquea la solicitud y envía al cliente el rompecabezas de CAPTCHA o el desafío del navegador. 

    Si el navegador del usuario final o del cliente responde correctamente, el cliente recibe un token válido y reenvía automáticamente la solicitud original. Si el límite de velocidad para la instancia de agregación sigue en vigor, a esta nueva solicitud con el token válido y vigente se le aplicará la acción que se describe en el siguiente punto.
  + Si la solicitud tiene un token válido y vigente, la acción CAPTCHA o Challenge verifica el token y no realiza ninguna acción a la solicitud, similar a la acción Count. La regla basada en tasas devuelve la evaluación de la solicitud al paquete de protección (ACL web) sin tomar ninguna medida de finalización y el paquete de protección (ACL web) continúa con la evaluación de la solicitud.

  Para obtener información adicional, consulta [CAPTCHAy Challenge en AWS WAF](waf-captcha-and-challenge.md).

**Si limita la tasa solo a la dirección IP o la dirección IP reenviada**  
Al configurar la regla para limitar la tasa únicamente a la dirección IP reenviada, podrá recuperar la lista de direcciones IP que la regla está limitando actualmente. Si está utilizando una instrucción de restricción de acceso, las solicitudes que tienen una tasa limitada son solo las de la lista de direcciones IP que coinciden con la instrucción de restricción de acceso. Para obtener información sobre cómo recuperar la lista de direcciones IP, consulte [Lista de direcciones IP cuyas tasas están limitada por reglas basadas en tasas](listing-managed-ips.md).

# Ejemplos de reglas basadas en tarifas en AWS WAF
<a name="waf-rule-statement-type-rate-based-examples"></a>

En esta sección, se describen ejemplos de configuraciones para diversos casos de uso comunes de reglas basadas en tasas. 

Cada ejemplo proporciona una descripción del caso de uso y, a continuación, muestra la solución en las listas JSON para las reglas configuradas de forma personalizada. 

**nota**  
Las listas JSON que se muestran en estos ejemplos se crearon en la consola configurando la regla y, a continuación, editándola con el **Editor de reglas JSON**. 

**Topics**
+ [Limitación de las tasas de las solicitudes a una página de inicio de sesión](waf-rate-based-example-limit-login-page.md)
+ [Limitación de las tasas de las solicitudes a una página de inicio de sesión desde cualquier par de agente de usuario y dirección IP](waf-rate-based-example-limit-login-page-keys.md)
+ [Limitación de la tasas de las solicitudes a las que les falta un encabezado específico](waf-rate-based-example-limit-missing-header.md)
+ [Limitación de las tasas de las solicitudes con etiquetas específicas](waf-rate-based-example-limit-labels.md)
+ [Limitación de las tasas de las solicitudes de etiquetas que tienen un espacio de nombres de etiquetas específico](waf-rate-based-example-limit-label-aggregation.md)
+ [Limite la tarifa de las solicitudes con especificaciones ASNs](waf-rate-based-example-limit-asn.md)

# Limitación de las tasas de las solicitudes a una página de inicio de sesión
<a name="waf-rate-based-example-limit-login-page"></a>

Para limitar el número de solicitudes a la página de inicio de sesión de su sitio web sin que ello afecte al tráfico al resto del sitio, puede crear una regla basada en tasas con una instrucción de restricción de acceso que haga coincidir las solicitudes con la página de inicio de sesión y con la agregación de solicitudes establecida en **Contar todas**. 

La regla basada en la tasa contará todas las solicitudes de la página de inicio de sesión en una sola instancia de agregación y aplicará la acción de la regla a todas las solicitudes que coincidan con la declaración de alcance reducido cuando las solicitudes superen el límite.

En la siguiente lista de JSON, se muestra un ejemplo de esta configuración de reglas. La opción de agregación de contar todas aparece en JSON como configuración `CONSTANT`. En este ejemplo, la coincidencia es con las páginas de inicio de sesión que comienzan con `/login`. 

```
{
  "Name": "test-rbr",
  "Priority": 0,
  "Action": {
    "Block": {}
  },
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "test-rbr"
  },
  "Statement": {
    "RateBasedStatement": {
      "Limit": 1000,
      "EvaluationWindowSec": 300,
      "AggregateKeyType": "CONSTANT",
      "ScopeDownStatement": {
        "ByteMatchStatement": {
          "FieldToMatch": {
            "UriPath": {}
          },
          "PositionalConstraint": "STARTS_WITH",
          "SearchString": "/login",
          "TextTransformations": [
            {
              "Type": "NONE",
              "Priority": 0
            }
          ]
        }
      }
    }
  }
}
```

# Limitación de las tasas de las solicitudes a una página de inicio de sesión desde cualquier par de agente de usuario y dirección IP
<a name="waf-rate-based-example-limit-login-page-keys"></a>

Para limitar el número de solicitudes a la página de inicio de sesión de su sitio web para pares de agente de usuario y dirección IP que superen su límite, defina la agregación de solicitudes en **Claves personalizadas** y especifique los criterios de agregación. 

En la siguiente lista de JSON, se muestra un ejemplo de esta configuración de reglas. En este ejemplo, hemos establecido el límite en 100 solicitudes en un periodo de cinco minutos por par de agente de usuario y dirección IP. 

```
{
  "Name": "test-rbr",
  "Priority": 0,
  "Action": {
    "Block": {}
  },
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "test-rbr"
  },
  "Statement": {
    "RateBasedStatement": {
      "Limit": 100,
      "EvaluationWindowSec": 300,
      "AggregateKeyType": "CUSTOM_KEYS",
      "CustomKeys": [
        {
          "Header": {
            "Name": "User-Agent",
            "TextTransformations": [
              {
                "Priority": 0,
                "Type": "NONE"
              }
            ]
          }
        },
        {
          "IP": {}
        }
      ],
      "ScopeDownStatement": {
        "ByteMatchStatement": {
          "FieldToMatch": {
            "UriPath": {}
          },
          "PositionalConstraint": "STARTS_WITH",
          "SearchString": "/login",
          "TextTransformations": [
            {
              "Type": "NONE",
              "Priority": 0
            }
          ]
        }
      }
    }
  }
}
```

# Limitación de la tasas de las solicitudes a las que les falta un encabezado específico
<a name="waf-rate-based-example-limit-missing-header"></a>

Para limitar el número de solicitudes a las que les falta un encabezado específico, puede usar la opción de agregación **Contar todas** con una instrucción de restricción de acceso. Configure la instrucción de restricción de acceso con una instrucción lógica `NOT` que contenga una instrucción que demuestre ser verdadera solo si el encabezado existe y tiene un valor. 

En la siguiente lista de JSON, se muestra un ejemplo de esta configuración de reglas. 

```
{
  "Name": "test-rbr",
  "Priority": 0,
  "Action": {
    "Block": {}
  },
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "test-rbr"
  },
  "Statement": {
    "RateBasedStatement": {
      "Limit": 1000,
      "AggregateKeyType": "CONSTANT",
      "EvaluationWindowSec": 300,
      "ScopeDownStatement": {
        "NotStatement": {
          "Statement": {
            "SizeConstraintStatement": {
              "FieldToMatch": {
                "SingleHeader": {
                  "Name": "user-agent"
                }
              },
              "ComparisonOperator": "GT",
              "Size": 0,
              "TextTransformations": [
                {
                  "Type": "NONE",
                  "Priority": 0
                }
              ]
            }
          }
        }
      }
    }
  }
}
```

# Limitación de las tasas de las solicitudes con etiquetas específicas
<a name="waf-rate-based-example-limit-labels"></a>

Para limitar el número de solicitudes de diferentes categorías, puede combinar la limitación de tasas con cualquier regla o grupo de reglas que agregue etiquetas a las solicitudes. Para ello, configure su paquete de protección (ACL web) de la siguiente manera: 
+ Agregue las reglas o los grupos de reglas que agregan etiquetas y configúrelos para que no bloqueen ni permitan las solicitudes cuya tasa desea limitar. Si usa grupos de reglas administradas, es posible que deba anular algunas acciones de regla de los grupos de reglas Count para lograr este comportamiento. 
+ Agregue una regla basada en la tasa a su paquete de protección (ACL web) con una configuración de número de prioridad superior a la de las reglas de etiquetado y los grupos de reglas. AWS WAF evalúa las reglas en orden numérico, empezando por el más bajo, de modo que la regla basada en tasas se ejecute después de las reglas de etiquetado. Configure el límite de tasas en las etiquetas mediante una combinación de concordancia de etiquetas en la instrucción de restricción de acceso y agregación de etiquetas de la regla. 

En el siguiente ejemplo, se utiliza el grupo de reglas de reglas AWS gestionadas de la lista de reputaciones IP de Amazon. La regla del grupo de reglas `AWSManagedIPDDoSList` detecta y etiqueta las solicitudes de las que IPs se sabe que participan activamente en actividades DDo S. La acción de regla está configurada en Count en la definición del grupo de reglas. Para obtener más información acerca de este grupo de reglas, consulte [grupo de reglas administradas con lista de reputación de IP de Amazon](aws-managed-rule-groups-ip-rep.md#aws-managed-rule-groups-ip-rep-amazon).

La siguiente lista de JSON de paquete de protección (ACL web) usa el grupo de reglas de reputación de IP seguido de una regla basada en tasas de coincidencia de etiquetas. La regla basada en tasas utiliza una instrucción de restricción de acceso para filtrar las solicitudes que han sido marcadas por la regla del grupo de reglas. La instrucción de regla basada en tasas agrega y limita las tasas de las solicitudes filtradas por sus direcciones IP. 

```
{
  "Name": "test-web-acl",
  "Id": ... 
  "ARN": ...
  "DefaultAction": {
    "Allow": {}
  },
  "Description": "",
  "Rules": [
    {
      "Name": "AWS-AWSManagedRulesAmazonIpReputationList",
      "Priority": 0,
      "Statement": {
        "ManagedRuleGroupStatement": {
          "VendorName": "AWS",
          "Name": "AWSManagedRulesAmazonIpReputationList"
        }
      },
      "OverrideAction": {
        "None": {}
      },
      "VisibilityConfig": {
        "SampledRequestsEnabled": true,
        "CloudWatchMetricsEnabled": true,
        "MetricName": "AWS-AWSManagedRulesAmazonIpReputationList"
      }
    },
    {
      "Name": "test-rbr",
      "Priority": 1,
      "Statement": {
        "RateBasedStatement": {
          "Limit": 100,
          "EvaluationWindowSec": 300,
          "AggregateKeyType": "IP",
          "ScopeDownStatement": {
            "LabelMatchStatement": {
              "Scope": "LABEL",
              "Key": "awswaf:managed:aws:amazon-ip-list:AWSManagedIPDDoSList"
            }
          }
        }
      },
      "Action": {
        "Block": {}
      },
      "VisibilityConfig": {
        "SampledRequestsEnabled": true,
        "CloudWatchMetricsEnabled": true,
        "MetricName": "test-rbr"
      }
    }
  ],
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "test-web-acl"
  },
  "Capacity": 28,
  "ManagedByFirewallManager": false,
  "RetrofittedByFirewallManager": false,
  "LabelNamespace": "awswaf:0000000000:webacl:test-web-acl:"
}
```

# Limitación de las tasas de las solicitudes de etiquetas que tienen un espacio de nombres de etiquetas específico
<a name="waf-rate-based-example-limit-label-aggregation"></a>

**nota**  
Las reglas de nivel común del grupo de reglas administradas de control de bots agregan etiquetas para bots de distintas categorías, pero solo bloquean las solicitudes de bots no verificados. Para obtener información acerca de estas reglas, consulte [Listado de reglas de control de bots](aws-managed-rule-groups-bot.md#aws-managed-rule-groups-bot-rules).

Si utiliza el grupo de reglas administradas de control de bots, puede agregar un límite de tasas para las solicitudes de bots verificados individuales. Para ello, añada una regla basada en tasas que se ejecute después del grupo de reglas de control de bots y agregue las solicitudes por las etiquetas de los nombres de los bots. Especifique la clave de agregación del **Espacio de nombres de la etiqueta** y establezca la clave del espacio de nombres en `awswaf:managed:aws:bot-control:bot:name:`. Cada etiqueta única con el espacio de nombres especificado definirá una instancia de agregación. Por ejemplo, las etiquetas `awswaf:managed:aws:bot-control:bot:name:axios` y `awswaf:managed:aws:bot-control:bot:name:curl` definen una instancia de agregación.

En la siguiente lista JSON de paquete de protección (ACL web), se muestra un ejemplo de esta configuración de reglas. La regla de este ejemplo limita las solicitudes de cualquier instancia de agregación de bots a 1000 en un período de dos minutos. 

```
{
  "Name": "test-web-acl",
  "Id": ... 
  "ARN": ...
  "DefaultAction": {
    "Allow": {}
  },
  "Description": "",
  "Rules": [
    {
      "Name": "AWS-AWSManagedRulesBotControlRuleSet",
      "Priority": 0,
      "Statement": {
        "ManagedRuleGroupStatement": {
          "VendorName": "AWS",
          "Name": "AWSManagedRulesBotControlRuleSet",
          "ManagedRuleGroupConfigs": [
            {
              "AWSManagedRulesBotControlRuleSet": {
                "InspectionLevel": "COMMON"
              }
            }
          ]
        }
      },
      "OverrideAction": {
        "None": {}
      },
      "VisibilityConfig": {
        "SampledRequestsEnabled": true,
        "CloudWatchMetricsEnabled": true,
        "MetricName": "AWS-AWSManagedRulesBotControlRuleSet"
      }
    },
    {
      "Name": "test-rbr",
      "Priority": 1,
      "Statement": {
        "RateBasedStatement": {
          "Limit": 1000,
          "EvaluationWindowSec": 120,
          "AggregateKeyType": "CUSTOM_KEYS",
          "CustomKeys": [
            {
              "LabelNamespace": {
                "Namespace": "awswaf:managed:aws:bot-control:bot:name:"
              }
            }
          ]
        }
      },
      "Action": {
        "Block": {}
      },
      "VisibilityConfig": {
        "SampledRequestsEnabled": true,
        "CloudWatchMetricsEnabled": true,
        "MetricName": "test-rbr"
      }
    }
  ],
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "test-web-acl"
  },
  "Capacity": 82,
  "ManagedByFirewallManager": false,
  "RetrofittedByFirewallManager": false,
  "LabelNamespace": "awswaf:0000000000:webacl:test-web-acl:"
}
```

# Limite la tarifa de las solicitudes con especificaciones ASNs
<a name="waf-rate-based-example-limit-asn"></a>

Para limitar el número de solicitudes procedentes de números de sistemas autónomos específicos (ASNs) en función de la dirección IP de las solicitudes, defina la agregación de solicitudes en *claves personalizadas e indique* los criterios de agregación.

El siguiente JSON muestra un ejemplo de una agregación de reglas ASNs derivada de las direcciones IP reenviadas que se encuentran en el `X-Forwarded-For` encabezado. Si no AWS WAF puede derivar un ASN porque la dirección IP tiene un formato incorrecto, el comportamiento alternativo se establece en. `MATCH`

```
{
    "Name": "test-rbr",
    "Priority": 0,
    "Statement": {
        "RateBasedStatement": {
            "AggregateKeyType": "CUSTOM_KEYS",
            "CustomKeys": [
                {
                    "ASN": {}
                },
                {
                    "ForwardedIP": {}
                }
            ],
            "EvaluationWindowSec": 300,
            "ForwardedIPConfig": {
                "FallbackBehavior": "MATCH",
                "HeaderName": "X-Forwarded-For"
            },
            "Limit": 2000
        }
    },
    "VisibilityConfig": {
        "CloudWatchMetricsEnabled": true,
        "MetricName": "test-rbr",
        "SampledRequestsEnabled": true
    }
}
```

# Lista de direcciones IP cuyas tasas están limitada por reglas basadas en tasas
<a name="listing-managed-ips"></a>

En esta sección se explica cómo acceder a la lista de direcciones IP que actualmente tienen una velocidad limitada por una regla basada en la velocidad mediante la CLI, la API o cualquiera de las. SDKs 

Si tu regla basada en la velocidad solo agrega la dirección IP o la dirección IP reenviada, puedes recuperar la lista de direcciones IP a las que la regla limita la velocidad actualmente. AWS WAF almacena estas direcciones IP en la lista de claves administradas de la regla. 

**nota**  
Esta opción solo está disponible si se agrega solo la dirección IP o solo una dirección IP de un encabezado. Si utiliza la agregación de solicitudes de claves personalizadas, no podrá recuperar una lista de direcciones IP con tasas limitadas, aunque utilice una de las especificaciones de direcciones IP en sus claves personalizadas.

Una regla basada en tasas aplica su acción de regla a las solicitudes de la lista de claves administradas de la regla que coinciden con la instrucción de restricción de acceso de la regla. Cuando una regla no tiene una instrucción de restricción de acceso, aplica la acción a todas las solicitudes de las direcciones IP que figuran en la lista. La acción de regla es Block de forma predeterminada, pero puede ser cualquier acción de regla válida excepto Allow. El número máximo de direcciones IP que AWS WAF pueden limitar la velocidad mediante una única instancia de regla basada en la velocidad es de 10 000. Si más de 10 000 direcciones superan el límite de velocidad, AWS WAF limita las que tengan las tasas más altas. 

Puede acceder a la lista de claves administradas de una regla basada en tasas mediante la CLI, la API o cualquiera de las SDKs. En este tema se describe el acceso mediante la CLI y APIs. La consola no proporciona acceso a la lista en este momento. 

Para la AWS WAF API, el comando es [GetRateBasedStatementManagedKeys](https://docs.aws.amazon.com/waf/latest/APIReference/API_GetRateBasedStatementManagedKeys.html).

Para la AWS WAF CLI, el comando es [get-rate-based-statement-managed-keys](https://docs.aws.amazon.com/cli/latest/reference/wafv2/get-rate-based-statement-managed-keys.html). 

A continuación, se muestra la sintaxis para recuperar la lista de direcciones IP de velocidad limitada para una regla basada en la velocidad que se utiliza en un paquete de protección (ACL web) en una distribución de Amazon CloudFront .

```
aws wafv2 get-rate-based-statement-managed-keys --scope=CLOUDFRONT --region=us-east-1 --web-acl-name=WebACLName --web-acl-id=WebACLId --rule-name=RuleName
```

A continuación, se muestra la sintaxis de una aplicación regional, una API REST de Amazon API Gateway, una Application Load Balancer, una API de AWS AppSync GraphQL, un grupo de usuarios de Amazon Cognito, un AWS App Runner servicio o una instancia de acceso verificado AWS Amplify. AWS 

```
aws wafv2 get-rate-based-statement-managed-keys --scope=REGIONAL --region=region --web-acl-name=WebACLName --web-acl-id=WebACLId --rule-name=RuleName
```

AWS WAF supervisa las solicitudes web y administra las claves de forma independiente para cada combinación única de paquete de protección (ACL web), grupo de reglas opcional y regla basada en la velocidad. Por ejemplo, si define una regla basada en tasas dentro de un grupo de reglas y, a continuación, usa el grupo de reglas en un paquete de protección (ACL web), AWS WAF supervisa las solicitudes web y administra las claves de ese paquete de protección (ACL web), la instrucción de referencia del grupo de reglas y la instancia de regla basada en tasas. Si utiliza el mismo grupo de reglas en un segundo paquete de protección (ACL web), AWS WAF supervisa las solicitudes web y administra las claves para este segundo uso con total independencia del primero.

Para una regla basada en tasas que haya definido dentro de un grupo de reglas, debe proporcionar el nombre de la instrucción de referencia del grupo de reglas en su solicitud, además del nombre del paquete de protección (ACL web) y el nombre de la regla basada en tasas dentro del grupo de reglas. A continuación, se muestra la sintaxis de una aplicación regional en la que la regla basada en tasas se define dentro de un grupo de reglas y el grupo de reglas se usa en un paquete de protección (ACL web). 

```
aws wafv2 get-rate-based-statement-managed-keys --scope=REGIONAL --region=region --web-acl-name=WebACLName --web-acl-id=WebACLId --rule-group-rule-name=RuleGroupRuleName --rule-name=RuleName
```

# Uso de sentencias de reglas de grupos de reglas en AWS WAF
<a name="waf-rule-statements-rule-group"></a>

**nota**  
Las instrucciones de regla de los grupos de reglas no se pueden anidar. 

En esta sección, se describen las instrucciones de regla de los grupos de reglas que puede usar en su paquete de protección (ACL web). El propietario del grupo de reglas establece las unidades de capacidad (WCUs) del paquete de protección de grupos de reglas (ACL web) en el momento de la creación. Para obtener información al respecto WCUs, consulte[Unidades de capacidad de ACL web (WCUs) en AWS WAF](aws-waf-capacity-units.md). 


| Instrucción de grupo de reglas | Description (Descripción) | WCUs | 
| --- | --- | --- | 
|  [Uso de declaraciones de grupos de reglas administradas](waf-rule-statement-type-managed-rule-group.md)  |  Ejecuta las reglas definidas en el grupo de reglas administradas especificado.  Puede reducir el alcance de las solicitudes que evalúa el grupo de reglas agregando una instrucción de restricción de acceso.  No puede anidar una instrucción de grupo de reglas administradas dentro de una instrucción de otro tipo.  |  Definido por el grupo de reglas, más cualquier declaración adicional WCUs para una definición de alcance reducido.  | 
| [Uso de las instrucciones para los grupos de reglas](waf-rule-statement-type-rule-group.md) | Ejecuta las reglas definidas en un grupo de reglas que administra.  No puede agregar una instrucción de restricción de acceso a una instrucción de referencia del grupo de reglas para su propio grupo de reglas.  No puede anidar una instrucción de grupo de reglas dentro de una instrucción de otro tipo  | Defina el límite de WCU para el grupo de reglas al crearlo. | 

# Uso de sentencias de grupos de reglas gestionados en AWS WAF
<a name="waf-rule-statement-type-managed-rule-group"></a>

En esta sección se explica cómo funcionan las instrucciones de regla de los grupos de reglas administradas.

La instrucción de regla de grupo de reglas administradas añade una referencia de la lista de reglas del paquete de protección (ACL web) a un grupo de reglas administradas. Esta opción no aparece en las instrucciones de reglas de la consola. Sin embargo, cuando se trabaja con el formato JSON del paquete de protección (ACL web), los grupos de reglas administradas que haya agregado aparecen en las reglas del paquete de protección (ACL web) con este tipo.

Un grupo de reglas administrado puede ser un grupo de reglas AWS administradas, la mayoría de las cuales son gratuitas para AWS WAF los clientes, o un grupo de reglas AWS Marketplace administradas. Los grupos de reglas de pago de AWS Managed Rules se suscriben automáticamente cuando los agrega a su paquete de protección (ACL web). Puede suscribirse a los grupos de reglas AWS Marketplace gestionados a través de AWS Marketplace. Para obtener más información, consulte [Uso de grupos de reglas gestionados en AWS WAF](waf-managed-rule-groups.md).

Al agregar un grupo de reglas a un paquete de protección (ACL web), puede anular las acciones de las reglas del grupo de reglas para Count o para otra acción de la regla. Para obtener más información, consulte [Supervisar las acciones de un grupo de reglas en AWS WAF](web-acl-rule-group-override-options.md).

Puede reducir el alcance de las solicitudes que se AWS WAF evalúan con el grupo de reglas. Para ello, debe agregar una instrucción de restricción de acceso dentro de la instrucción del grupo de reglas. Para obtener información sobre las instrucciones de restricción de acceso, consulte [Uso de declaraciones de alcance reducido en AWS WAF](waf-rule-scope-down-statements.md). Esto puede ayudarlo a gestionar la forma en que el grupo de reglas afecta al tráfico y puede ayudarle a contener los costos asociados al volumen de tráfico cuando utiliza el grupo de reglas. Para obtener información y ejemplos sobre el uso de sentencias de alcance reducido con el grupo de reglas gestionado por AWS WAF Bot Control, consulte. [AWS WAF Control de bots](waf-bot-control.md)

## Características de la instrucción de reglas
<a name="managed-rule-group-rule-statement-characteristics"></a>

**No se puede anidar**: no se puede anidar este tipo de instrucción en otras instrucciones y no se puede incluir en ningún grupo de reglas. Puede incluirlo directamente en un paquete de protección (ACL web). 

**(Opcional) Instrucción de restricción de acceso**: este tipo de regla utiliza una instrucción de restricción de acceso opcional para restringir el acceso de las solicitudes que evalúa el grupo de reglas. Para obtener más información, consulte [Uso de declaraciones de alcance reducido en AWS WAF](waf-rule-scope-down-statements.md).

**WCUs**— Establézcalo para el grupo de reglas en el momento de la creación.

## Dónde encontrar esta instrucción de regla
<a name="managed-rule-group-rule-statement-where-to-find"></a>
+ **Consola**: durante el proceso de creación de un paquete de protección (ACL web), en la página **Añadir reglas y grupos de reglas**, elija **Añadir grupos de reglas administradas** y, a continuación, busque y seleccione el grupo de reglas que desea usar.
+ **API**: [ManagedRuleGroupStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_ManagedRuleGroupStatement.html)

# Uso de declaraciones de grupos de reglas en AWS WAF
<a name="waf-rule-statement-type-rule-group"></a>

En esta sección se explica cómo funcionan las instrucciones para los grupos de reglas.

La instrucción de regla de grupo de reglas añade una referencia de la lista de reglas del paquete de protección (ACL web) a un grupo de reglas que administra. Esta opción no aparece en las instrucciones de reglas de la consola. Sin embargo, cuando se trabaja con el formato JSON del paquete de protección (ACL web), cualquier grupo de reglas administradas que haya agregado aparece en las reglas del paquete de protección (ACL web) con este tipo. Para obtener información acerca de sus propios grupos de reglas, consulte [Administrar sus propios grupos de reglas](waf-user-created-rule-groups.md).

Al agregar un grupo de reglas a un paquete de protección (ACL web), puede anular las acciones de las reglas del grupo de reglas para Count o para otra acción de la regla. Para obtener más información, consulte [Supervisar las acciones de un grupo de reglas en AWS WAF](web-acl-rule-group-override-options.md).

## Características de la instrucción de reglas
<a name="rule-group-rule-statement-characteristics"></a>

**No se puede anidar**: no se puede anidar este tipo de instrucción en otras instrucciones y no se puede incluir en ningún grupo de reglas. Puede incluirlo directamente en un paquete de protección (ACL web). 

**WCUs**— Establézcalo para el grupo de reglas en el momento de la creación.

## Dónde encontrar esta instrucción de regla
<a name="rule-group-rule-statement-where-to-find"></a>
+ **Consola**: durante el proceso de creación de un paquete de protección (ACL web), en la página **Añadir reglas y grupos de reglas**, elija **Añadir mis propias reglas y grupos de reglas**, **Grupo de reglas** y, a continuación, agregue el grupo de reglas que desea usar.
+ **API**: [RuleGroupReferenceStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_RuleGroupReferenceStatement.html)