Questa pagina contiene informazioni sulla configurazione dell'analisi dei contenuti del corpo POST, una funzionalità facoltativa che puoi utilizzare con le tue norme di sicurezza di Google Cloud Armor.
Per impostazione predefinita, Google Cloud Armor valuta i contenuti completi di un corpo POST come stringa uniforme (soggetta a limitazioni di dimensioni del corpo) rispetto alle firme nelle regole WAF preconfigurate. Per le richieste che contengono codifica alternativa come JSON, i componenti strutturali del messaggio (non specificati dall'utente) potrebbero attivare corrispondenze con le firme WAF preconfigurate. Per evitare rumore e ridurre il rischio di falsi positivi, ti consigliamo di configurare Google Cloud Armor per attivare l'analisi alternativa per qualsiasi tipo di contenuto supportato se i tuoi carichi di lavoro protetti eseguono le seguenti operazioni:
- Pubblica API REST
- Utilizzare GraphQL
- Ricevere richieste con contenuti codificati in JSON.
Puoi attivare o disattivare l'analisi dei contenuti del corpo JSON delle richieste POST per ogni criterio di sicurezza. Quando l'intestazione Content-Type
è impostata su
application/json
, utilizza il flag --json-parsing
in Google Cloud CLI.
Per impostazione predefinita, questa opzione è disattivata. La sintassi per il flag è la seguente:
--json-parsing=[STANDARD | STANDARD_WITH_GRAPHQL | DISABLED]
Il flag è disponibile solo con gcloud compute security-policies update
. Con questa opzione non puoi creare un nuovo criterio di sicurezza, a meno che non lo crei in un file e poi lo importi. Per ulteriori informazioni, consulta
Importare i criteri di sicurezza.
Utilizzare l'analisi JSON
Nell'esempio seguente, viene configurato un elenco di valori di intestazione Content-Type
personalizzati per i quali viene applicata l'analisi alternativa. L'esempio aggiorna la
policy di sicurezza POLICY_NAME per abilitare l'analisi JSON e specifica i
tipi di contenuti application/json
, application/vnd.api+json
,
application/vnd.collection+json
e application/vnd.hyper+json
:
gcloud compute security-policies update POLICY_NAME \ --json-parsing STANDARD \ --json-custom-content-types "application/json,application/vnd.api+json,application/vnd.collection+json,application/vnd.hyper+json"
Utilizzare l'analisi di GraphQL
Per configurare l'analisi di GraphQL, aggiorna il criterio di sicurezza impostando il
--json-parsing
flag su STANDARD_WITH_GRAPHQL
, come nell'esempio seguente:
gcloud compute security-policies update POLICY_NAME \ --json-parsing STANDARD_WITH_GRAPHQL
Logging
Ogni richiesta HTTP(S) valutata in base a un criterio di sicurezza Google Cloud Armor viene registrata tramite Cloud Logging. I log forniscono dettagli, ad esempio il nome del criterio di sicurezza applicato, la regola di corrispondenza e se la regola è stata applicata. Il logging delle richieste per le nuove risorse di servizio di backend è disabilitato per impostazione predefinita. Per assicurarti che le richieste di Google Cloud Armor vengano registrate, devi attivare la registrazione HTTP(S) per ogni servizio di backend protetto da un criterio di sicurezza. Per ulteriori informazioni, consulta Logging e monitoraggio del bilanciatore del carico delle applicazioni esterno globale.
Limitazioni
Tieni presenti le seguenti limitazioni durante la configurazione dell'analisi JSON:
- L'ispezione del corpo del messaggio POST è limitata ai primi 8 KB. Se i contenuti JSON sono più grandi di 8 KB, Google Cloud Armor applica l'analisi JSON ai primi 8 KB di contenuti utilizzati e ispezionati da eventuali regole WAF preconfigurate.
- Se l'analizzatore JSON non restituisce risultati, potrebbe essere tentata l'analisi dell'URI. Se il parser URI non restituisce parametri nome-valore o solo parametri nome-valore parziali, la stringa intera o parziale potrebbe essere trattata come il nome del parametro per l'ispezione.
Passaggi successivi
- Configura i criteri di sicurezza di Google Cloud Armor.
- Scopri di più sul logging delle richieste.