

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

# Trabajar con condiciones de coincidencia de regex
<a name="classic-web-acl-regex-conditions"></a>

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

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

Si desea permitir o bloquear las solicitudes web en función de las cadenas que coinciden con un patrón de expresión regular (regex) que aparece en las solicitudes, cree una o más condiciones de coincidencia de regex. Una condición de coincidencia de expresiones regulares es un tipo de condición de coincidencia de cadenas que identifica el patrón que desea buscar y la parte de las solicitudes web, como un encabezado específico o la cadena de consulta, que desea que AWS WAF Classic inspeccione para detectar el patrón. Más adelante, cuando cree una ACL web, puede especificar si desea permitir o bloquear las solicitudes que contienen el patrón.

**Topics**
+ [Crear una condición de coincidencia de regex](#classic-web-acl-regex-conditions-creating)
+ [Los valores que especifique al crear o editar las condiciones de RegEx coincidencia](#classic-web-acl-regex-conditions-values)
+ [Editar una condición de coincidencia de regex](#classic-web-acl-regex-conditions-editing)

## Crear una condición de coincidencia de regex
<a name="classic-web-acl-regex-conditions-creating"></a>

Al crear condiciones de coincidencia de regex, debe especificar conjuntos de patrones que identifican la cadena (con una expresión regular) que desea buscar. A continuación, añada esos conjuntos de patrones a los filtros que especifican la parte de las solicitudes web que desea que AWS WAF Classic inspeccione en busca de ese conjunto de patrones, como el URI o la cadena de consulta.

Puede añadir varias expresiones regulares a un único conjunto de patrones. Si lo hace, esas expresiones se combinan con un *OR*. Es decir, una solicitud web coincidirá con el conjunto de patrones si la parte correspondiente de la solicitud coincide con cualquiera de las expresiones que se enumeran.

Al añadir una condición de coincidencia de expresiones regulares a una regla, también puede configurar AWS WAF Classic para permitir o bloquear las solicitudes web que *no* coincidan con los valores de la condición.

AWS WAF Classic es compatible con la mayoría de las [expresiones regulares compatibles con Perl (PCRE) estándar](http://www.pcre.org/). Sin embargo, no se admiten las siguientes:
+ Referencias a elementos anteriores y subexpresiones de captura
+ Aserciones arbitrarias de ancho cero
+ Referencias de subrutinas y patrones recursivos
+ Patrones condicionales
+ Verbos de control de búsqueda de datos anteriores
+ La directiva \$1C de byte único
+ La directiva \$1R de coincidencia de nueva línea
+ El inicio \$1K de la directiva de restablecimiento de coincidencia
+ Llamadas y código incrustado
+ Cuantificadores atómicos de agrupamiento y posesivos<a name="classic-web-acl-regex-conditions-creating-procedure"></a>

**Para crear una condición de coincidencia de regex**

1. Inicie sesión en Consola de administración de AWS y abra la AWS WAF consola en. [https://console.aws.amazon.com/wafv2/](https://console.aws.amazon.com/wafv2/) 

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

1. En el panel de navegación, elija **String and regex matching (Coincidencia de cadenas y regex)**.

1. Elija **Create condition**.

1. Especifique la configuración de filtro aplicable. Para obtener más información, consulte [Los valores que especifique al crear o editar las condiciones de RegEx coincidencia](#classic-web-acl-regex-conditions-values).

1. Elija **Create pattern set and add filter (Crear conjunto de patrones y agregar filtro)** (si ha creado un nuevo conjunto de patrones) o **Add filter (Add filter)** si ha utilizado un conjunto de patrones existente.

1. Seleccione **Crear**.

## Los valores que especifique al crear o editar las condiciones de RegEx coincidencia
<a name="classic-web-acl-regex-conditions-values"></a>

Al crear o actualizar una condición de coincidencia de regex, debe especificar los siguientes valores: 

**Name**  
Escriba un nombre para la condición de coincidencia de regex. El nombre solo puede contener caracteres alfanuméricos (A-Z, a-z, 0-9) o los siguientes caracteres especiales: \$1-\$1"\$1`\$1\$1\$1,./. No se puede cambiar el nombre de una condición después de crearla.

**Tipo**  
Elija **Regex match**.

**Parte de la solicitud para filtrar en**  
Elija la parte de cada solicitud web que desee que AWS WAF Classic inspeccione para ver si **coincide con el patrón que especifique en Value**:    
**Encabezado**  
Un encabezado de solicitud específico, por ejemplo, el encabezado `User-Agent` o `Referer`. Si elige **Header**, indique el nombre del encabezado en el campo **Header**.  
**Método HTTP**  
El método HTTP indica el tipo de operación que la solicitud pide al origen que lleve a cabo. CloudFront admite los siguientes métodos: `DELETE`, `GET`, `HEAD`, `OPTIONS`, `PATCH`, `POST` y `PUT`.  
**Cadena de consulta**  
Es la parte de una URL que aparece después de un carácter `?`, si hay alguno.  
**URI**  
La ruta del URI de la solicitud, que identifica el recurso, por ejemplo, `/images/daily-ad.jpg`. Esto no incluye la cadena de consulta ni los componentes del fragmento del URI. Para obtener información, consulte [Identificador uniforme de recursos (URI): sintaxis genérica](https://tools.ietf.org/html/rfc3986#section-3.3).   
A menos que se especifique una **transformación**, el URI no se normaliza y se inspecciona justo cuando lo AWS recibe del cliente como parte de la solicitud. Una **transformación** reformateará el URI según se especifique.  
**Cuerpo**  
Es la parte de una solicitud que contiene los datos adicionales que desea enviar a su servidor web como cuerpo de la solicitud HTTP, por ejemplo, los datos de un formulario.  
Si, por el contrario, elige **Cuerpo** para el valor de **Parte de la consulta que se va a filtrar**, AWS WAF Classic solo inspeccionará los primeros 8192 bytes (8 KB). Para permitir o bloquear solicitudes cuyo cuerpo tenga más de 8192 bytes, puede crear una condición de restricción de tamaño. (AWS WAF Classic obtiene la longitud del cuerpo de los encabezados de las solicitudes). Para obtener más información, consulte [Trabajar con condiciones de restricción de tamaño](classic-web-acl-size-conditions.md).  
**Parámetro de consulta único (solo valor)**  
Cualquier parámetro que haya definido como parte de la cadena de consulta. Por ejemplo, si la URL es «www.xyz.com? UserName =abc& SalesRegion =seattle», puede añadir un filtro al parámetro o. *UserName*SalesRegion**   
Si hay parámetros duplicados en la cadena de consulta, los valores se evalúan como "OR". Es decir, ambos valores activarán una coincidencia. **Por ejemplo, en la URL «www.xyz.com? SalesRegion =boston& SalesRegion =seattle», un patrón que coincida con «boston» o «seattle» en Value to match activará una coincidencia.**  
Si elige **Single query parameter (value only) (Parámetro de consulta único [solo valor])**, también debe especificar un **Query parameter name (Nombre de parámetro de consulta)**. Este es el parámetro de la cadena de consulta que inspeccionará, como o. *UserName*SalesRegion** La longitud máxima del **Query parameter name (Nombre de parámetro de consulta)** es de 30 caracteres. **Query parameter name (Nombre de parámetro de consulta)** no distingue entre mayúsculas y minúsculas. Por ejemplo, si lo especificas *UserName*como **nombre del parámetro de consulta**, coincidirá con todas las variantes *UserName*, como *username* y *Us ERName*.  
**Todos los parámetros de consulta (solo valores)**  
Similar al **parámetro de consulta único (solo valor)**, pero en lugar de inspeccionar el valor de un solo parámetro, AWS WAF Classic inspecciona el valor de todos los parámetros de la cadena de consulta para ver si coincide con el patrón especificado en el **valor**. Por ejemplo, en la URL «www.xyz.com? UserName =abc& SalesRegion =seattle», un patrón de **Value to match que coincida con el valor de o provoque** una coincidencia. *UserName*SalesRegion**

**Encabezado (solo cuando "Parte de la solicitud para filtrar en" es "Encabezado")**  
Si seleccionó **Encabezado** de la **parte de la solicitud que desea filtrar en** la lista, elija un encabezado de la lista de encabezados comunes o introduzca el nombre del encabezado que desee que Classic inspeccione. AWS WAF 

**Transformación**  
Una transformación reformatea una solicitud web antes de que AWS WAF Classic la inspeccione. Esto elimina algunos de los formatos poco habituales que los atacantes utilizan en las solicitudes web para evitar AWS WAF la versión clásica.   
Solo puede especificar un único tipo de transformación de texto.  
Las transformaciones pueden realizar las siguientes operaciones:    
**Ninguno**  
AWS WAF Classic no realiza ninguna transformación de texto en la solicitud web antes de inspeccionarla para comprobar si **coincide con la cadena de Value**.  
**Cambiar a minúsculas**  
AWS WAF Classic convierte las letras mayúsculas (A-Z) en minúsculas (a-z).  
**Descodificar en HTML**  
AWS WAF La versión clásica reemplaza los caracteres codificados en HTML por caracteres no codificados:  
+ Sustituye `&quot;` por `&`
+ Sustituye `&nbsp;` por un espacio de no separación
+ Sustituye `&lt;` por `<`
+ Sustituye `&gt;` por `>`
+ Sustituye los caracteres representados con formato hexadecimal, `&#xhhhh;`, por los caracteres correspondientes
+ Sustituye los caracteres representados con formato decimal, `&#nnnn;`, por los caracteres correspondientes  
**Normalizar espacios en blanco**  
AWS WAF La versión clásica reemplaza los siguientes caracteres por un carácter de espacio (32 decimales):  
+ \$1f, salto de página, 12 decimales
+ \$1t, pestaña, 9 decimales
+ \$1n, línea nueva, 10 decimales
+ \$1r, salto de línea, 13 decimales
+ \$1v, pestaña vertical, 11 decimales
+ espacio de no separación, 160 decimales
Además, esta opción sustituye varios espacios por un espacio.  
**Simplificar la línea de comandos**  
Si le preocupa que un atacante inyecte un comando de la línea de comandos del sistema operativo y utilice un formato inusual para ocultar parte o todo el comando, utilice esta opción para realizar las siguientes transformaciones:  
+ Eliminar los siguientes caracteres: \$1 " ' ^
+ Eliminar los espacios delante de los siguientes caracteres: / (
+ Sustituir los siguientes caracteres por un espacio: , ;
+ Sustituir varios espacios por un espacio
+ Convertir las mayúsculas (A-Z) en minúsculas (a-z)  
**Descodificar la URL**  
Descodifique una solicitud de URL codificada.

**Patrón de expresión regular que coincide con la solicitud**  
Puede elegir un conjunto de patrones existente o crear uno nuevo. Si crea uno nuevo, especifique lo siguiente:    
Nombre del nuevo patrón  
Introduzca un nombre y, a continuación, especifique el patrón de expresiones regulares que desea que busque AWS WAF Classic.   
Si añade varias expresiones regulares a un conjunto de patrones, esas expresiones se combinan con un *OR*. Es decir, una solicitud web coincidirá con el conjunto de patrones si la parte correspondiente de la solicitud coincide con cualquiera de las expresiones que se enumeran.  
La longitud máxima de **Value to match (Valor que debe coincidir)** es 70 caracteres. 

## Editar una condición de coincidencia de regex
<a name="classic-web-acl-regex-conditions-editing"></a>

Puede realizar los siguientes cambios en una condición de coincidencia de regex existente:
+ Eliminar un patrón de un conjunto de patrones existentes
+ Añadir un patrón a un conjunto de patrones existentes
+ Eliminar un filtro para una condición de coincidencia de regex existente
+ Agregue un filtro a una condición de coincidencia de regex existente (solo puede tener un filtro en una condición de coincidencia de expresiones regulares; por tanto, para agregar un filtro, debe eliminar primero el filtro existente).
+ Eliminar una condición de coincidencia de regex existente

**nota**  
No puede añadir ni eliminar un conjunto de patrones de un filtro existente. Debe editar el conjunto de patrones, o eliminar el filtro y crear un nuevo filtro con un nuevo conjunto de patrones.<a name="classic-web-acl-regex-conditions-editing-procedure-delete-pattern"></a>

**Para eliminar un patrón de un conjunto de patrones existentes**

1. Inicie sesión en Consola de administración de AWS y abra la AWS WAF consola en. [https://console.aws.amazon.com/wafv2/](https://console.aws.amazon.com/wafv2/) 

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

1. En el panel de navegación, elija **String and regex matching (Coincidencia de cadenas y regex)**.

1. Elija **View regex pattern sets**.

1. Elija el nombre del conjunto de patrones que desea editar.

1. Elija **Edit (Edición de)**.

1. Elija la **X** situada al lado del patrón que desea eliminar.

1. Seleccione **Save (Guardar)**.<a name="classic-web-acl-regex-conditions-editing-procedure-add-pattern"></a>

**Para añadir un patrón a un conjunto de patrones existentes**

1. Inicie sesión en Consola de administración de AWS y abra la AWS WAF consola en [https://console.aws.amazon.com/wafv2/](https://console.aws.amazon.com/wafv2/). 

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

1. En el panel de navegación, elija **String and regex matching (Coincidencia de cadenas y regex)**.

1. Elija **View regex pattern sets**.

1. Elija el nombre del conjunto de patrones que desea editar.

1. Elija **Edit (Editar)**.

1. Escriba un nuevo patrón regex.

1. Elija el signo **\$1** situado junto al nuevo patrón.

1. Seleccione **Save**.<a name="classic-web-acl-regex-conditions-editing-procedure-delete-filter"></a>

**Para eliminar un filtro de una condición de coincidencia de regex existente**

1. Inicie sesión en Consola de administración de AWS y abra la AWS WAF consola en [https://console.aws.amazon.com/wafv2/](https://console.aws.amazon.com/wafv2/). 

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

1. En el panel de navegación, elija **String and regex matching (Coincidencia de cadenas y regex)**.

1. Elija el nombre de la condición que tiene el filtro que desea eliminar.

1. Elija la casilla situada junto al filtro que desea eliminar.

1. Elija **Delete filter (Eliminar filtro)**.<a name="classic-web-acl-regex-conditions-editing-procedure-delete-regex-condition"></a>

**Para eliminar una condición de coincidencia de regex**

1. Inicie sesión en Consola de administración de AWS y abra la AWS WAF consola en [https://console.aws.amazon.com/wafv2/](https://console.aws.amazon.com/wafv2/). 

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

1. Elimine el filtro de la condición regex. Consulte [Para eliminar un filtro de una condición de coincidencia de regex existente](#classic-web-acl-regex-conditions-editing-procedure-delete-filter) para obtener instrucciones al respecto).

1. Quite la condición de coincidencia de regex de las reglas que la utilizan:

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

   1. Elija el nombre de una regla que utilice la condición de coincidencia de regex que desea eliminar.

   1. En el panel de la derecha, elija **Edit rule (Editar regla)**.

   1. Elija la **X** situada al lado de la condición que desea eliminar.

   1. Elija **Actualizar**.

   1. Repita estos pasos para todas las demás reglas que utilizan la condición de coincidencia de regex que desea eliminar.

1. En el panel de navegación, elija **String and regex matching (Coincidencia de cadenas y regex)**.

1. Seleccione el botón situado al lado de la condición que desea eliminar.

1. Elija **Eliminar**.<a name="classic-web-acl-regex-conditions-editing-procedure-add-filter"></a>

**Para añadir o cambiar un filtro para una condición de coincidencia de regex existente**

Solo puede haber un filtro en una condición de coincidencia de regex. Si desea añadir o cambiar el filtro, debe eliminar primero el filtro existente.

1. Inicie sesión en Consola de administración de AWS y abra la AWS WAF consola en [https://console.aws.amazon.com/wafv2/](https://console.aws.amazon.com/wafv2/). 

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

1. Elimine el filtro de la condición regex que desea cambiar. Consulte [Para eliminar un filtro de una condición de coincidencia de regex existente](#classic-web-acl-regex-conditions-editing-procedure-delete-filter) para obtener instrucciones al respecto).

1. En el panel de navegación, elija **String and regex matching (Coincidencia de cadenas y regex)**.

1. Elija el nombre de la condición que desea cambiar.

1. Elija **Add filter (Agregar filtro)**.

1. Introduzca los valores adecuados para el nuevo filtro y elija **Add (Agregar)**.