Détails des journaux du pare-feu d'application Web

Détails de journalisation pour les journaux du pare-feu d'application Web (journaux WAF).

Ressources

  • Pare-feu pour application Web

Catégories de journaux

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 prise par le WAF, qui peut être "allow" si le traitement supplémentaire de la demande a été autorisé, ou "block" si ce n'est pas le cas. allow
clientAddr Adresse IP client. Variable Nginx $remote_addr. 192.168.0.33:7870
countryCode Code de 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 Nginx $host. 192.168.0.103
listenerPort Port du serveur qui a accepté une demande. Variable Nginx $server_port. "80"
request.httpVersion Protocole de demande, généralement "HTTP/1.0", "HTTP/1.1", ou "HTTP/2.0". Variable Nginx $server_protocol. "HTTP/1.1"
request.id Identificateur de demande unique généré à partir de 16 octets aléatoires, en hexadécimal. Variable Nginx $request_id. "f8860949459e94181e650d4049615a01"
request.method Méthode de demande, généralement "GET" ou "POST". Variable Nginx $request_method. “GET”
request.path URI de demande initiale complète (avec arguments). Variable Nginx $request_uri. "/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 les 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 des demandes). Lorsque vous générez des rapports, les ID sont ajoutés par 3 symboles de version. L'ID=123 et la version=4 sont donc 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 des demandes qui correspondent lorsque la demande a été inspectée. 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 la réponse). La chaîne contient les données présentes dans l'URI, séparées par un point-virgule. 'Test_data_1;Test_data_2;Test_data_3'
response.code Code de réponse finale envoyé au client. Variable de statut $ Nginx. "401"
response.size Taille de réponse complète (en-têtes + corps) en octets. Variable Nginx $bytes_sent. "139"
requestAccessControl.matchedRules Noms de règle des règles d'accès aux demandes qui ont été mises en 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 qui ont été mises en 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 deux-points. Il s'agit d'une variable Nginx $upstream_status. "200"
responseProtection.matchedIds Chaîne contenant les ID et les versions de règle de protection correspondants (pour l'inspection des demandes). Lorsque vous générez des rapports, les ID sont ajoutés par 3 symboles de version. L'ID=123 et la version=4 sont donc 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 ont été mis en correspondance. 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 qui ont été mis en correspondance. 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 :
  • Du système dorsal (origine).
  • À partir de certains modules WAF (module et nom de règle).
  • À partir de la règle d'accès IP HTTP LB.
  • À partir de la règle d'accès de la méthode HTTP LB.
  • Règle de réacheminement de l'objet logique.
"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 du pare-feu d'application 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"
  }
}