Supervisión y registro del firewall de aplicaciones web de Azure
Azure Web Application Firewall en Azure Front Door ofrece amplios registros y telemetría que ayudan a comprender el rendimiento del firewall de aplicaciones web (WAF) y las acciones que realiza.
El registro de WAF de Azure Front Door está integrado en Azure Monitor. Azure Monitor le permite hacer un seguimiento de la información de diagnóstico, incluidos los registros y alertas de WAF. Puede configurar la supervisión de WAF dentro del recurso de Azure Front Door en Azure Portal, en la pestaña Diagnóstico, mediante enfoques de infraestructura como código o directamente mediante Azure Monitor.
Métricas
Azure Front Door registra automáticamente las métricas para ayudarle a comprender el comportamiento de WAF.
Para acceder a las métricas del firewall de aplicaciones web:
- Inicie sesión en Azure Portal y vaya a su perfil de Azure Front Door.
- En el panel de más a la izquierda, en Supervisión, seleccione la pestaña Métricas.
- Agregue la métrica Recuento de solicitudes del firewall de aplicaciones web para hacer un seguimiento del número de solicitudes que coinciden con las reglas de WAF.
Puede crear filtros personalizados en función de los tipos de acción y los nombres de las reglas. Las métricas incluyen solicitudes con todas las acciones excepto Log
.
Métricas de desafío de JavaScript (versión preliminar)
Para acceder a las métricas de WAF de desafío de JavaScript:
- Agregue la métrica
JS Challenge Request Count
del firewall de aplicaciones web para hacer un seguimiento del número de solicitudes que coinciden con las reglas de WAF de desafío de JavaScript.
Los filtros siguientes se proporcionan como parte de esta métrica:
- PolicyName (Nombre de directiva): este es el nombre de la directiva de WAF
- Rule (Regla): puede ser cualquier regla personalizada o regla de bot
- Action (Acción): hay cuatro valores posibles para la acción de desafío de JS
- Issued (Emitido): el desafío de JS se invocó por primera vez
- Passed (Pasado): el cálculo del desafío de JS se realizó correctamente y se recibió una respuesta
- Valid (Válido): la cookie de validez del desafío de JS estaba presente
- Blocked (Bloqueado): error en el cálculo del desafío de JS
Registros y diagnósticos
El WAF de Azure Front Door proporciona informes detallados sobre cada solicitud y amenaza que detecta. El registro se integra con los registros de diagnóstico y las alertas de Azure mediante los registros de Azure Monitor.
Estos registros no están habilitados de forma predeterminada. Debe habilitar los registros de manera explícita. Puede configurar los registros en Azure Portal mediante la pestaña Configuración de diagnóstico.
Si el registro está habilitado y se desencadena una regla WAF, los patrones coincidentes se registran en texto sin formato para ayudarle a analizar y depurar el comportamiento de la directiva WAF. Puede usar exclusiones para ajustar las reglas y excluir los datos que quiera excluir de los registros. Para obtener más información, vea Listas de exclusión de Web en Front Door.
Puede habilitar tres tipos de registros de Azure Front Door:
- Registros de WAF
- Registros de acceso
- Registros de sondeo de estado
Los registros de actividad se habilitan de manera predeterminada y proporcionan visibilidad sobre las operaciones realizadas en los recursos de Azure, como los cambios de configuración en el perfil de Azure Front Door.
Registros de WAF
El registro FrontDoorWebApplicationFirewallLog
incluye solicitudes que coinciden con una regla de WAF.
El registro FrontdoorWebApplicationFirewallLog
incluye cualquier solicitud que coincida con una regla de WAF.
En la tabla siguiente se muestran los valores registrados para cada parámetro.
Propiedad | Descripción |
---|---|
Acción | Acción realizada en la solicitud. Los registros incluyen solicitudes con todas las acciones. Las acciones son:
|
ClientIP | Dirección IP del cliente que realizó la solicitud. Si había un encabezado X-Forwarded-For en la solicitud, la dirección IP del cliente se toma de ese campo de encabezado. |
ClientPort | Puerto IP del cliente que realizó la solicitud. |
Detalles | Más detalles sobre la solicitud, incluidas las amenazas detectadas. matchVariableName : nombre del parámetro HTTP de la solicitud coincidente, por ejemplo, nombres de encabezados (hasta 100 caracteres como máximo).matchVariableValue : valores que desencadenaron la coincidencia (hasta 100 caracteres como máximo). |
Host | Encabezado Host de la solicitud. |
Directiva | El nombre de la política WAF que procesó la solicitud. |
PolicyMode | Modo de operaciones de la directiva WAF. Los valores posibles son Prevention y Detection . |
RequestUri | URI completo de la solicitud. |
RuleName | El nombre de la regla de WAF que coincidió con la solicitud. |
SocketIp | La dirección IP de origen que WAF detectó. Esta dirección IP se basa en la sesión TCP y no tiene en cuenta ningún encabezado de solicitud. |
TrackingReference | La cadena de referencia única que identifica una solicitud servida por Front Door. Este valor se envía al cliente en el encabezado de respuesta X-Azure-Ref . Use este campo cuando busque una solicitud específica en el registro. |
En el siguiente ejemplo de consulta se muestran las solicitudes que bloqueó el WAF de Azure Front Door:
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.CDN" and Category == "FrontDoorWebApplicationFirewallLog"
| where action_s == "Block"
AzureDiagnostics
| where ResourceType == "FRONTDOORS" and Category == "FrontdoorWebApplicationFirewallLog"
| where action_s == "Block"
En el fragmento de código a continuación se muestra una entrada de registro de ejemplo, que incluye la razón por la que se bloqueó la solicitud:
{
"time": "2020-06-09T22:32:17.8376810Z",
"category": "FrontdoorWebApplicationFirewallLog",
"operationName": "Microsoft.Cdn/Profiles/Write",
"properties": {
"clientIP": "xxx.xxx.xxx.xxx",
"clientPort": "52097",
"socketIP": "xxx.xxx.xxx.xxx",
"requestUri": "https://wafdemofrontdoorwebapp.azurefd.net:443/?q=%27%20or%201=1",
"ruleName": "Microsoft_DefaultRuleSet-1.1-SQLI-942100",
"policy": "WafDemoCustomPolicy",
"action": "Block",
"host": "wafdemofrontdoorwebapp.azurefd.net",
"trackingReference": "08Q3gXgAAAAAe0s71BET/QYwmqtpHO7uAU0pDRURHRTA1MDgANjMxNTAwZDAtOTRiNS00YzIwLTljY2YtNjFhNzMyOWQyYTgy",
"policyMode": "prevention",
"details": {
"matches": [
{
"matchVariableName": "QueryParamValue:q",
"matchVariableValue": "' or 1=1"
}
]
}
}
}
{
"time": "2020-06-09T22:32:17.8376810Z",
"category": "FrontdoorWebApplicationFirewallLog",
"operationName": "Microsoft.Network/FrontDoorWebApplicationFirewallLog/Write",
"properties": {
"clientIP": "xxx.xxx.xxx.xxx",
"clientPort": "52097",
"socketIP": "xxx.xxx.xxx.xxx",
"requestUri": "https://wafdemofrontdoorwebapp.azurefd.net:443/?q=%27%20or%201=1",
"ruleName": "Microsoft_DefaultRuleSet-1.1-SQLI-942100",
"policy": "WafDemoCustomPolicy",
"action": "Block",
"host": "wafdemofrontdoorwebapp.azurefd.net",
"trackingReference": "08Q3gXgAAAAAe0s71BET/QYwmqtpHO7uAU0pDRURHRTA1MDgANjMxNTAwZDAtOTRiNS00YzIwLTljY2YtNjFhNzMyOWQyYTgy",
"policyMode": "prevention",
"details": {
"matches": [
{
"matchVariableName": "QueryParamValue:q",
"matchVariableValue": "' or 1=1"
}
]
}
}
}
Para más información sobre los registros de Azure Front Door, consulte Supervisión de métricas y registros en Azure Front Door.
Pasos siguientes
Obtenga más información acerca de Azure Front Door.