Presentamos una nueva experiencia de consola para AWS WAF
Ahora puede usar la experiencia actualizada para acceder a las funciones de AWS WAF desde cualquier parte de la consola. Para obtener más información, consulta Trabajo con la experiencia de consola actualizada.
Trabajar con condiciones de coincidencia de cadena
aviso
AWS WAF Classic está pasando por un proceso planificado de final de vida útil. Consulte el panel de control de AWS Health para ver los hitos y las fechas específicos de su región.
nota
Esta es la documentación de AWS WAF Classic. Solo debe usar esta versión si creó recursos de AWS WAF, como reglas y ACL web, en AWS WAF antes de noviembre de 2019, y aún no los ha migrado a la versión más reciente. Para migrar las ACL web, consulte Migración de los recursos de AWS WAF a AWS WAF.
Para obtener la última versión de AWS WAF, consulte AWS WAF.
Si desea permitir o bloquear las solicitudes web en función de las cadenas que aparecen en las solicitudes, cree una o más condiciones de coincidencia de cadena. Una condición de coincidencia de cadena identifica la cadena que desea buscar y la parte de las solicitudes web que desea que AWS WAF Classic inspeccione de la cadena, como un encabezado específico o la cadena de consulta. Más adelante, cuando cree una ACL web, puede especificar si desea permitir o bloquear las solicitudes que contienen la cadena.
Temas
Crear una condición de coincidencia de cadena
Al crear condiciones de coincidencia de cadena, debe especificar unos filtros que identifiquen la cadena que desea buscar y la parte de las solicitudes web que desea que AWS WAF Classic inspeccione de esa cadena, como el URI o la cadena de consulta. Puede añadir más de un filtro a una condición de coincidencia de cadena o bien puede crear una condición de coincidencia de cadena independiente para cada filtro. A continuación, se explica cómo afecta cada configuración al comportamiento de AWS WAF Classic:
Un filtro por condición de coincidencia de cadena: al añadir condiciones de coincidencia de cadena independientes a una regla y añadir la regla a una ACL web, las solicitudes web deben cumplir con todas las condiciones para que AWS WAF Classic permita o bloquee las solicitudes en función de las condiciones.
Por ejemplo, suponga que crea dos condiciones. Una coincide con las solicitudes web que contienen el valor
BadBoten el encabezadoUser-Agent. La otra coincide con las solicitudes web que contienen el valorBadParameteren cadenas de consulta. Al añadir las dos condiciones a la misma regla y añadir la regla a una ACL web, AWS WAF Classic permite o bloquea las solicitudes solo cuando contienen ambos valores.Más de un filtro por condición de coincidencia de cadena: al añadir una condición de coincidencia de cadena que contiene varios filtros a una regla y añadir la regla a una ACL web, una solicitud web únicamente debe coincidir con uno de los filtros de la condición de coincidencia de cadena para que AWS WAF Classic permita o bloquee la solicitud en función de una condición.
Supongamos que crea una condición en lugar de dos y que dicha condición contiene los mismos dos filtros del ejemplo anterior. AWS WAF Classic permite o bloquea solicitudes si contienen bien
BadBoten el encabezadoUser-Agento bienBadParameteren la cadena de consulta.
nota
Al añadir una condición de coincidencia de cadena a una regla, también puede configurar AWS WAF Classic para que permita o bloquee solicitudes web que no coinciden con los valores de la condición.
Para crear una condición de coincidencia de cadena
Inicie sesión en la Consola de administración de AWS y abra la consola de AWS WAF en https://console.aws.amazon.com/wafv2/
. Si ve Cambiar a AWS WAF Classic en el panel de navegación, selecciónelo.
En el panel de navegación, elija String and regex matching (Coincidencia de cadenas y regex).
Elija Create condition.
Especifique la configuración de filtro aplicable. Para obtener más información, consulte Valores que se pueden especificar al crear o editar condiciones de coincidencia de cadena.
Elija Add filter (Agregar filtro).
Si desea añadir otro filtro, repita los pasos 4 y 5.
Cuando haya terminado de añadir filtros, seleccione Create.
Valores que se pueden especificar al crear o editar condiciones de coincidencia de cadena
Al crear o actualizar una condición de coincidencia de cadena, debe especificar los siguientes valores:
- Nombre
Escriba un nombre para la condición de coincidencia de cadena. El nombre solo puede contener caracteres alfanuméricos (A-Z, a-z, 0-9) o los siguientes caracteres especiales: _-!"#`+*},./. No se puede cambiar el nombre de una condición después de crearla.
- Tipo
Elija Coincidencia de cadena.
- Parte de la solicitud para filtrar en
Elija la parte de cada solicitud web que desea que AWS WAF Classic inspeccione de la cadena y que ha especificado en Valor que debe coincidir:
- Encabezado
Un encabezado de solicitud específico, por ejemplo, el encabezado
User-AgentoReferer. 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,POSTyPUT.- 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. A menos que se especifique un valor en Transformation (Transformación), una URI no se normaliza y se inspecciona cuando AWS lo 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.
nota
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 la solicitud). Para obtener más información, consulte Trabajar con condiciones de restricción de tamaño.
- 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 o bien en el parámetro UserName o en el parámetro 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", tanto "boston" como "seattle" en Value to match (Valor que debe coincidir) activarán 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 UserName o 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 especifica UserName como Query parameter name (Nombre de parámetro de consulta), este valor coincidirá con todas las variaciones de UserName como, por ejemplo, username o UsERName.
- Todos los parámetros de consulta (solo valores)
Es igual que Parámetro de consulta único (solo valor), pero en lugar de inspeccionar el valor de un único parámetro, AWS WAF Classic inspecciona el valor de todos los parámetros de la cadena de consulta de Valor que debe coincidir. Por ejemplo, si la URL es "www.xyz.com?UserName=abc&SalesRegion=seattle" y elige Todos los parámetros de consulta (solo valores), AWS WAF activará una coincidencia si el valor de UserName o el de SalesRegion se especifican como Valor que debe coincidir.
- Encabezado (solo cuando "Parte de la solicitud para filtrar en" es "Encabezado")
Si elige Encabezado en la lista Parte de la consulta que se va a filtrar, seleccione un encabezado de la lista de encabezados comunes o escriba el nombre de un encabezado que desea que inspeccione AWS WAF Classic.
- Tipo de coincidencia
En la parte de la solicitud que desea que AWS WAF Classic inspeccione, elija dónde debe aparecer la cadena en Valor que debe coincidir para adaptarse a este filtro:
- Contiene
La cadena aparece en cualquier lugar de la parte especificada de la solicitud.
- Contiene palabra
La parte especificada de la solicitud web debe incluir Value to match (Valor que debe coincidir) y Value to match debe contener únicamente caracteres alfanuméricos o guion bajo (A-Z, a-z, 0-9 o _). Además, Value to match debe ser una palabra, lo que significa una de las siguientes opciones:
Value to match (Valor que debe coincidir) coincide exactamente con el valor de la parte especificada de la solicitud web, como, por ejemplo, el valor de un encabezado.
Value to match (Valor que debe coincidir) está al principio de la parte especificada de la solicitud web y le sigue un carácter que no es alfanumérico ni guion bajo (_), por ejemplo,
BadBot;.Value to match (Valor que debe coincidir) está al final de la parte especificada de la solicitud web y le precede un carácter que no es alfanumérico ni guion bajo (_), por ejemplo,
;BadBot.Value to match (Valor que debe coincidir) está en la mitad de la parte especificada de la solicitud web y va precedida y seguida de caracteres que no son alfanuméricos ni guion bajo (_), por ejemplo,
-BadBot;.
- Coincidencia exacta
La cadena y el valor de la parte especificada de la solicitud son idénticas.
- Empieza por
La cadena aparece al principio de la parte especificada de la solicitud.
- Acaba con
La cadena aparece al final de la parte especificada de la solicitud.
- Transformación
Una transformación reformatea una solicitud web antes de que AWS WAF Classic inspeccione la solicitud. De este modo, se elimina parte del formato inusual que los atacantes utilizan en las solicitudes web con el objetivo de eludir AWS WAF Classic.
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 la cadena en Valor que debe coincidir.
- Cambiar a minúsculas
AWS WAF Classic convierte las mayúsculas (A-Z) en minúsculas (a-z).
- Descodificar en HTML
AWS WAF Classic sustituye los caracteres codificados en HTML por caracteres sin codificar:
Sustituye
"por&Sustituye
por un espacio de no separaciónSustituye
<por<Sustituye
>por>Sustituye los caracteres representados con formato hexadecimal,
&#xhhhh;, por los caracteres correspondientesSustituye los caracteres representados con formato decimal,
&#nnnn;, por los caracteres correspondientes
- Normalizar espacios en blanco
AWS WAF Classic sustituye los siguientes caracteres por un carácter de espacio (32 decimales):
\f, salto de página, 12 decimales
\t, pestaña, 9 decimales
\n, línea nueva, 10 decimales
\r, salto de línea, 13 decimales
\v, 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: \ " ' ^
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.
- El valor se codifica con base64
Si el valor de Value to match (Valor que debe coincidir) tiene codificación base64, seleccione esta casilla de verificación. Utilice la codificación base64 para especificar caracteres no imprimibles, como pestañas y saltos de línea, que los atacantes incluyen en sus solicitudes.
- Valor que debe coincidir
Especifique el valor que desea que AWS WAF Classic busque en las solicitudes web. La longitud máxima es de 50 bytes. Si su valor tiene codificación base64, la longitud máxima de 50 bytes se aplica al valor antes de codificarlo.
Agregar y eliminar filtros en una condición de coincidencia de cadena
Puede añadir o eliminar filtros en una condición de coincidencia de cadena. Para cambiar un filtro, añada uno nuevo y elimine el viejo.
Para añadir o eliminar filtros en una condición de coincidencia de cadena
Inicie sesión en la Consola de administración de AWS y abra la consola de AWS WAF en https://console.aws.amazon.com/wafv2/
. Si ve Cambiar a AWS WAF Classic en el panel de navegación, selecciónelo.
En el panel de navegación, elija String and regex matching (Coincidencia de cadenas y regex).
Elija la condición para la que desea añadir o eliminar filtros.
Para añadir filtros, siga los siguientes pasos:
Elija Add filter (Agregar filtro).
Especifique la configuración de filtro aplicable. Para obtener más información, consulte Valores que se pueden especificar al crear o editar condiciones de coincidencia de cadena.
Elija Add (Agregar).
Para eliminar filtros, siga los siguientes pasos:
Seleccione el filtro que desea eliminar.
Elija Eliminar filtro.
Eliminar condiciones de coincidencia de cadena
Si desea eliminar una condición de coincidencia de cadena, primero debe eliminar todos los filtros de la condición y borrar la condición de todas las reglas que la utilizan, tal y como se describe en el siguiente procedimiento.
Para eliminar una condición de coincidencia de cadena
Inicie sesión en la Consola de administración de AWS y abra la consola de AWS WAF en https://console.aws.amazon.com/wafv2/
. Si ve Cambiar a AWS WAF Classic en el panel de navegación, selecciónelo.
Quite la condición de coincidencia de cadena de las reglas que la utilizan:
En el panel de navegación, seleccione Reglas.
Elija el nombre de una regla que utilice la condición de coincidencia de cadena que desea eliminar.
En el panel de la derecha, elija Edit rule (Editar regla).
Elija la X situada al lado de la condición que desea eliminar.
Elija Actualizar.
Repita estos pasos para todas las demás reglas que utilizan la condición de coincidencia de cadena que desea eliminar.
Quite los filtros de la condición que desea eliminar:
En el panel de navegación, elija String and regex matching (Coincidencia de cadenas y regex).
Elija el nombre de la condición de coincidencia de cadena que desea eliminar.
En el panel de la derecha, elija la casilla de verificación situada junto a Filter para seleccionar todos los filtros.
Elija Delete filter (Eliminar filtro).
En el panel de navegación, elija String and regex matching (Coincidencia de cadenas y regex).
En el panel String and regex match conditions, elija la condición de coincidencia de cadena que desea eliminar.
Elija Delete (Eliminar) para eliminar la condición seleccionada.