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 Abtastrate für Ihren Load Balancer reduzieren, werden Ihre Cloud Armor-Anfragelogs mit dieser Rate stichprobenartig erfasst. 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 Administratoren im Frontend-Projekt, Administratoren im Backend-Projekt Berechtigungen zum Lesen von Logs und Messwerten zu 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.
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 Beschreibung des Antwortcodesredirected_by_security_policy: Die Anfrage wurde durch eine Weiterleitungsregel weitergeleitet, entwederGOOGLE_RECAPTCHAoderEXTERNAL_302.denied_by_security_policy: Eine Anfrage wurde von einem Load Balancer aufgrund einer Cloud Armor-Sicherheitsrichtlinie abgelehnt.body_denied_by_security_policy: Eine Anfrage wurde von einem Load Balancer aufgrund einer Cloud Armor-Sicherheitsrichtlinie abgelehnt.
enforcedSecurityPolicy: die Sicherheitsrichtlinienregel, die erzwungen wurdename: der Name der Sicherheitsrichtliniepriority: eine numerische Priorität der Abgleichsregel in der SicherheitsrichtlinieadaptiveProtection: Informationen zur automatisch bereitgestellten Google Cloud Armor Adaptive Protection-Regel, falls zutreffendautoDeployAlertId: Die Benachrichtigungs-ID der Ereignisse, die Adaptive Protection erkannt hat.
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 wirdkey: Schlüsselwert für Ratenbegrenzung (bis zu 36 Byte) Dieses Feld wird weggelassen, wenn der SchlüsseltypALList oder der SchlüsseltypHTTP-HEADERoderHTTP-COOKIEist 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 Ratengrenzwertes"RATE_LIMIT_THRESHOLD_EXCEED"bei Überschreitung des konfigurierten Ratengrenzwertes"BAN_THRESHOLD_EXCEED"bei Überschreitung des konfigurierten Sperrgrenzwerts
outcome: das Ergebnis der Ausführung der konfigurierten Aktion, z. B.ACCEPT,DENY,REDIRECT,EXEMPTpreconfiguredExprIds: die IDs aller vorkonfigurierten WAF-Regelausdrücke, die die Regel ausgelöst habenthreatIntelligence: Informationen zu den abgeglichenen IP-Adresslisten von Google Threat Intelligence, falls zutreffendcategories: die Namen der abgeglichenen IP-Adresslisten
addressGroup: Informationen zu den abgeglichenen Adressgruppen, falls zutreffendnames: die Namen der abgeglichenen Adressgruppen
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 Sicherheitsrichtliniepriority: eine numerische Priorität der Abgleichsregel in der SicherheitsrichtlinieconfiguredAction: 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 wirdkey: Schlüsselwert für Ratenbegrenzung (bis zu 36 Byte) Dieses Feld wird weggelassen, wenn der SchlüsseltypALList oder der SchlüsseltypHTTP-HEADERoderHTTP-COOKIEist 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 Ratengrenzwertes"RATE_LIMIT_THRESHOLD_EXCEED"bei Überschreitung des konfigurierten Ratengrenzwertes"BAN_THRESHOLD_EXCEED"bei Überschreitung des konfigurierten Sperrgrenzwerts
outcome: das Ergebnis der Ausführung der konfigurierten Aktion, z. B.ACCEPT,DENY,REDIRECT,EXEMPTpreconfiguredExprIds: die IDs aller vorkonfigurierten WAF-Regelausdrücke, die die Regel ausgelöst habenthreatIntelligence: Informationen zu den abgeglichenen IP-Adresslisten von Threat Intelligence, falls zutreffendcategories: die Namen der abgeglichenen IP-Adresslisten
addressGroup: Informationen zu den abgeglichenen Adressgruppen, falls zutreffendnames: die Namen der abgeglichenen Adressgruppen
enforcedEdgeSecurityPolicy: die Edge-Sicherheitsrichtlinienregel, die erzwungen wurdename: der Name der Sicherheitsrichtliniepriority: die Priorität der Abgleichsregel in der SicherheitsrichtlinieconfiguredAction: der Name der konfigurierten Aktion in der Abgleichsregel, z. B.ALLOW,DENYoutcome: das Ergebnis der Ausführung der konfigurierten Aktion, z. B.ACCEPT,DENY
previewEdgeSecurityPolicy: enthält Werte, wenn eine Anfrage mit einer Edge-Sicherheitsrichtlinienregel für die Vorschau übereinstimmt Der LogeintragpreviewEdgeSecurityPolicyist nur vorhanden, wenn eine Vorschauregel Vorrang vor der erzwungenen Regel hat.name: der Name der Sicherheitsrichtliniepriority: eine numerische Priorität der Abgleichsregel in der SicherheitsrichtlinieconfiguredAction: der Name der konfigurierten Aktion in der Abgleichsregel, z. B.ALLOW,DENYoutcome: 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 Google Cloud Console aufrufen.
Console
Rufen Sie in der Google Cloud console die Seite Cloud Armor-Richtlinien auf.
Klicken Sie auf Aktionen.
Wählen Sie Logs ansehen aus.
Anfragedatenlogging
Bei Verwendung mit Cloud Armor hat jsonPayload das folgende zusätzliche Feld:
securityPolicyRequestData: Anfragebezogene Daten, die von einer Sicherheitsrichtlinie verarbeitet werden, unabhängig davon, welche Regel schließlich übereinstimmtrecaptchaActionToken: Daten, die sich auf ein reCAPTCHA-Aktionstoken beziehenscore: 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-Bewertung erzwingen.
recaptchaSessionToken: Daten, die sich auf ein reCAPTCHA-Sitzungstoken beziehenscore: ein Score zur Bewertung der Rechtmäßigkeit des Nutzers, die in ein reCAPTCHA-Sitzungstoken eingebettet ist Ist nur vorhanden, wenn ein reCAPTCHA-Sitzungstoken mit der Anfrage verknüpft ist, und es basierend auf einer Sicherheitsrichtlinienregel erfolgreich decodiert wird.
userIpInfo: die Daten zur IP-Nutzung des Nutzerssource: ein Feld, das in der Regel der Header ist, aus dem die Nutzer-IP-Adresse aufgelöst wurdeipAddress: die IP-Adresse, die aus dem Quellfeld aufgelöst wurde
remoteIpInfo: die Daten zur Client-IP-Adresse der AnfrageipAddress: die Client-IP-Adresse der Anfrageregion_code: der aus zwei Buchstaben bestehende Ländercode oder Regionscode für die IP-Adresseasn: 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 überHTTPS,HTTP/2oderHTTP/3herstellt Nur vorhanden, wenn der Fingerabdruck verfügbar ist und eine Sicherheitsrichtlinie vorhanden ist, 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 überHTTPS,HTTP/2oderHTTP/3herstellt Nur vorhanden, wenn der Fingerabdruck verfügbar ist und eine Sicherheitsrichtlinie vorhanden ist, 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
- Informationen zur Fehlerbehebung bei Cloud Armor Problemen.