Log per richiesta di Google Cloud Armor per il nome del criterio di sicurezza, la priorità delle regole di corrispondenza l'azione associata e le relative informazioni vengono registrate nell'ambito del logging per bilanciatori del carico delle applicazioni esterni e bilanciatori del carico di rete proxy esterni. Logging per i nuovi servizi di backend sono disabilitati per impostazione predefinita, quindi devi abilitare il logging per registrare le informazioni di logging complete per Google Cloud Armor.
I log di Google Cloud Armor fanno parte dei log di Cloud Load Balancing. Ciò significa che la generazione dei log di Google Cloud Armor è soggetta al log e la frequenza di campionamento configurata per il bilanciatore del carico. Se riduci la frequenza di campionamento per il bilanciatore del carico, i log delle richieste di Google Cloud Armor sono campionati ha ridotto il tasso. Inoltre, se utilizzi riferimenti di servizi tra progetti, vengono generati nell'ambito del progetto host o di servizio che include la mappa URL e il frontend del bilanciatore del carico. Pertanto, consigliamo gli amministratori del progetto frontend concedono le autorizzazioni per leggere i log agli amministratori del progetto di backend.
Utilizzando il logging, puoi visualizzare ogni richiesta valutata da Google Cloud Armor
politiche di sicurezza e il risultato o l'azione intrapresa. Ad esempio, per visualizzare i contenuti
richieste, puoi utilizzare filtri come
jsonPayload.enforcedSecurityPolicy.outcome="DENY"
o
jsonPayload.statusDetails="denied_by_security_policy"
.
Per abilitare il logging per un bilanciatore del carico delle applicazioni esterno, consulta Logging e monitoraggio del bilanciatore del carico delle applicazioni esterno Per il bilanciatore del carico di rete proxy esterno, puoi utilizzare Google Cloud CLI come elencato nella precedente sezione Logging e monitoraggio del bilanciatore del carico delle applicazioni esterno . Impossibile abilitare il logging per il bilanciatore del carico di rete proxy esterno utilizzando la console Google Cloud.
Inoltre, puoi impostare diversi livelli di logging per valutare se che i criteri di sicurezza e le relative regole funzionino come previsto. Per completamento consulta la sezione Logging dettagliato.
Voci di log dei criteri di sicurezza
Le seguenti voci di log in Esplora log si riferiscono a Google Cloud Armor
criteri di sicurezza e logging delle regole. Le voci includono la seguente struttura
nel seguente paese: jsonPayload
. I dettagli della richiesta HTTP vengono visualizzati nel messaggio httpRequest
.
statusDetails
(stringa): una descrizione testuale del codice di risposta.redirected_by_security_policy
: la richiesta è stata reindirizzata da un reindirizzamento regolabile,GOOGLE_RECAPTCHA
oEXTERNAL_302
.denied_by_security_policy
: una richiesta è stata rifiutata dal bilanciatore del carico a causa di un criterio di sicurezza di Google Cloud Armor.body_denied_by_security_policy
: il corpo di una richiesta è stato rifiutato dal carico a causa di un criterio di sicurezza di Google Cloud Armor.
enforcedSecurityPolicy
: la regola del criterio di sicurezza precedente in modo forzato.name
(stringa): il nome del criterio di sicurezza.priority
(numero): la priorità della regola corrispondente nell'elenco di sicurezza .adaptiveProtection
: informazioni sul deployment automatico Regola di Adaptive Protection, se applicabile.autoDeployAlertId
: ID avviso degli eventi che Adaptive Protection rilevato.
configuredAction
(stringa): il nome dell'azione configurata nella regola di corrispondenza, ad esempioALLOW
,DENY
,GOOGLE_RECAPTCHA
,EXTERNAL_302
,THROTTLE
(per una regola di limitazione),RATE_BASED_BAN
(per una regola di esclusione basata sulla frequenza).rateLimitAction
: informazioni sull'azione per la limitazione di frequenza quando viene abbinata la regola di limitazione o la regola di esclusione basata sulla tariffa.key
(stringa): valore chiave per il limite di frequenza (fino a 32 byte). Questo campo è omesso se il tipo di chiave èALL
o se il tipo di chiave èHTTP-HEADER
oHTTP-COOKIE
e l'intestazione o il cookie specificati non sono presenti nella richiesta.outcome
(stringa). I valori possibili sono i seguenti:"RATE_LIMIT_THRESHOLD_CONFORM"
se è inferiore al limite di frequenza configurato soglia."RATE_LIMIT_THRESHOLD_EXCEED"
se si supera il limite di frequenza configurato soglia."BAN_THRESHOLD_EXCEED"
se al di sopra della soglia di esclusione configurata.
outcome
(stringa): il risultato dell'esecuzione del comando configurato azione, ad esempioACCEPT
,DENY
,REDIRECT
,EXEMPT
.preconfiguredExprIds
(stringa): gli ID di tutte le regole WAF preconfigurate che hanno attivato la regola.threatIntelligence
: informazioni sugli elenchi di indirizzi IP corrispondenti da Threat Intelligence, se applicabile.categories
: (stringa) i nomi degli elenchi di indirizzi IP corrispondenti.
previewSecurityPolicy
: compilata se una richiesta corrisponde a una regola configurata per anteprima (presente solo quando una regola di anteprima avrebbe avuto la priorità sui una regola applicata in modo forzato).name
(stringa): il nome del criterio di sicurezzapriority
(numero): la priorità della regola corrispondente nell'elenco di sicurezza .configuredAction
(stringa): il nome dell'azione configurata nella regola di corrispondenza, ad esempioALLOW
,DENY
,GOOGLE_RECAPTCHA
,EXTERNAL_302
,THROTTLE
(per una regola di limitazione),RATE_BASED_BAN
(per una regola di esclusione basata sulla frequenza).rateLimitAction
: informazioni sull'azione per la limitazione di frequenza quando viene abbinata la regola di limitazione o la regola di esclusione basata sulla tariffa.key
(stringa): valore chiave per il limite di frequenza (fino a 32 byte). Questo campo è omesso se il tipo di chiave èALL
o se il tipo di chiave èHTTP-HEADER
oHTTP-COOKIE
e l'intestazione o il cookie specificati non sono presenti nella richiesta.outcome
(stringa). I valori possibili sono i seguenti:"RATE_LIMIT_THRESHOLD_CONFORM"
se è inferiore al limite di frequenza configurato soglia."RATE_LIMIT_THRESHOLD_EXCEED"
se si supera il limite di frequenza configurato soglia."BAN_THRESHOLD_EXCEED"
se al di sopra della soglia di esclusione configurata.
outcome
(stringa): il risultato dell'esecuzione della configurazione configurata.outcome
(stringa): il risultato dell'esecuzione del comando configurato azione, ad esempioACCEPT
,DENY
,REDIRECT
,EXEMPT
.preconfiguredExprIds
(stringa): gli ID di tutte le regole WAF preconfigurate che hanno attivato la regola.threatIntelligence
: informazioni sugli elenchi di indirizzi IP corrispondenti da Threat Intelligence, se applicabile.categories
: (stringa) i nomi degli elenchi di indirizzi IP corrispondenti.
enforcedEdgeSecurityPolicy
(anteprima): la regola del criterio di sicurezza perimetrale applicata.name
(stringa): il nome del criterio di sicurezza.priority
(numero): la priorità della regola corrispondente nell'elenco di sicurezza .configuredAction
(stringa): il nome dell'azione configurata nella regola di corrispondenza, ad esempioALLOW
,DENY
.outcome
(stringa): il risultato dell'esecuzione del comando configurato dell'azione, ad esempioACCEPT
,DENY
.
previewEdgeSecurityPolicy
(anteprima): compilata se una richiesta corrisponde a una regola del criterio di sicurezza perimetrale configurata per anteprima (presente solo quando una regola di anteprima avrebbe avuto la priorità sui una regola applicata in modo forzato).name
(stringa): il nome del criterio di sicurezza.priority
(numero): la priorità della regola corrispondente nell'elenco di sicurezza .configuredAction
(stringa): il nome dell'azione configurata nella regola di corrispondenza, ad esempioALLOW
,DENY
.outcome
(stringa): il risultato dell'esecuzione del comando configurato dell'azione, ad esempioACCEPT
,DENY
.
Visualizzazione dei log
Puoi visualizzare i log per un criterio di sicurezza di Google Cloud Armor solo nel nella console Google Cloud.
Console
Nella console Google Cloud, vai a Criteri di Google Cloud Armor.
Fai clic su
Azioni.Seleziona Visualizza log.
Richiedi il logging dei dati
Se utilizzato con Google Cloud Armor, jsonPayload
offre i seguenti componenti aggiuntivi
campo:
securityPolicyRequestData
: dati relativi alla richiesta mentre vengono elaborati da un criterio di sicurezza, indipendentemente dalla regola che alla fine corrisponde.recaptchaActionToken
: dati relativi a un token di azione reCAPTCHA.score (float)
: un punteggio di legittimità dell'utente incorporato in un Token di azione reCAPTCHA. Presente solo quando è presente un reCAPTCHA il token di azione è collegato alla richiesta ed è stato decodificato correttamente in base a una regola del criterio di sicurezza. Per ulteriori informazioni, vedi Applica la valutazione reCAPTCHA.
recaptchaSessionToken
: dati relativi a un token di sessione reCAPTCHA.score (float)
: un punteggio di legittimità dell'utente incorporato in un token di sessione reCAPTCHA. Presente solo quando è presente un reCAPTCHA il token di sessione è collegato alla richiesta ed è stato decodificato correttamente in base a una regola del criterio di sicurezza.
tlsJa3Fingerprint
: un'impronta digitale TTL/SSL JA3 se il client si connette utilizzandoHTTPS
,HTTP/2
oHTTP/3
. È presente solo se l'impronta è disponibile ed esiste un criterio di sicurezza che valuta la richiesta (indipendentemente dal fatto che un'espressione nel criterio corrisponda alla richiesta).
Esempi di log
Di seguito è riportato un esempio di dettagli di log per una regola di limitazione che blocca un richiesta:
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"
Di seguito è riportato un esempio di dettagli di log per una regola di esclusione basata sulla tariffa che blocca una richiesta:
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"
Passaggi successivi
Scopri di più sulla risoluzione dei problemi di Google Cloud Armor.