Detalles de logs de firewall de aplicación web
Detalles de registro de los logs de Web Application Firewall (logs de WAF).
Recursos
- Firewall de aplicaciones web
Categorías de log
Valor de API (ID): | Consola (nombre mostrado) | Descripción |
---|---|---|
all | Todos los Logs | Todos los logs de WAF |
Disponibilidad
Los logs de WAF están disponibles en todas las regiones de los dominios comerciales.
Contenido de un log de firewall de aplicación web
Un registro de log de WAF contiene los siguientes campos:
Campo | Descripción | Ejemplo |
---|---|---|
action | Acción realizada por el WAF, que puede ser "permitir" si se permite un procesamiento posterior de la solicitud, o "bloquear" si no lo es. | allow |
clientAddr | Dirección IP del cliente. Variable $remote_addr de Nginx. | 192.168.0.33:7870 |
countryCode | Código de país ISO alpha-2 del cliente. | "ca" |
host | En este orden de prioridad: nombre de host de la línea de solicitud, nombre de host del campo de cabecera de solicitud "Host" o nombre de servidor que coincide con una solicitud. Variable $host de Nginx. | 192.168.0.103 |
listenerPort | Puerto del servidor que aceptó una solicitud. Variable Nginx$server_port. | "80" |
request.httpVersion | Protocolo de solicitud, normalmente "HTTP/1.0", "HTTP/1.1" o "HTTP/2.0". Variable $server_protocol de Nginx. | "HTTP/1.1" |
request.id | Identificador de solicitud único generado a partir de 16 bytes aleatorios, en hexadecimal. Variable Nginx$request_id. | "f8860949459e94181e650d4049615a01" |
Método de solicitud | Método de solicitud, normalmente "GET" o "POST". Variable $request_method de Nginx. | “GET” |
request.path | URI de solicitud original completa (con argumentos). Variable $request_uri de Nginx. | "/console/css/%252e%252e%252fconsole.portal" |
requestProtection.matchedData | Datos que dispararon acciones de regla cuando se inspeccionó la solicitud. La cadena contiene nombres de reglas separados por un punto y coma. | 'Test_data_1;Test_data_2;Test_data_3' |
requestProtection.matchedIds | Cadena que contiene versiones e ID de regla de protección coincidentes (para inspección de solicitud). Al generar informes, los ID se agregan con 3 símbolos de versión, de modo que ID=123 y versión=4 se informa como 123004. Las entradas están separadas por un punto y coma. | "9301000_v001;9301100_v001;9301100_v001;9300000_v001" |
requestProtection.matchedRules | Nombres de reglas de reglas de protección de solicitudes que coinciden cuando se inspeccionó la solicitud. La cadena contiene nombres de reglas separados por un punto y coma. | 'Rule_name_1;Rule_name_2;Rule_name_3' |
responseProtection.matchedData | Datos que dispararon acciones de regla (en la inspección de respuesta). Cadena que contiene nombres de reglas separados por punto y coma. | 'Test_data_1;Test_data_2;Test_data_3' |
response.code | Código de respuesta final enviado al cliente. Variable $status de Nginx. | "401" |
response.size | Tamaño de respuesta completo (cabeceras + cuerpo) en bytes. Variable $bytes_sent de Nginx. | "139" |
requestAccessControl.matchedRules | Nombres de reglas de reglas de acceso a solicitudes que coinciden. Las cadenas contienen nombres de reglas separados por un punto y coma. | 'Rule_name_1;Rule_name_2;Rule_name_3' |
responseAccessControl.matchedRules | Nombres de regla de reglas de acceso de respuesta que coinciden. Las cadenas contienen nombres de reglas separados por un punto y coma. | 'Rule_name_1;Rule_name_2;Rule_name_3' |
backendStatusCode | Mantiene un código de estado de la respuesta obtenida del servidor ascendente. Los códigos de estado de varias respuestas están separados por comas y dos puntos. Se trata de una variable Nginx$upstream_status. | "200" |
responseProtection.matchedIds | Cadena que contiene versiones e ID de regla de protección coincidentes (para inspección de solicitud). Al generar informes, los ID se agregan con 3 símbolos de versión, de modo que ID=123 y versión=4 se informa como 123004. Las entradas están separadas por un punto y coma. | '300_v004;25_v002;123_v001' |
responseProtection.matchedRules | Nombres de regla de reglas de protección de respuesta que coinciden. Cadenas que contienen nombres de reglas separados por un punto y coma, por ejemplo: 'Rule name 1;Rule name 2;Rule name 3'. |
"Recomended Rules" |
requestRateLimiting.matchedRules | Nombres de regla de reglas de limitador de tipo que coinciden. Cadena que contiene nombres de reglas separados por punto y coma. | 'Rule_name_1;Rule_name_2;Rule_name_3'. |
responseProvider |
Contiene información sobre dónde se origina la respuesta:
|
"requestProtection/Recomended Rules" |
timestamp | Registro de hora de ES de cuándo se recibió la solicitud, hora local en formato ISO 8601. | "2021-12-02T08:39:05Z" |
Log de firewall de aplicación web de ejemplo
{
"datetime": 1638434349351,
"logContent": {
"data": {
"clientAddr": "192.168.0.33",
"countryCode": "ca",
"host": "192.168.0.103",
"listenerPort": "80",
"request": {
"httpVersion": "HTTP/1.1",
"id": "f8860949459e94181e650d4049615a01",
"method": "GET",
"path": "/console/css/%252e%252e%252fconsole.portal"
},
"requestProtection": {
"matchedData": "Matched Data: /%252e%252e%252f found within REQUEST_URI_RAW: /console/css/%252e%252e%252fconsole.portal;Matched Data: ../ found within REQUEST_URI: /console/css/../console.portal;Matched Data: ../ found within REQUEST_URI: /console/css/../console.portal",
"matchedIds": "9301000_v001;9301100_v001;9301100_v001;9300000_v001",
"matchedRules": "Recomended Rules"
},
"response": {
"code": "401",
"size": "139"
},
"responseProtection": {},
"responseProvider": "requestProtection/Recomended Rules",
"timestamp": "2021-12-02T08:39:05Z"
},
"id": "6ddc2351-d6a7-4a5e-b057-c04e50003f78-waf-388469",
"oracle": {
"compartmentid": "ocid1.compartment.oc1..<unique_ID>",
"ingestedtime": "2021-12-02T08:39:15.367Z",
"loggroupid": "ocid1.loggroup.oc1.iad.<unique_ID>",
"logid": "ocid1.log.oc1.iad.<unique_ID>",
"resourceid": "ocid1.webappfirewall.oc1.iad.<unique_ID>",
"tenantid": "ocid1.tenancy.oc1..<unique_ID>"
},
"source": "lb_shapetest2-400",
"specversion": "1.0",
"subject": "",
"time": "2021-12-02T08:39:09.351Z",
"type": "com.oraclecloud.loadbalancer.waf"
}
}