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 per la prima volta, apporti modifiche a un criterio o risolvi i problemi relativi a un criterio. Se attivi il logging dettagliato, questo viene applicato alle regole in modalità di anteprima e alle regole attive (senza anteprima) durante le operazioni standard.

Prendiamo ad esempio un caso in cui non riesci a capire perché una regola WAF preconfigurata è stata attivata da una determinata richiesta. I log degli eventi predefiniti di Google Cloud Armor contengono la regola attivata e 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 la regolazione delle regole. Questo è un esempio. Ti consigliamo di attivare il logging dettagliato.

Puoi configurare il livello di logging di Google Cloud Armor per attivare un logging più dettagliato per ogni criterio di sicurezza utilizzando il flag --log-level nella gcloud 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 un nuovo criterio di sicurezza con questa opzione, a meno che non lo crei in un file e poi lo importi. Per ulteriori informazioni, consulta Importare i criteri di sicurezza.

Ad esempio:

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

Ti consigliamo di attivare la registrazione dettagliata quando crei per la prima volta un criterio, apporti modifiche a un criterio o risolvi i problemi relativi a un criterio.

Valori registrati quando è attivato il logging dettagliato

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

  • matchedFieldType (stringa): si tratta del tipo di campo che causa la corrispondenza.

    • ARG_NAMES
    • ARG_VALUES
    • BODY

      • Quando il campo BODY è presente nel log, 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 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 (intero): la lunghezza totale del campo.

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

  • matchedLength (numero intero): la lunghezza della corrispondenza.

Ad esempio, potresti inviare questa richiesta a un progetto in cui sono abilitate le regole WAF per 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
 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 il logging dettagliato, Google Cloud Armor registra snippet degli elementi delle richieste in arrivo che hanno attivato una determinata regola WAF preconfigurata. Questi snippet potrebbero contenere parti di intestazioni di richiesta, parametri di richiesta o elementi del corpo POST. È possibile che uno snippet contenga dati sensibili come un indirizzo IP o altri dati sensibili della richiesta in arrivo, a seconda di cosa è contenuto nelle intestazioni o nel corpo della richiesta e di cosa attiva la regola WAF.

Se attivi la registrazione dettagliata, tieni presente che 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 disabilitato il logging dettagliato.

Passaggi successivi