Détails des journaux Web Application Firewall

Détails de journalisation des journaux Web Application Firewall (journaux WAF).

Ressources

  • Pare-feu d'applications Web

Catégories de journal

Valeur d'API (ID) : Console (nom d'affichage) Description
all Tous les journaux Tous les journaux WAF

Disponibilité

Les journaux WAF sont disponibles dans toutes les régions des domaines commerciaux.

Contenu d'un journal de pare-feu d'application Web

Un enregistrement de journal WAF contient les champs suivants :

Champ Description Exemple
action Action effectuée par WAF, qui peut être "autoriser" si un traitement ultérieur de la demande a été autorisé, ou "bloquer" si ce n'était pas le cas. allow
clientAddr Adresse IP client. Variable $remote_addr Nginx. 192.168.0.33:7870
countryCode Code pays ISO alpha-2 du client. "ca"
host Dans cet ordre de priorité : nom d'hôte de la ligne de demande, nom d'hôte du champ d'en-tête de demande "Hôte", ou nom de serveur correspondant à une demande. Variable $host Nginx. 192.168.0.103
listenerPort Port du serveur qui a accepté une demande. Variable $server_port Nginx. "80"
request.httpVersion Protocole de demande, généralement "HTTP/1.0", "HTTP/1.1" ou "HTTP/2.0". Variable $server_protocol Nginx. "HTTP/1.1"
request.id Identificateur de demande unique généré à partir de 16 octets aléatoires, en hexadécimal. Variable $request_id Nginx. "f8860949459e94181e650d4049615a01"
request.method Méthode de demande, généralement "GET" ou "POST". Variable $request_method Nginx. “GET”
request.path URI de demande d'origine complète (avec arguments). Variable $request_uri Nginx. "/console/css/%252e%252e%252fconsole.portal"
requestProtection.matchedData Données qui ont déclenché des actions de règle lors de l'inspection de la demande. La chaîne contient des données présentes dans l'URI, séparées par un point-virgule. 'Test_data_1;Test_data_2;Test_data_3'
requestProtection.matchedIds Chaîne contenant les ID et les versions de règle de protection correspondants (pour l'inspection de demande). Lors du reporting, les ID sont ajoutés par 3 symboles de version, donc ID=123 et version=4 sont signalés comme 123004. Les entrées sont séparées par un point-virgule. "9301000_v001;9301100_v001;9301100_v001;9300000_v001"
requestProtection.matchedRules Noms de règle des règles de protection de demande correspondant lors de l'inspection de la demande. La chaîne contient des noms de règle séparés par un point-virgule. 'Rule_name_1;Rule_name_2;Rule_name_3'
responseProtection.matchedData Données qui ont déclenché des actions de règle (dans l'inspection de réponse). La chaîne contient des données présentes dans l'URI, séparées par un point-virgule. 'Test_data_1;Test_data_2;Test_data_3'
réponse.code Code réponse final envoyé au client. Variable $status Nginx. "401"
response.size Taille de réponse complète (en-têtes + corps) en octets. Variable $bytes_sent Nginx. "139"
RequestAccessControl.matchedRules Noms de règle des règles d'accès aux demandes avec correspondance. Les chaînes contiennent des noms de règle séparés par un point-virgule. 'Rule_name_1;Rule_name_2;Rule_name_3'
responseAccessControl.matchedRules Noms de règle des règles d'accès aux réponses avec correspondance. Les chaînes contiennent des noms de règle séparés par un point-virgule. 'Rule_name_1;Rule_name_2;Rule_name_3'
backendStatusCode Conserve un code d'état de la réponse obtenue du serveur en amont. Les codes de statut de plusieurs réponses sont séparés par des virgules et des points-virgules. Il s'agit d'une variable $upstream_status Nginx. "200"
responseProtection.matchedIds Chaîne contenant les ID et les versions de règle de protection correspondants (pour l'inspection de demande). Lors du reporting, les ID sont ajoutés par 3 symboles de version, donc ID=123 et version=4 sont signalés comme 123004. Les entrées sont séparées par un point-virgule. '300_v004;25_v002;123_v001'
responseProtection.matchedRules Noms de règle des règles de protection de réponse qui correspondent. Chaînes contenant des noms de règle séparés par un point-virgule, par exemple : 'Rule name 1;Rule name 2;Rule name 3'. "Recomended Rules"
requestRateLimiting.matchedRules Noms de règle des règles de limiteur de taux correspondant. Chaîne contenant les noms de règle séparés par un point-virgule. 'Rule_name_1;Rule_name_2;Rule_name_3'.
responseProvider
Contient des informations sur l'origine de la réponse :
  • A partir du back-end (origine).
  • A partir de certains modules WAF (module et nom de règle).
  • A partir de la règle d'accès IP HTTP LB.
  • A partir de la règle d'accès aux méthodes HTTP LB.
  • A partir de la règle de réacheminement LB.
"requestProtection/Recomended Rules"
timestamp Horodatage ES de la réception de la demande, heure locale au format ISO 8601. "2021-12-02T08:39:05Z"

Exemple de journal de pare-feu d'applications Web

{
  "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"
  }
}