Anfrage-Logging verwenden

Google Cloud Armor-Anfragelogs für den Namen der Sicherheitsrichtlinie, die Priorität der Abgleichsregel, die zugehörige Aktion und die zugehörigen Informationen werden als Teil des Logging für externe Application Load Balancer und externe Proxy-Network Load Balancer protokolliert. Das Logging für neue Backend-Dienste ist standardmäßig deaktiviert. Daher müssen Sie das Logging aktivieren, um vollständige Logging-Informationen für Cloud Armor aufzuzeichnen.

Cloud Armor-Logs sind Teil der Cloud Load Balancing-Logs. Daher unterliegt die Cloud Armor-Loggenerierung der Log-Sampling-Rate, die für Ihren Load Balancer konfiguriert ist. Wenn Sie die Sampling-Rate für Ihren Load Balancer reduzieren, werden Ihre Cloud Armor-Anfragelogs mit dieser reduzierten Rate gesampelt. Wenn Sie außerdem dienstübergreifende Referenzen verwenden, werden Logs unter dem Host- oder Dienstprojekt generiert, das das Frontend und die URL-Zuordnung Ihres Load Balancers enthält. Daher empfehlen wir, dass Administratoren im Frontend-Projekt Administratoren im Backend-Projekt Berechtigungen zum Lesen von Protokollen und Messwerten gewähren.

Mit Logging können Sie jede Anfrage sehen, die von einer Cloud Armor-Sicherheitsrichtlinie ausgewertet wird, und sich die Ergebnisse und Maßnahmen ansehen, die basierend auf der Abgleichsregel mit der höchsten Priorität ergriffen wurden. Wenn Sie beispielsweise abgelehnte Anfragen aufrufen möchten, können Sie Filter wie jsonPayload.enforcedSecurityPolicy.outcome="DENY" oder jsonPayload.statusDetails="denied_by_security_policy" verwenden.

Informationen zum Aktivieren des Logging für einen externen Application Load Balancer finden Sie unter Logging auf der Seite Logging und Monitoring für regionalen externen Application Load Balancer. Für den externen Proxy-Network Load Balancer können Sie die Google Cloud CLI-Befehle verwenden, die auf der vorherigen Seite Logging und Monitoring für externen Application Load Balancer aufgeführt sind. Sie können das Logging für den externen Proxy-Network Load Balancer nicht über die Cloud de Confiance Console aktivieren.

Darüber hinaus können Sie verschiedene Logging-Ebenen festlegen, um zu beurteilen, ob Ihre Sicherheitsrichtlinien und deren Regeln wie vorgesehen funktionieren. Ausführliche Informationen finden Sie unter Ausführliches Logging.

Logeinträge für Sicherheitsrichtlinien

Die im Folgenden aufgeführten Logeinträge im Logs Explorer beziehen sich auf das Cloud Armor-Sicherheitsrichtlinien- und Regel-Logging. Die Einträge haben die folgende Struktur in jsonPayload. HTTP-Anfragedetails sind in der httpRequest-Meldung enthalten.

  • statusDetails: eine Textbeschreibung des Antwortcodes.
    • redirected_by_security_policy: Die Anfrage wurde durch eine Weiterleitungsregel weitergeleitet, entweder GOOGLE_RECAPTCHA oder EXTERNAL_302.
    • denied_by_security_policy: Eine Anfrage wurde vom Load Balancer aufgrund einer Cloud Armor-Sicherheitsrichtlinie abgelehnt.
    • body_denied_by_security_policy: Ein Anfragetext wurde vom Load Balancer aufgrund einer Cloud Armor-Sicherheitsrichtlinie abgelehnt.
  • enforcedSecurityPolicy: die Sicherheitsrichtlinienregel, die erzwungen wurde
    • name: der Name der Sicherheitsrichtlinie.
    • priority: eine numerische Priorität der Abgleichsregel in der Sicherheitsrichtlinie.
    • configuredAction: Der Name der konfigurierten Aktion in der Abgleichsregel, z. B. ALLOW, DENY, GOOGLE_RECAPTCHA, EXTERNAL_302, THROTTLE (für eine Drosselungsregel), RATE_BASED_BAN (für eine ratenbasierte Sperrregel).
    • rateLimitAction: Informationen zur Ratenbegrenzungsaktion, wenn eine Drosselungsregel oder ratenbasierte Sperrregel abgeglichen wird.
      • key: Schlüsselwert für Ratenbegrenzung (bis zu 36 Byte). Dieses Feld wird weggelassen, wenn der Schlüsseltyp ALL ist oder der Schlüsseltyp HTTP-HEADER oder HTTP-COOKIE ist und der angegebene Header oder das angegebene Cookie nicht in der Anfrage vorhanden ist.
      • outcome: Mögliche Werte sind:
        • "RATE_LIMIT_THRESHOLD_CONFORM" bei Unterschreitung des konfigurierten Ratengrenzwerts.
        • "RATE_LIMIT_THRESHOLD_EXCEED" bei Überschreitung des konfigurierten Ratengrenzwerts.
        • "BAN_THRESHOLD_EXCEED" bei Überschreitung des konfigurierten Sperrgrenzwerts.
    • outcome: das Ergebnis der Ausführung der konfigurierten Aktion, z. B. ACCEPT, DENY, REDIRECT, EXEMPT.
    • preconfiguredExprIds: Die IDs aller vorkonfigurierten WAF-Regelausdrücke, die die Regel ausgelöst haben.
    • threatIntelligence: Informationen zu den übereinstimmenden IP-Adresslisten von Threat Intelligence, falls zutreffend.
      • categories: die Namen der übereinstimmenden IP-Adresslisten.
  • previewSecurityPolicy: enthält nur Daten, wenn bei einer Anfrage eine für die Vorschau konfigurierte Regel gilt (nur vorhanden, wenn eine Vorschauregel Vorrang vor der erzwungenen Regel gehabt hat).
    • name: der Name der Sicherheitsrichtlinie
    • priority: eine numerische Priorität der Abgleichsregel in der Sicherheitsrichtlinie.
    • configuredAction: Der Name der konfigurierten Aktion in der Abgleichsregel, z. B. ALLOW, DENY, GOOGLE_RECAPTCHA, EXTERNAL_302, THROTTLE (für eine Drosselungsregel), RATE_BASED_BAN (für eine ratenbasierte Sperrregel).
    • rateLimitAction: Informationen zur Ratenbegrenzungsaktion, wenn eine Drosselungsregel oder ratenbasierte Sperrregel abgeglichen wird.
      • key: Schlüsselwert für Ratenbegrenzung (bis zu 36 Byte). Dieses Feld wird weggelassen, wenn der Schlüsseltyp ALL ist oder der Schlüsseltyp HTTP-HEADER oder HTTP-COOKIE ist und der angegebene Header oder das angegebene Cookie nicht in der Anfrage vorhanden ist.
      • outcome: Mögliche Werte sind:
        • "RATE_LIMIT_THRESHOLD_CONFORM" bei Unterschreitung des konfigurierten Ratengrenzwerts.
        • "RATE_LIMIT_THRESHOLD_EXCEED" bei Überschreitung des konfigurierten Ratengrenzwerts.
        • "BAN_THRESHOLD_EXCEED" bei Überschreitung des konfigurierten Sperrgrenzwerts.
    • outcome: das Ergebnis der Ausführung der konfigurierten Aktion, z. B. ACCEPT, DENY, REDIRECT, EXEMPT.
    • preconfiguredExprIds: Die IDs aller vorkonfigurierten WAF-Regelausdrücke, die die Regel ausgelöst haben.
    • threatIntelligence: Informationen zu den übereinstimmenden IP-Adresslisten von Threat Intelligence, falls zutreffend.
      • categories: die Namen der übereinstimmenden IP-Adresslisten.
  • enforcedEdgeSecurityPolicy: die Edge-Sicherheitsrichtlinienregel, die erzwungen wurde
    • name: der Name der Sicherheitsrichtlinie.
    • priority: eine numerische Priorität der Abgleichsregel in der Sicherheitsrichtlinie.
    • configuredAction: Der Name der konfigurierten Aktion in der Abgleichsregel, z. B. ALLOW, DENY.
    • outcome: das Ergebnis der Ausführung der konfigurierten Aktion, z. B. ACCEPT, DENY.
  • previewEdgeSecurityPolicy: enthält nur Daten, wenn bei einer Anfrage eine für die Vorschau konfigurierte Regel gilt (nur vorhanden, wenn eine Vorschauregel Vorrang vor der erzwungenen Regel gehabt hat).
    • name: der Name der Sicherheitsrichtlinie.
    • priority: eine numerische Priorität der Abgleichsregel in der Sicherheitsrichtlinie.
    • configuredAction: Der Name der konfigurierten Aktion in der Abgleichsregel, z. B. ALLOW, DENY.
    • outcome: das Ergebnis der Ausführung der konfigurierten Aktion, z. B. ACCEPT, DENY.

Logs ansehen

Sie können die Logs für eine Cloud Armor-Sicherheitsrichtlinie nur in der Cloud de Confiance Console aufrufen.

Console

  1. Rufen Sie in der Cloud de Confiance Console die Seite Cloud Armor-Richtlinien auf.

    Zu Cloud Armor-Richtlinien

  2. Klicken Sie auf Aktionen.

  3. Wählen Sie Logs ansehen aus.

Anfragedatenlogging

Bei Verwendung mit Cloud Armor enthält jsonPayload das folgende zusätzliche Feld:

  • securityPolicyRequestData: Anfragebezogene Daten, die von einer Sicherheitsrichtlinie verarbeitet werden, unabhängig davon, welche Regel schließlich übereinstimmt.
    • recaptchaActionToken: Daten zu einem reCAPTCHA-Aktionstoken.
      • score: ein Score zur Bewertung der Rechtmäßigkeit des Nutzers, die in ein reCAPTCHA-Aktionstoken eingebettet ist. Ist nur vorhanden, wenn ein reCAPTCHA-Aktionstoken an die Anfrage angehängt ist und es basierend auf einer Sicherheitsrichtlinienregel erfolgreich decodiert wurde. Weitere Informationen finden Sie unter reCAPTCHA-Bewertung erzwingen.
    • recaptchaSessionToken: Daten zu einem reCAPTCHA-Sitzungstoken.
      • score: ein Score zur Bewertung der Rechtmäßigkeit des Nutzers, die in ein reCAPTCHA-Sitzungstoken eingebettet ist. Ist nur vorhanden, wenn ein reCAPTCHA-Sitzungstoken an die Anfrage angehängt ist und es basierend auf einer Sicherheitsrichtlinienregel erfolgreich decodiert wurde.
    • userIpInfo: die Daten zur IP-Nutzung des Nutzers.
      • source: ein Feld, das in der Regel der Header ist, aus dem die Nutzer-IP-Adresse aufgelöst wurde.
      • ipAddress: die IP-Adresse, die aus dem Quellfeld aufgelöst wurde.
    • remoteIpInfo: die Daten zur Client-IP-Adresse der Anfrage.
      • ipAddress: die Client-IP-Adresse der Anfrage.
      • region_code: der aus zwei Buchstaben bestehende Ländercode oder Regionscode für die IP-Adresse.
      • asn: die fünfstellige Nummer des autonomen Systems (Autonomous System Number, ASN), die der IP-Adresse entspricht.
    • tlsJa4Fingerprint: ein JA4-TTL/SSL-Fingerabdruck, wenn der Client eine Verbindung über HTTPS, HTTP/2 oder HTTP/3 herstellt. Ist nur vorhanden, wenn der Fingerabdruck verfügbar ist und es eine Sicherheitsrichtlinie gibt, die die Anfrage auswertet (unabhängig davon, ob ein Ausdruck in der Richtlinie mit der Anfrage übereinstimmt).
    • tlsJa3Fingerprint: ein JA3-TTL/SSL-Fingerabdruck, wenn der Client eine Verbindung über HTTPS, HTTP/2 oder HTTP/3 herstellt. Ist nur vorhanden, wenn der Fingerabdruck verfügbar ist und es eine Sicherheitsrichtlinie gibt, die die Anfrage auswertet (unabhängig davon, ob ein Ausdruck in der Richtlinie mit der Anfrage übereinstimmt).

Logbeispiele

Das folgende Beispiel zeigt Logdetails für eine Drosselungsregel, die eine Anfrage blockiert:

jsonPayload: {
 enforcedSecurityPolicy: {
  priority: 100
  name: "sample-prod-policy"
  configuredAction: "THROTTLE"
  outcome: "DENY"
  rateLimitAction: {
    key:"sample-key"
    outcome:"RATE_LIMIT_THRESHOLD_EXCEED"
  }
 }
 @type: "type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry"
 statusDetails: "denied_by_security_policy"
}
httpRequest: {8}
resource: {2}
timestamp: "2021-03-17T19:16:48.185763Z"

Das folgende Beispiel zeigt Logdetails für eine ratenbasierte Sperrregel, die eine Anfrage blockiert:

jsonPayload: {
 @type: "type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry"
 enforcedSecurityPolicy: {
  priority: 150
  name: "sample-prod-policy"
  outcome: "DENY"
  configuredAction: "RATE_BASED_BAN"
  rateLimitAction: {
    key:"sample-key"
    outcome:"BAN_THRESHOLD_EXCEED"
  }
 }
 statusDetails: "denied_by_security_policy"
}
httpRequest: {8}
resource: {2}
timestamp: "2021-03-17T19:27:17.393244Z"

Nächste Schritte