I log per richiesta di Google Cloud Armor relativi al nome del criterio di sicurezza, alla priorità della regola di corrispondenza, all'azione associata e alle informazioni correlate vengono registrati nell'ambito della registrazione per i bilanciatori del carico delle applicazioni esterni e i bilanciatori del carico di rete proxy esterni. Il logging per i nuovi servizi di backend è disabilitato per impostazione predefinita, quindi devi attivarlo per registrare informazioni 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 agli amministratori del progetto frontend di concedere le autorizzazioni per leggere i log e le metriche 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 attivare 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 . Non puoi attivare la registrazione 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 completa 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 per via di un criterio di sicurezza di Google Cloud Armor.body_denied_by_security_policy
: il corpo di una richiesta è stato negato dal bilanciatore del carico a causa di un criterio di sicurezza di Google Cloud Armor.
enforcedSecurityPolicy
: la regola del criterio di sicurezza applicata.name
(stringa): il nome del criterio di sicurezza.priority
(numero): la priorità della regola di corrispondenza nel criterio di sicurezza.adaptiveProtection
: informazioni sulla regola di Protezione adattiva di cui è stato eseguito il deployment automatico, se applicabile.autoDeployAlertId
: l'ID avviso degli eventi rilevati da Adaptive Protection.
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 divieto in base alla frequenza).rateLimitAction
: informazioni sull'azione di limite di frequenza quando viene trovata una corrispondenza con una regola di limitazione o di esclusione basata sulla frequenza.key
(stringa): valore chiave per il limite di frequenza (fino a 32 byte). Questo campo viene omesso se il tipo di chiave èALL
oppure se il tipo di chiave èHTTP-HEADER
oHTTP-COOKIE
e l'intestazione o il cookie specificato non è presente 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 superiore alla soglia di ban configurata.
outcome
(stringa): il risultato dell'esecuzione del comando configurato dell'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 di Threat Intelligence, se applicabili.categories
: (stringa) i nomi degli elenchi di indirizzi IP corrispondenti.
previewSecurityPolicy
: viene compilato se una richiesta corrisponde a una regola configurata per l'anteprima (presente solo quando una regola di anteprima avrebbe avuto la priorità sulla regola applicata).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 di limite di frequenza quando viene trovata una corrispondenza con una regola di limitazione o di esclusione basata sulla frequenza.key
(stringa): valore della chiave del 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 dell'azione configurata.outcome
(stringa): il risultato dell'esecuzione del comando configurato dell'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 di Threat Intelligence, se applicabili.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 di corrispondenza nel criterio di sicurezza.configuredAction
(stringa): il nome dell'azione configurata nella regola di corrispondenza, ad esempioALLOW
,DENY
.outcome
(stringa): il risultato dell'esecuzione dell'azione configurata, ad esempioACCEPT
,DENY
.
previewEdgeSecurityPolicy
(Anteprima): viene compilato se una richiesta corrisponde a una regola del criterio di sicurezza di Edge configurata per l'anteprima (presente solo quando una regola di anteprima avrebbe avuto la priorità sulla regola applicata).name
(stringa): il nome del criterio di sicurezza.priority
(numero): la priorità della regola di corrispondenza nel criterio 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 di un criterio di sicurezza di Google Cloud Armor solo 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 quanto segue
campo:
securityPolicyRequestData
: i dati relativi alla richiesta durante il loro trattamento da parte di un criterio di sicurezza, indipendentemente dalla regola che viene infine trovata.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 un token di azione reCAPTCHA è associato alla richiesta e viene 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 sessione reCAPTCHA.score (float)
: un punteggio di legittimità dell'utente incorporato in un token di sessione reCAPTCHA. Presente solo quando un token sessione reCAPTCHA è associato alla richiesta e viene decodificato correttamente in base a una regola del criterio di sicurezza.
tlsJa3Fingerprint
: un'impronta 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 del log per una regola di blocco basata sulla frequenza 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.