Solicite componentes en AWS WAF - AWS WAF, AWS Firewall Manager, y AWS Shield Advanced

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

Solicite componentes en AWS WAF

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 las sentencias de coincidencia de cadenas, de coincidencia de expresiones regulares, de restricción de tamaño y de ataque SQL por inyección. 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.

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 coincide 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 AWS WAF la consola y API la documentación proporcionan 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.

  • APIcontenido de la declaraciónFieldToMatch

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

HTTPmétodo

Inspecciona el HTTP método de la solicitud. El HTTP método indica el tipo de operación que la solicitud web solicita que realice el recurso protegido, por ejemplo, POST oGET.

Encabezado único

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 cadena que coincide con el nombre no distingue entre mayúsculas y minúsculas.

Todos los encabezados

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.

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

  • Alcance de coincidencia: las partes de los encabezados que AWS WAF debe inspeccionar con 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 grandes dimensiones: ¿cómo AWS WAF debe gestionar las solicitudes que tienen datos de encabezado superiores a AWS WAF puede inspeccionar. AWS WAF puede inspeccionar como máximo los primeros 8 KB (8.192 bytes) de las cabeceras de solicitud y como máximo las primeras 200 cabeceras. El contenido está disponible para su inspección mediante AWS WAF hasta el primer límite alcanzado. 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 Manejo de componentes de solicitudes web sobredimensionados en AWS WAF.

Orden de encabezados

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 AWS WAF recibe para su inspección. AWS WAF genera la cadena y, a continuación, la utiliza 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 ejemplohost:user-agent:accept:authorization:referer.

Para esta opción, debe proporcionar las siguientes especificaciones:

  • Manejo de tamaños sobredimensionados: ¿cómo AWS WAF debe gestionar las solicitudes que tienen datos de encabezado más numerosos o más grandes que AWS WAF puede inspeccionar. AWS WAF puede inspeccionar como máximo los primeros 8 KB (8.192 bytes) de las cabeceras de solicitud y como máximo las primeras 200 cabeceras. El contenido está disponible para su inspección mediante AWS WAF hasta el primer límite alcanzado. 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 Manejo de componentes de solicitudes web sobredimensionados en AWS WAF.

Cookies

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 teclas 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 debe inspeccionar con 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.

  • Manejo de grandes dimensiones: ¿cómo AWS WAF debe gestionar las solicitudes que contienen datos de cookies superiores a AWS WAF puede 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 mediante AWS WAF hasta el primer límite alcanzado. 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 Manejo de componentes de solicitudes web sobredimensionados en AWS WAF.

URIcamino

Inspecciona la parte de un recurso URL que identifica un recurso, por ejemplo,/images/daily-ad.jpg. Para obtener más información, consulte Identificador uniforme de recursos (URI): sintaxis genérica.

Si no utiliza una transformación de texto con esta opción, AWS WAF no lo normaliza 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.

JA3huella digital

Inspecciona la huella digital de la solicitud. JA3

nota

JA3la 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 saludo del TLS cliente de una solicitud entrante. Esta huella digital sirve como identificador único para la TLS configuración 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 ACL registros 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 ACL tráfico web.

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 has proporcionado. 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 TLS configuración. 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.

Debe proporcionar un comportamiento alternativo para esta instrucción de regla. El comportamiento alternativo es el estado de coincidencia que desee AWS WAF para asignarlo a la solicitud web si AWS WAF no puede calcular la JA3 huella digital. Si eliges hacer coincidir, AWS WAF considera que 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, AWS WAF considera que la solicitud no coincide con la declaración de la regla.

Para utilizar esta opción de coincidencia, debe registrar el ACL tráfico web. Para obtener más información, consulte Registro AWS WAF ACLtráfico web.

Cadena de consulta

Inspecciona la parte URL que aparece después de un ? personaje, si lo hay.

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

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. Por ejemplo, si URL eswww.xyz.com?UserName=abc&SalesRegion=seattle, puede especificar UserName o SalesRegion para el argumento de 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 lo especificaUserName, AWS WAF coincide con todas las variantes deUserName, incluidas username yUsERName.

Si la cadena de consulta contiene más de una instancia del argumento de consulta que ha especificado, AWS WAF inspecciona todos los valores en busca de una coincidencia, utilizando OR lógica. Por ejemplo, en URLwww.xyz.com?SalesRegion=boston&SalesRegion=seattle, AWS WAF compara el nombre que ha especificado con boston yseattle. Si alguna de las dos es una coincidencia, la inspección es una coincidencia.

Todos los parámetros de consulta

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

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

Cuerpo

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

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 FieldToMatch especificación de la regla, se especifica que se Body inspeccione 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 API Gateway CloudFront, Amazon Cognito, App Runner y Verified Access, de forma predeterminada, AWS WAF puede inspeccionar los primeros 16 KB y puede aumentar el límite hasta 64 KB en su ACL configuración web. Para obtener más información, consulte Gestión de los límites de tamaño de inspección corporal para AWS WAF.

Debe especificar la gestión del sobredimensionamiento para este tipo de componente. El manejo de sobredimensionamientos define cómo AWS WAF gestiona las solicitudes que tienen un tamaño de datos corporal superior a 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 Manejo de componentes de solicitudes web sobredimensionados en AWS WAF.

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

JSONcuerpo

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, selecciona esta opción en la opción Cuerpo de la solicitud y selecciona la opción JSONTipo de contenido.

  • En API la FieldToMatch especificación de la regla, especifiqueJsonBody.

Para Application Load Balancer y AWS AppSync, AWS WAF puede inspeccionar los primeros 8 KB del cuerpo de una solicitud. Para API Gateway CloudFront, Amazon Cognito, App Runner y Verified Access, de forma predeterminada, AWS WAF puede inspeccionar los primeros 16 KB y puede aumentar el límite hasta 64 KB en su ACL configuración web. Para obtener más información, consulte Gestión de los límites de tamaño de inspección corporal para AWS WAF.

Debe especificar la gestión del sobredimensionamiento para este tipo de componente. El manejo de sobredimensionamientos define cómo AWS WAF gestiona las solicitudes que tienen un tamaño de datos corporal superior a 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 Manejo de componentes de solicitudes web sobredimensionados en AWS WAF.

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

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

Cómo AWS WAF gestiona la inspección de la JSON carrocería

Cuando AWS WAF inspecciona el cuerpo de la solicitud web yJSON, a continuación, realiza los pasos necesarios para analizarlo y extraer los JSON elementos 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 AWS WAF realiza.

  1. Analiza el contenido corporal — AWS WAF analiza el contenido del cuerpo de la solicitud web para extraer los JSON elementos 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. Algunos ejemplos son los caracteres no válidos, las claves duplicadas, el truncamiento y el contenido cuyo nodo raíz no es un objeto o una matriz.

    La opción Body Parsing Fallback (comportamiento alternativo) determina qué AWS WAF lo hace si no puede analizar completamente el JSON cuerpo:

    • 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 plano. AWS WAF aplica las transformaciones de texto y los criterios de inspección que haya definido para la JSON inspección 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 AWS WAF encuentra un error al analizar la JSON cadena.

    El análisis no valida completamente el JSON

    AWS WAF el análisis no valida completamente la JSON cadena de entrada, por lo que el análisis puede tener éxito incluso si no es válido. JSON

    Por ejemplo: AWS WAF analiza lo siguiente no válido JSON sin error:

    • 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 completamente válidoJSON, el resultado de los pasos posteriores 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. Te recomendamos que valides lo JSON que recibas en tu solicitud y que gestiones JSON como inválido si es necesario.

  2. Extraiga los JSON elementos — AWS WAF identifica el subconjunto de JSON elementos que se van a inspeccionar de acuerdo con su configuración:

    • La opción JSONmatch scope especifica los tipos de elementos que JSON contiene AWS WAF debe 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 desee AWS WAF inspeccionar.

      Debe especificar uno de los siguientes:

      • JSONContenido completo: evalúa todos los elementos.

      • Solo elementos incluidos: evalúa solo los elementos cuyas rutas coincidan con los criterios de JSON Pointer que proporcionaste. No utilice esta opción para indicar todas las rutas delJSON. En su lugar, usa JSONContenido completo.

        Para obtener información sobre la sintaxis del JSON puntero, consulte la documentación del Grupo de trabajo de ingeniería de Internet (IETF) JavaScript Object Notation (JSON) Pointer.

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

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

        En el API oCLI, puede proporcionar lo siguiente:

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

    Por ejemplo, supongamos que la configuración Contenido a inspeccionar es Solo elementos incluidos y la configuración Elementos incluidos es/a/b.

    Para el siguiente JSON cuerpo de ejemplo:

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

    El elemento establece que AWS WAF inspeccionaría la configuración JSONdel alcance de cada partido que se detalla a continuación. Tenga en cuenta que la claveb, que forma parte de la ruta de los elementos incluidos, no se evalúa.

    • Todos:e, f, yg.

    • Llaves: e yf.

    • Valores:g.

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