Logging dettagliato

Questa pagina contiene informazioni sulla configurazione del logging dettagliato, una funzionalità facoltativa che puoi utilizzare con le policy di sicurezza di Cloud Armor.

Puoi regolare il livello di dettaglio registrato nei log. Ti consigliamo di attivare il logging dettagliato solo quando crei una policy, apporti modifiche a una policy o risolvi i problemi relativi a una policy. Se abilitato, il logging dettagliato è attivo sia per le regole in modalità di anteprima che per le regole attive (non in anteprima) durante le operazioni standard.

Considera un esempio in cui non riesci a capire perché una determinata richiesta attiva una regola del web application firewall (WAF) preconfigurata. I log eventi predefiniti di Cloud Armor contengono la regola che è stata attivata, nonché la sottofirma. Tuttavia, potresti dover identificare i dettagli della richiesta in entrata che ha attivato la regola per la risoluzione dei problemi, la convalida o l'ottimizzazione della regola. Per questo esempio, ti consigliamo di attivare il logging dettagliato.

Puoi configurare il livello di logging di Cloud Armor per abilitare un logging più dettagliato per ogni policy di sicurezza utilizzando il flag --log-level in Google Cloud CLI.

Per impostazione predefinita, questa opzione è disabilitata. La sintassi del flag è la seguente:

--log-level=[NORMAL | VERBOSE]

Il flag è disponibile solo utilizzando il comando 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.

Ad esempio:

  gcloud compute security-policies update ca-policy-1 \
      --log-level=VERBOSE
  

Ti consigliamo di attivare il logging dettagliato quando crei una policy, apporti modifiche a una policy o risolvi i problemi relativi a una policy.

Valori registrati con il logging dettagliato abilitato

Quando il logging dettagliato è abilitato, vengono registrate informazioni aggiuntive nel log delle richieste di bilanciamento del carico inviato a Cloud Logging. Quando il logging dettagliato è abilitato, nel log delle richieste vengono visualizzati i seguenti campi aggiuntivi:

  • matchedFieldType (stringa): questo è il tipo di campo che causa la corrispondenza.

    • ARG_NAMES
    • ARG_VALUES
    • BODY

      • Quando il campo BODY è presente nel log, significa che l'intero corpo della richiesta corrisponde a una regola.
    • COOKIE_VALUES

    • COOKIE_NAMES

    • FILENAME

    • HEADER_VALUES

    • RAW_URI

    • REFERER

    • REQUEST_LINE

    • URI

    • USER_AGENT

    • HEADER_NAMES

    • ARGS_GET

    • X_FILENAME

    • ARG_NAME_COUNT

    • TRANSFER_ENCODING

    • REQUEST_METHOD

  • matchedFieldName (stringa): se corrisponde alla parte del valore di una coppia chiave-valore, il valore della chiave viene memorizzato in questo campo. In caso contrario, è vuoto.

  • matchedFieldValue (stringa): un prefisso di massimo 16 byte per la parte del campo che causa la corrispondenza.

  • matchedFieldLength (integer): la lunghezza totale del campo.

  • matchedOffset (integer): l'offset iniziale all'interno del campo che causa la corrispondenza.

  • matchedLength (integer): la lunghezza della corrispondenza.

  • inspectedBodySize (integer) il limite di ispezione configurato (numero di byte) per un corpo della richiesta che hai impostato utilizzando il flag --request-body-inspection-size. Per saperne di più su questo limite, consulta Limitazione dell'ispezione per il corpo della richiesta.

Ad esempio, potresti inviare la seguente richiesta a un progetto in cui sono abilitate le regole WAF di SQL injection:

curl http://IP_ADDR/?sql_table=abc%20pg_catalog%20xyz

La voce in Esplora log sarà simile alla seguente:

enforcedSecurityPolicy: {
 name: "user-staging-sec-policy"
 priority: 100
 configuredAction: "DENY"
 outcome: "DENY
 inspectedBodySize: 65536
 preconfiguredExprIds: [
   0: "owasp-crs-v030001-id942140-sqli"
  ]
matchedFieldType: "ARG_VALUES"
matchedFieldName: "sql_table"
matchedFieldValue: "pg_catalog"
matchedFieldLength: 18
matchedOffset: 4
matchedLength: 10
}

Mantenimento della privacy quando è attivo il logging dettagliato

Quando utilizzi il logging dettagliato, Cloud Armor registra snippet degli elementi delle richieste in entrata che hanno attivato una determinata regola WAF preconfigurata. Questi snippet potrebbero contenere parti di intestazioni della richiesta, parametri della richiesta o elementi del corpo della richiesta. Uno snippet può contenere dati sensibili come un indirizzo IP o altri dati sensibili della richiesta in entrata, a seconda di cosa contengono le intestazioni o il corpo della richiesta e di cosa attiva la regola WAF.

Quando abiliti il logging dettagliato, corri il rischio di accumulare dati potenzialmente sensibili nei log in Logging. Ti consigliamo di attivare il logging dettagliato solo durante la creazione e la convalida delle regole o per la risoluzione dei problemi. Durante le normali operazioni, ti consigliamo di disattivare il logging dettagliato.

Passaggi successivi