Details zu Web Application Firewall-Logs

Protokollierungsdetails für Web Application Firewall-Logs (WAF-Logs).

Ressourcen

  • Web Application Firewall

Logkategorien

API-Wert (ID): Konsole (Anzeigename) Beschreibung
alle Alle Logs Alle WAF-Logs

Verfügbarkeit

WAF-Logs sind in allen Regionen der kommerziellen Realms verfügbar.

Inhalt eines Web Application Firewall-Logs

Ein WAF-Logdatensatz enthält die folgenden Felder:

Feld Beschreibung Beispiel
action Die von WAF ausgeführte Aktion, die entweder "zulassen" sein kann, wenn eine weitere Verarbeitung der Anforderung zulässig war, oder "block", wenn dies nicht der Fall war. allow
clientAddr Client-IP-Adresse. Nginx-Variable $remote_addr. 192.168.0.33:7870
countryCode Client-ISO-Ländercode alpha-2. "ca"
host In dieser Prioritätsreihenfolge: Hostname aus der Anforderungszeile, Hostname aus dem Anforderungsheaderfeld "Host" oder Servername, der einer Anforderung entspricht. Nginx-Variable $host. 192.168.0.103
listenerPort Port des Servers, der eine Anforderung akzeptiert hat. Nginx-Variable $server_port. "80"
Request.httpVersion Anforderungsprotokoll, in der Regel "HTTP/1.0", "HTTP/1.1" oder "HTTP/2.0". Nginx-Variable $server_protocol. "HTTP/1.1"
Request.id Eindeutiger Anforderungsbezeichner, der aus 16 zufälligen Byte im Hexadezimalformat generiert wurde. Nginx-Variable $request_id. "f8860949459e94181e650d4049615a01"
request.method Anforderungsmethode, in der Regel "GET" oder "POST". Nginx-Variable $request_method. “GET”
Anforderungspfad Vollständige ursprüngliche Anforderungs-URI (mit Argumenten). Nginx-Variable $request_uri. "/console/css/%252e%252e%252fconsole.portal"
RequestProtection.matchData Daten, die Regelaktionen ausgelöst haben, als die Anforderung geprüft wurde. Die Zeichenfolge enthält in der URI vorhandene Daten, getrennt durch ein Semikolon. 'Test_data_1;Test_data_2;Test_data_3'
requestProtection.matchIds Zeichenfolge mit übereinstimmenden Schutzregel-IDs und -Versionen (für Anforderungsprüfung). Bei der Berichterstellung werden IDs durch 3 Versionssymbole angehängt, sodass ID=123 und Version=4 als 123004 gemeldet wird. Einträge werden durch ein Semikolon getrennt. "9301000_v001;9301100_v001;9301100_v001;9300000_v001"
RequestProtection.matchingRules Regelnamen von Anforderungsschutzregeln, die bei der Prüfung der Anforderung übereinstimmen. Die Zeichenfolge enthält Regelnamen, die durch ein Semikolon getrennt sind. 'Rule_name_1;Rule_name_2;Rule_name_3'
ResponseProtection.matchingData Daten, die Regelaktionen ausgelöst haben (in der Antwortprüfung). Die Zeichenfolge enthält in der URI vorhandene Daten, getrennt durch ein Semikolon. 'Test_data_1;Test_data_2;Test_data_3'
Response.code Endgültiger Antwortcode an Client gesendet. Nginx-Variable $status. "401"
Response.size Vollständige Antwortgröße (Header + Body) in Byte. Nginx-Variable $bytes_sent. "139"
RequestAccessControl.matchingRules Regelnamen von Anforderungszugriffsregeln, die übereinstimmen. Zeichenfolgen enthalten Regelnamen, die durch ein Semikolon getrennt sind. 'Rule_name_1;Rule_name_2;Rule_name_3'
ResponseAccessControl.matchingRules Regelnamen von Antwortzugriffsregeln, die übereinstimmen. Zeichenfolgen enthalten Regelnamen, die durch ein Semikolon getrennt sind. 'Rule_name_1;Rule_name_2;Rule_name_3'
backendStatusCode Behält einen Statuscode der vom Upstreamserver abgerufenen Antwort bei. Statuscodes mehrerer Antworten werden durch Kommas und Doppelpunkte getrennt. Dies ist eine Nginx-Variable $upstream_status. "200"
ResponseProtection.matchingIds Zeichenfolge mit übereinstimmenden Schutzregel-IDs und -Versionen (für Anforderungsprüfung). Bei der Berichterstellung werden IDs durch 3 Versionssymbole angehängt, sodass ID=123 und Version=4 als 123004 gemeldet wird. Einträge werden durch ein Semikolon getrennt. '300_v004;25_v002;123_v001'
ResponseProtection.matchingRules Regelnamen von Antwortschutzregeln, die übereinstimmen. Zeichenfolgen mit Regelnamen, die durch ein Semikolon getrennt sind. Beispiel: 'Rule name 1;Rule name 2;Rule name 3'. "Recomended Rules"
requestRateLimiting.matchingRules Regelnamen der Satzbegrenzungsregeln, die übereinstimmen. Zeichenfolge mit Regelnamen, die durch ein Semikolon getrennt sind. 'Rule_name_1;Rule_name_2;Rule_name_3'.
responseProvider
Enthält Informationen darüber, woher die Antwort stammt:
  • Von Backend (Ursprung).
  • Von einem WAF-Modul (Modul- und Regelname).
  • Von der LB-HTTP-IP-Zugriffsregel.
  • Von der Zugriffsregel für die LB-HTTP-Methode.
  • Von LB-Umleitungsregel.
"requestProtection/Recomended Rules"
timestamp ES-Zeitstempel des Empfangs der Anforderung, Ortszeit im ISO 8601-Format. "2021-12-02T08:39:05Z"

Beispiel-Web Application Firewall-Log

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