Ausführliche Protokollierung

Auf dieser Seite finden Sie Informationen zum Konfigurieren ausführlicher Protokollierung, einer optionalen Funktion, die Sie mit Ihren Google Cloud Armor-Sicherheitsrichtlinien verwenden können.

Sie können die in Ihren Logs aufgezeichnete Detailebene anpassen. Wir empfehlen, das ausführliche Logging nur zu aktivieren, wenn Sie eine Richtlinie erstellen, Änderungen an einer Richtlinie vornehmen oder Fehler in Richtlinien beheben. Wenn Sie das ausführliche Logging aktivieren, gilt es für Regeln im Vorschaumodus sowie aktive (nicht in der Vorschau angezeigte) Regeln während Standardvorgängen.

Angenommen, Sie können nicht feststellen, warum eine vorkonfigurierte WAF-Regel durch eine bestimmte Anfrage ausgelöst wurde. Die Standard-Ereignislogs von Google Cloud Armor enthalten die ausgelöste Regel sowie die Untersignatur. Möglicherweise müssen Sie jedoch die Details aus der eingehenden Anfrage identifizieren, die die Regel zur Fehlerbehebung, Regelvalidierung oder Regeloptimierung ausgelöst haben. Dies ist ein Beispiel. Wir empfehlen, ausführliches Logging zu aktivieren.

Sie können die Logging-Ebene von Google Cloud Armor so konfigurieren, dass für jede Sicherheitsrichtlinie mit dem Flag --log-level im gcloud CLI ein detaillierteres Logging möglich ist.

Diese Option ist standardmäßig deaktiviert. Die Syntax für das Flag lautet:

--log-level=[NORMAL | VERBOSE]

Das Flag ist nur mit dem Befehl gcloud compute security-policies update verfügbar. Mit dieser Option können Sie keine neue Sicherheitsrichtlinie erstellen, es sei denn, Sie erstellen eine Sicherheitsrichtlinie in einer Datei und importieren diese Datei dann. Weitere Informationen finden Sie unter Sicherheitsrichtlinien importieren.

Beispiel:

  gcloud compute security-policies update ca-policy-1 \
      --log-level=VERBOSE
  

Wir empfehlen, das ausführliche Logging zu aktivieren, wenn Sie eine Richtlinie erstellen, Änderungen an einer Richtlinie vornehmen oder Fehler in einer Richtlinie beheben.

Werte, die protokolliert werden, wenn die ausführliche Protokollierung aktiviert ist

Wenn das ausführliche Logging aktiviert ist, werden zusätzliche Informationen im Anfragelog zum Load-Balancing protokolliert, das an Cloud Logging gesendet wird. Die folgenden zusätzlichen Felder werden im Anfragelog angezeigt, wenn das ausführliche Logging aktiviert ist:

  • matchedFieldType (String): Dies ist der Feldtyp, der die Übereinstimmung verursacht.

    • ARG_NAMES
    • ARG_VALUES
    • BODY

      • Wenn sich das Feld BODY im Log befindet, bedeutet dies, dass der gesamte Post-Text mit einer Regel übereinstimmt.
    • COOKIE_VALUES

    • COOKIE_NAMES

    • FILENAME

    • HEADER_VALUES

    • RAW_URI

    • REFERER

    • REQUEST_LINE

    • URI

    • USER_AGENT

    • HEADER_NAMES

    • ARGS_GET

    • X_FILENAME

    • ARG_NAME_COUNT

    • TRANSFER_ENCODING

    • REQUEST_METHOD

  • matchedFieldName (String): Wenn dies mit dem Wertteil eines Schlüssel/Wert-Paars übereinstimmt, wird der Schlüsselwert in diesem Feld gespeichert. Andernfalls ist das Feld leer.

  • matchedFieldValue (String): Ein Präfix mit bis zu 16 Byte für den Teil des Felds, der die Übereinstimmung verursacht.

  • matchedFieldLength (Ganzzahl): Die Gesamtlänge des Felds.

  • matchedOffset (Ganzzahl): Der Start-Offset im Feld, der die Übereinstimmung verursacht.

  • matchedLength (Ganzzahl): Die Länge der Übereinstimmung.

Sie können diese Anfrage beispielsweise an ein Projekt senden, in dem WAF-Regeln zum SQL-Einschleusen aktiviert sind:

curl http://IP_ADDR/?sql_table=abc%20pg_catalog%20xyz

Der Eintrag im Log-Explorer würde so aussehen:

enforcedSecurityPolicy: {
 name: "user-staging-sec-policy"
 priority: 100
 configuredAction: "DENY"
 outcome: "DENY
 preconfiguredExprIds: [
   0: "owasp-crs-v030001-id942140-sqli"
  ]
matchedFieldType: "ARG_VALUES"
matchedFieldName: "sql_table"
matchedFieldValue: "pg_catalog"
matchedFieldLength: 18
matchedOffset: 4
matchedLength: 10
}

Datenschutz beim Aktivieren des ausführlichen Loggings

Bei Verwendung des ausführlichen Loggings protokolliert Google Cloud Armor die Snippets der Elemente aus den eingehenden Anfragen, die eine bestimmte vorkonfigurierte WAF-Regel ausgelöst haben. Diese Snippets können Teile von Anfrageheadern, Anfrageparametern oder Elemente des POST-Texts enthalten. Es ist möglich, dass ein Snippet sensible Daten wie eine IP-Adresse oder andere vertrauliche Daten aus der eingehenden Anfrage enthält. Dies hängt davon ab, was in den Anfrageheadern oder im Hauptteil enthalten ist und was die WAF-Regel auslöst.

Beachten Sie beim Aktivieren des ausführlichen Loggings, dass die Gefahr der Speicherung potenziell vertraulicher Daten besteht. Wir empfehlen, das ausführliche Logging nur während der Erstellung und Validierung von Regeln oder zur Fehlerbehebung zu aktivieren. Während des normalen Betriebs empfehlen wir, das ausführliche Logging deaktiviert zu lassen.

Nächste Schritte