Questa pagina contiene informazioni sulla configurazione dell'analisi dei contenuti del corpo della richiesta, una funzionalità facoltativa che puoi utilizzare con le tue policy di sicurezza di Cloud Armor.
Per impostazione predefinita, Cloud Armor valuta l'intero contenuto del corpo di una richiesta come stringa uniforme (soggetta a limitazioni delle dimensioni del corpo) rispetto alle firme nelle regole WAF preconfigurate. Per le richieste che contengono una codifica alternativa come JSON, i componenti strutturali del messaggio (non specificati dall'utente) possono attivare corrispondenze con le firme WAF preconfigurate. Per evitare rumore e ridurre il rischio di falsi positivi, ti consigliamo di configurare Cloud Armor in modo da attivare l'analisi alternativa per qualsiasi tipo di contenuto supportato se i tuoi workload protetti eseguono le seguenti operazioni:
- Gestiscono API REST
- Utilizzano GraphQL
- Ricevono qualsiasi richiesta con contenuti codificati JSON.
Per ogni policy di sicurezza, puoi attivare o disattivare l'analisi JSON per i corpi delle richieste. Quando l'intestazione Content-Type è impostata su application/json, utilizza il flag --json-parsing in Google Cloud CLI.
Per impostazione predefinita, questa opzione è disabilitata. Di seguito è riportata la sintassi del flag:
--json-parsing=[STANDARD | STANDARD_WITH_GRAPHQL | DISABLED]
Il flag è disponibile solo con gcloud compute security-policies update. Non puoi creare una nuova policy di sicurezza con questa opzione, a meno che non crei una policy di sicurezza in un file per poi importarlo. Per saperne di più, consulta Importa le policy di sicurezza.
Utilizza l'analisi JSON
Nell'esempio seguente, configuri 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 attivare 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"
Utilizza l'analisi GraphQL
Per configurare l'analisi GraphQL, aggiorna la policy di sicurezza impostando il flag --json-parsing su STANDARD_WITH_GRAPHQL:
gcloud compute security-policies update POLICY_NAME \
--json-parsing STANDARD_WITH_GRAPHQL
Logging
Ogni richiesta HTTP(S) valutata in base a una policy di sicurezza di Cloud Armor viene registrata tramite Cloud Logging. I log forniscono dettagli come il nome della policy di sicurezza applicata, la regola corrispondente e se l'applicazione della regola è stata forzata. Il logging delle richieste per le nuove risorse dei servizi di backend è disattivato per impostazione predefinita. Per creare log delle richieste di Cloud Armor, devi attivare l'impostazione di logging HTTP(S) per ogni servizio di backend protetto da una policy di sicurezza. Per saperne di più, consulta Logging e monitoraggio del bilanciatore del carico delle applicazioni esterno globale.
Limitazioni
Tieni presenti le seguenti limitazioni durante la configurazione dell'analisi JSON:
Per impostazione predefinita, Cloud Armor ispeziona il corpo della richiesta fino ai primi 8 kB. Puoi configurare questo limite su 8 kB, 16 kB, 32 kB, 48 kB o 64 kB. Se i contenuti JSON sono superiori al limite di ispezione configurato, Cloud Armor applica l'analisi JSON fino a questo limite, e il contenuto viene poi ispezionato da una delle regole WAF preconfigurate.
Per saperne di più sulla configurazione del limite di ispezione per il corpo della richiesta quando utilizzi regole WAF preconfigurate, consulta Limitazione dell'ispezione del corpo della richiesta.
Se il parser JSON non restituisce alcun risultato, potrebbe venire 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 nome del parametro per l'ispezione.