Analisi dei contenuti del corpo 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 (soggetto a limitazioni relative alle dimensioni 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 rumori 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
  • Utilizza GraphQL
  • Ricevi eventuali richieste con contenuti con codifica JSON.

Puoi attivare o disattivare l'analisi dei contenuti del corpo JSON delle richieste POST per ciascun 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 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 importi questo file. Per maggiori informazioni, consulta Importazione dei criteri di sicurezza.

Utilizzare l'analisi JSON

Nel seguente esempio, configuri un elenco di valori di intestazione Content-Type personalizzati per cui viene applicata l'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, come 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 assicurarti che le richieste 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 durante la configurazione dell'analisi JSON:

  • L'ispezione del corpo del messaggio POST è limitata ai primi 8 kB. Se i contenuti JSON superano gli 8 kB, Google Cloud Armor applica l'analisi JSON per i primi 8 kB di contenuti utilizzati, che vengono esaminati da eventuali regole WAF preconfigurate.
  • Se il parser JSON non restituisce alcun risultato, è possibile che venga eseguito un tentativo di analisi dell'URI. Se l'analizzatore sintattico URI non restituisce parametri nome-valore o solo parametri valore-nome parziali, l'intera stringa o parziale potrebbe essere trattata come nome parametro per l'ispezione.

Passaggi successivi