Analisi dei contenuti del corpo del POST

Questa pagina contiene informazioni sulla configurazione dell'analisi dei contenuti del corpo POST, una funzionalità facoltativa che puoi utilizzare con i criteri di sicurezza di Google Cloud Armor.

Per impostazione predefinita, Google Cloud Armor valuta l'intero contenuto di un corpo POST come stringa uniforme (soggetta a limiti di dimensione del corpo) in base 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) potrebbero attivare corrispondenze con le firme WAF preconfigurate. Per evitare falsi positivi e ridurre il rischio di falsi positivi, ti consigliamo di configurare Google Cloud Armor per abilitare l'analisi alternativa per qualsiasi Content-Type supportato, se i tuoi carichi di lavoro protetti:

  • Gestisci le API REST
  • Utilizzare GraphQL
  • Ricevere eventuali richieste con contenuti con codifica JSON.

Puoi abilitare o disabilitare l'analisi dei contenuti del corpo JSON delle richieste POST per ciascun criterio di sicurezza. Se 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 del flag è la seguente:

--json-parsing=[STANDARD | STANDARD_WITH_GRAPHQL | DISABLED]

Il flag è disponibile solo con gcloud compute security-policies update. Non puoi creare un nuovo criterio di sicurezza con questa opzione, a meno che non crei un criterio di sicurezza in un file e poi lo importi. Per maggiori informazioni, consulta Importazione dei criteri di sicurezza.

Utilizza l'analisi JSON

Nell'esempio seguente, configuri un elenco di valori di intestazione Content-Type personalizzati a cui viene applicata un'analisi alternativa. L'esempio aggiorna il criterio 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"

Utilizza l'analisi GraphQL

Per configurare l'analisi GraphQL, aggiorna il criterio di sicurezza per impostare il flag --json-parsing 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 di Google Cloud Armor viene registrata tramite Cloud Logging. I log forniscono dettagli quali 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 del servizio di backend è disabilitato per impostazione predefinita. Per garantire che le richieste di Google Cloud Armor vengano registrate, devi abilitare il logging HTTP(S) per ogni servizio di backend protetto da un criterio di sicurezza. Per maggiori informazioni, consulta Logging e monitoraggio del bilanciatore del carico delle applicazioni esterno globale.

Limitazioni

Tieni presente le seguenti limitazioni quando configuri l'analisi JSON:

  • L'ispezione del corpo POST è limitata ai primi 8 kB. Se il contenuto JSON è superiore a 8 kB, Google Cloud Armor applica l'analisi JSON ai primi 8 kB di contenuti utilizzati che vengono ispezionati da qualsiasi regola WAF preconfigurata.
  • Se l'analizzatore sintattico JSON non restituisce risultati, è possibile che venga tentato l'analisi dell'URI. Se l'analizzatore sintattico URI non restituisce alcun parametro nome-valore o solo parametri nome-valore parziali, la stringa intera o parziale potrebbe essere trattata come nome del parametro per l'ispezione.

Passaggi successivi