Logging dettagliato

Questa pagina contiene informazioni sulla configurazione della registrazione dettagliata, una funzionalità facoltativa che puoi utilizzare con i criteri di sicurezza di Google Cloud Armor.

Puoi regolare il livello di dettaglio registrato nei log. Ti consigliamo di attivare la registrazione dettagliata solo quando crei un criterio, apporti modifiche a un criterio o risolvi i problemi relativi a un criterio. Se abiliti la registrazione dettagliata, questa è effettiva per le regole in modalità di anteprima e per le regole attive (non visualizzate in anteprima) durante le operazioni standard.

Considera un esempio in cui non riesci a capire perché una regola WAF preconfigurata viene attivata da una determinata richiesta. I log degli eventi predefiniti di Google Cloud Armor contengono la regola attivata e la relativa sottosignatura. 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. Per questo esempio, ti consigliamo di attivare la registrazione dettagliata.

Puoi configurare il livello di logging di Google 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 è disattivata. 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 tu non crei una policy di sicurezza in un file e poi importi il file. Per maggiori informazioni, vedi Importare le norme di sicurezza.

Ad esempio:

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

Ti consigliamo di attivare la registrazione dettagliata quando crei una policy, apporti modifiche a una policy o risolvi i problemi relativi a una policy.

Valori registrati quando è abilitato il logging dettagliato

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 nel log è presente il campo BODY, significa che l'intero corpo del post 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 relativa al 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 (intero): la lunghezza totale del campo.

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

  • matchedLength (integer): la durata della partita.

  • inspectedBodySize (numero intero): il limite di ispezione configurato (numero di byte) per un corpo della richiesta che hai impostato utilizzando il flag --request-body-inspection-size. Per ulteriori informazioni su questo limite, consulta Limitazione dell'ispezione del corpo delle richieste POST e PATCH.

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

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

La voce in Esplora log è 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
}

Mantenere la privacy quando la registrazione dettagliata è attiva

Quando utilizzi la registrazione dettagliata, Google Cloud Armor registra snippet degli elementi delle richieste in entrata che hanno attivato una particolare regola WAF preconfigurata. Questi snippet potrebbero contenere parti di intestazioni di richiesta, parametri di richiesta o elementi del corpo POST. 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 attivi la registrazione dettagliata, esiste il rischio di accumulare dati potenzialmente sensibili nei log in Logging. Ti consigliamo di attivare la registrazione dettagliata solo durante la creazione e la convalida delle regole o per la risoluzione dei problemi. Durante il normale funzionamento, ti consigliamo di lasciare disattivata la registrazione dettagliata.

Passaggi successivi