Google Cloud Armor-Anfragelogs für den Namen der Sicherheitsrichtlinie, Priorität der Abgleichsregel, zugehörige Aktion und zugehörige Informationen werden als Teil des Logging für externe Application Load Balancer und externe Proxy-Netzwerk-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 Google Cloud Armor aufzuzeichnen.
Google Cloud Armor-Logs sind Teil der Cloud Load Balancing-Logs. Das bedeutet, dass die Google Cloud Armor-Loggenerierung der Abtastrate unterliegt, die für Ihren Load Balancer konfiguriert ist. Wenn Sie die Abtastrate für Ihren Load Balancer reduzieren, werden Ihre Google Cloud Armor-Anfragelogs mit dieser Rate abgetastet. Wenn Sie außerdem projektübergreifende Dienstverweise verwenden, werden Protokolle im Host- oder Dienstprojekt generiert, das das Frontend und die URL-Zuordnung Ihres Load Balancers enthält. Wir empfehlen daher, dass Administratoren im Frontend-Projekt Administratoren im Backend-Projekt Leseberechtigungen für Protokolle und Messwerte gewähren.
Mit Logging können Sie jede Anfrage sehen, die von einer Google Cloud Armor-Sicherheitsrichtlinie ausgewertet wird, und sich die Ergebnisse und Maßnahmen ansehen, die anhand der Regel 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 Loggings für einen externen Application Load Balancer finden Sie unter Logging und Monitoring für externe Application Load Balancer. Für den externen Proxy-Network Load Balancer können Sie die Google Cloud CLI-Befehle verwenden, wie auf der vorherigen Seite Logging und Monitoring eines externen Application Load Balancers aufgeführt. Sie können das Logging für den externen Proxy-Network Load Balancer nicht über die Google Cloud 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 in der Logs Explorer beziehen sich auf das Google Cloud Armor-Sicherheitsrichtlinien- und Regel-Logging. Die Einträge haben die folgende Struktur in jsonPayload
. HTTP-Anfragedetails sind in der httpRequest
-Meldung enthalten.
statusDetails
(String): eine Beschreibung des Antwortcodesredirected_by_security_policy
: Die Anfrage wurde durch eine Weiterleitungsregel weitergeleitet, entwederGOOGLE_RECAPTCHA
oderEXTERNAL_302
.denied_by_security_policy
: Eine Anfrage wurde von einem Load-Balancer aufgrund einer Google Cloud Armor-Sicherheitsrichtlinie abgelehnt.body_denied_by_security_policy
: Eine Anfrage wurde von einem Load-Balancer aufgrund einer Google Cloud Armor-Sicherheitsrichtlinie abgelehnt.
enforcedSecurityPolicy
: die Sicherheitsrichtlinienregel, die erzwungen wurdename
(String): Der Name der Sicherheitsrichtlinie.priority
(Zahl): Die Priorität der Abgleichsregel in der Sicherheitsrichtlinie.adaptiveProtection
: Informationen zur automatisch bereitgestellten Adaptive Protection-Regel, sofern zutreffend.autoDeployAlertId
: Die Benachrichtigungs-ID der Ereignisse, die Adaptive Protection erkannt hat.
configuredAction
(String): 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
(String): Schlüsselwert für Ratenbegrenzung (bis zu 36 Byte). Dieses Feld wird weggelassen, wenn der SchlüsseltypALL
ist oder der SchlüsseltypHTTP-HEADER
oderHTTP-COOKIE
ist und der angegebene Header oder das angegebene Cookie nicht in der Anfrage vorhanden ist.outcome
(String): Mögliche Werte sind:"RATE_LIMIT_THRESHOLD_CONFORM"
bei Unterschreitung des konfigurierten Ratengrenzwertes."RATE_LIMIT_THRESHOLD_EXCEED"
bei Überschreitung des konfigurierten Ratengrenzwertes."BAN_THRESHOLD_EXCEED"
bei Überschreitung des konfigurierten Sperrgrenzwerts.
outcome
(String): das Ergebnis der Ausführung der konfigurierten Aktion, z. B.ACCEPT
,DENY
,REDIRECT
,EXEMPT
.preconfiguredExprIds
(String): Die IDs aller vorkonfigurierten WAF-Regelausdrücke, die die Regel ausgelöst haben.threatIntelligence
: Informationen zu den übereinstimmenden IP-Adressenlisten aus Threat Intelligence, sofern zutreffend.categories
: (String) Name(s) der übereinstimmenden IP-Adressliste(n).
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
(String): Der Name der Sicherheitsrichtliniepriority
(Zahl): Die Priorität der Abgleichsregel in der Sicherheitsrichtlinie.configuredAction
(String): 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
(String): Schlüsselwert für Ratenbegrenzung (bis zu 36 Byte). Dieses Feld wird weggelassen, wenn der SchlüsseltypALL
ist oder der SchlüsseltypHTTP-HEADER
oderHTTP-COOKIE
ist und der angegebene Header oder das angegebene Cookie nicht in der Anfrage vorhanden ist.outcome
(String): Mögliche Werte sind:"RATE_LIMIT_THRESHOLD_CONFORM"
bei Unterschreitung des konfigurierten Ratengrenzwertes."RATE_LIMIT_THRESHOLD_EXCEED"
bei Überschreitung des konfigurierten Ratengrenzwertes."BAN_THRESHOLD_EXCEED"
bei Überschreitung des konfigurierten Sperrgrenzwerts.
outcome
(String): das Ergebnis der Ausführung der konfigurierten.outcome
(String): das Ergebnis der Ausführung der konfigurierten Aktion, z. B.ACCEPT
,DENY
,REDIRECT
,EXEMPT
.preconfiguredExprIds
(String): Die IDs aller vorkonfigurierten WAF-Regelausdrücke, die die Regel ausgelöst haben.threatIntelligence
: Informationen zu den übereinstimmenden IP-Adressenlisten aus Threat Intelligence, sofern zutreffend.categories
: (String) Name(s) der übereinstimmenden IP-Adressliste(n).
enforcedEdgeSecurityPolicy
(Vorschau): Die erzwungene Edge-Sicherheitsrichtlinienregel.name
(String): Der Name der Sicherheitsrichtlinie.priority
(Zahl): Die Priorität der Abgleichsregel in der Sicherheitsrichtlinie.configuredAction
(String): der Name der konfigurierten Aktion in der Abgleichsregel, z. B.ALLOW
,DENY
.outcome
(String): das Ergebnis der Ausführung der konfigurierten Aktion, z. B.ACCEPT
,DENY
.
previewEdgeSecurityPolicy
(Vorschau): Enthält Werte, wenn eine Anfrage mit einer Edge-Sicherheitsrichtlinienregel für die Vorschau übereinstimmt (nur vorhanden, wenn eine Vorschauregel Vorrang vor der erzwungenen Regel hat)name
(String): Der Name der Sicherheitsrichtlinie.priority
(Zahl): Die Priorität der Abgleichsregel in der Sicherheitsrichtlinie.configuredAction
(String): der Name der konfigurierten Aktion in der Abgleichsregel, z. B.ALLOW
,DENY
.outcome
(String): das Ergebnis der Ausführung der konfigurierten Aktion, z. B.ACCEPT
,DENY
.
Logs ansehen
Sie können die Logs für eine Google Cloud Armor-Sicherheitsrichtlinie nur in der Google Cloud Console aufrufen.
Console
Rufen Sie in der Google Cloud Console Google Cloud Armor-Richtlinien auf.
Klicken Sie auf
Aktionen.Wählen Sie Logs ansehen aus.
Daten-Logging anfordern
Bei Verwendung mit Google 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, die sich auf ein reCAPTCHA-Aktionstoken beziehen.score (float)
: ein Score zur Bewertung der Rechtmäßigkeit des Nutzers, die in ein reCAPTCHA-Aktionstoken eingebettet ist. Nur vorhanden, wenn ein reCAPTCHA-Aktionstoken mit der Anfrage verknüpft ist und es basierend auf einer Sicherheitsrichtlinie erfolgreich decodiert wird. Weitere Informationen finden Sie unter reCAPTCHA-Prüfung erzwingen.
recaptchaSessionToken
: Daten, die sich auf ein reCAPTCHA-Sitzungstoken beziehen.score (float)
: ein Score zur Bewertung der Rechtmäßigkeit des Nutzers, die in ein reCAPTCHA-Sitzungstoken eingebettet ist. Dieser Wert ist nur vorhanden, wenn mit der Anfrage ein reCAPTCHA-Sitzungstoken verknüpft ist und es basierend auf einer Sicherheitsrichtlinienregel erfolgreich decodiert wird.
tlsJa3Fingerprint
: JA3-TTL/SSL-Fingerabdruck, wenn der Client eine Verbindung überHTTPS
,HTTP/2
oderHTTP/3
herstellt. 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
Fehlerbehebung bei Google Cloud Armor