Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a: ✔️ Front Door Premium
A veces, Azure Web Application Firewall en Azure Front Door bloquea una solicitud legítima. Como parte del proceso de ajuste del Firewall de aplicaciones web (WAF), puede configurarlo para que permita la solicitud de la aplicación. Las listas de exclusión del WAF le permiten omitir atributos de solicitud concretos de una evaluación del WAF. El resto de la solicitud se evaluará normalmente.
Por ejemplo, Microsoft Entra ID proporciona tokens que se usan para la autenticación. Cuando estos tokens se usan en un encabezado de solicitud, pueden contener caracteres especiales que desencadenan una detección de falsos positivos por una o varias reglas de WAF. Puede agregar el encabezado a una lista de exclusión, lo cual indicará al WAF que omita el encabezado. El WAF seguirá inspeccionando el resto de la solicitud en busca de contenido sospechoso.
Ámbitos de exclusión
Puede crear exclusiones en los siguientes ámbitos:
- Conjunto de reglas: estas exclusiones se aplican a todas las reglas de un conjunto de reglas.
- Grupo de reglas: estas exclusiones se aplican a todas las reglas de una categoría en particular dentro de un conjunto de reglas. Por ejemplo, puede configurar una exclusión que se aplique a todas las reglas de inyección de SQL.
- Regla: estas exclusiones se aplican a una única regla.
Sugerencia
Haga que las exclusiones sean lo más estrechas y específicas posible para evitar que los atacantes encuentren oportunidades para explotar su sistema. Cuando necesite agregar una regla de exclusión, use exclusiones por regla siempre que sea posible.
Selectores de exclusión
Los selectores de exclusión identifican las partes de las solicitudes a las que se aplica la exclusión. El WAF omitirá las detecciones que encuentre en las partes especificadas de la solicitud. Puede especificar varios selectores de exclusión en una única exclusión.
Cada selector de exclusión especifica una variable de coincidencia, un operador y un selector. Varias coincidencias en una única exclusión se tratan como si fueran declaraciones "OR".
Variables de coincidencia
Agregue los siguientes atributos de solicitud a una exclusión:
- Nombre del encabezado de la solicitud
- Nombre de la solicitud de cookie
- Nombre de los argumentos de la cadena de consulta
- Nombre de los argumentos POST del cuerpo de la solicitud
- Nombre de los argumentos JSON del cuerpo de la solicitud (compatible con DRS 2.0 o posterior)
Los valores de los campos que se usan no se evalúan con las reglas de WAF, pero sí se evalúan sus nombres. Las listas de exclusión deshabilitan la inspección del valor del campo. Sin embargo, los nombres de campo continúan siendo evaluados. Para más información, consulte Exclusión de otros atributos de solicitud.
Operadores
Especifique un atributo exacto de encabezado de solicitud, cuerpo, cookie o cadena de consulta que coincida. O puede especificar coincidencias parciales. Los siguientes operadores están admitidos para los criterios de coincidencia:
-
Igual a: Hacer coincidir todos los campos de la solicitud que coincidan exactamente con el valor del selector especificado. Por ejemplo, para seleccionar un encabezado denominado bearerToken, use el operador
Equalscon el selector establecido como bearerToken. - Empieza por: coincide con todos los campos de solicitud que comienzan por el valor del selector especificado.
- Termina con: coincide con todos los campos de solicitud que terminan con el valor especificado del selector.
- Contiene: coincide con todos los campos de solicitud que contienen el valor del selector especificado.
-
Es igual a cualquiera: coincide con todos los campos de solicitud. Cuando se usa el operador
Equals any, el valor del selector se establece automáticamente en*. Por ejemplo, use elEquals anyoperador para configurar una exclusión que se aplica a todos los encabezados de solicitud.
Distinción entre mayúsculas y minúsculas
Los nombres de encabezado y cookie no distinguen mayúsculas de minúsculas. Las cadenas de consulta, los argumentos POST y los argumentos JSON son sensibles a mayúsculas y minúsculas.
Inspección del contenido del cuerpo
Algunas de las reglas administradas evalúan la carga sin procesar del cuerpo de la solicitud, antes de analizarla en argumentos POST o JSON. Por eso, en algunas situaciones podría ver entradas de registro con un valor matchVariableName de InitialBodyContents o DecodedInitialBodyContents.
Por ejemplo, supongamos que crea una exclusión con una variable de coincidencia de Request body POST args y un selector para que identifique y omita los argumentos POST denominados FOO. Ya no ve entradas de registro con un valor matchVariableName de PostParamValue:FOO. Sin embargo, si un argumento POST denominado FOO contiene texto que desencadena una regla, el registro podría mostrar la detección en el contenido inicial del cuerpo. Actualmente no se pueden crear exclusiones para el contenido inicial del cuerpo.
Definición de reglas de exclusión basadas en registros de Azure Web Application Firewall
Puede usar los registros para ver los detalles de una solicitud bloqueada, incluidas las partes de la solicitud que desencadenaron la regla. Para obtener más información, consulte el artículo Supervisión y registro de Azure Web Application Firewall.
A veces, una regla de WAF específica genera detecciones de falsos positivos a partir de los valores incluidos en un encabezado de solicitud, cookie, argumento POST, argumento de cadena de consulta o campo JSON en un cuerpo de la solicitud. Si se producen estas detecciones de falsos positivos, puede configurar la regla para que excluya la parte pertinente de la solicitud durante la evaluación.
En la siguiente tabla se muestran los valores de ejemplo de los registros de WAF y los selectores de exclusión correspondientes que podría crear.
| matchVariableName de los registros de WAF | Exclusión de reglas en el portal |
|---|---|
| CookieValue:SOME_NAME | El nombre de la cookie de solicitud es igual a SOME_NAME |
| HeaderValue:SOME_NAME | El nombre del encabezado de solicitud es igual a SOME_NAME |
| PostParamValue:SOME_NAME | El cuerpo de la solicitud tiene parámetros POST cuyo nombre es igual a SOME_NAME |
| QueryParamValue:SOME_NAME | El nombre de los argumentos de la cadena de consulta es igual a SOME_NAME |
| JsonValue:SOME_NAME | El nombre del argumento JSON en el cuerpo de la solicitud es igual a SOME_NAME |
Exclusiones para cuerpos de solicitud JSON
A partir de la versión 2.0 de DRS, WAF inspecciona los cuerpos de solicitud JSON. Por ejemplo, considere este cuerpo de solicitud JSON:
{
"posts": [
{
"id": 1,
"comment": ""
},
{
"id": 2,
"comment": "\"1=1\""
}
]
}
La solicitud incluye una secuencia de caracteres de comentario de SQL, que el WAF detecta como un posible ataque por inyección de código SQL.
Si determina que la solicitud es legítima, cree una exclusión con una variable de coincidencia de Request body JSON args name, un operador de Equalsy un selector de posts.comment.
Exclusión de otros atributos de solicitud
Si la entrada del registro del WAF muestra un valor matchVariableName que no está en la tabla anterior, no puede crear una exclusión. Por ejemplo, actualmente no se pueden crear exclusiones para nombres de cookies, nombres de encabezado, nombres de parámetros POST o nombres de parámetros de consulta.
En su lugar, considere la posibilidad de realizar una de las siguientes acciones:
- Desactive las reglas que dan falsos positivos.
- Cree una regla personalizada que permita explícitamente esas solicitudes. Las solicitudes omiten cualquier inspección del WAF.
Cuando el valor de matchVariableName es CookieName, HeaderName, PostParamName o QueryParamName, significa que el nombre del campo, en lugar de su valor, desencadenó la regla. La exclusión de reglas no admite estos matchVariableName valores.
Pasos siguientes
- Configuración de listas de exclusión en el WAF de Azure Front Door.
- Después de configurar el WAF, aprenda a ver los registros del WAF. Para más información, consulte el Diagnóstico de Azure Front Door.