Questa guida mostra ai professionisti della sicurezza come eseguire l'onboarding Google Cloud dei log da utilizzare nell'analisi della sicurezza. Eseguendo l'analisi della sicurezza, aiuti la tua organizzazione a prevenire, rilevare e rispondere a minacce come malware, phishing, ransomware e asset configurati in modo errato.
Questa guida mostra come:
- Attiva i log da analizzare.
- Instrada questi log verso un'unica destinazione a seconda dello strumento di analisi della sicurezza che scegli, ad esempio Log Analytics, BigQuery, Google Security Operations o una tecnologia SIEM (Security Information and Event Management) di terze parti.
- Analizza questi log per controllare l'utilizzo del cloud e rilevare potenziali minacce ai tuoi dati e carichi di lavoro, utilizzando query di esempio del progetto Community Security Analytics (CSA).
Le informazioni contenute in questa guida fanno parte di Google Cloud Autonomic Security Operations, che include la trasformazione guidata dall'ingegneria delle pratiche di rilevamento e risposta e dell'analisi della sicurezza per migliorare le tue capacità di rilevamento delle minacce.
In questa guida, i log forniscono l'origine dati da analizzare. Tuttavia, puoi applicare i concetti di questa guida all'analisi di altri dati complementari relativi alla sicurezza provenienti da Google Cloud, ad esempio i risultati di sicurezza di Security Command Center. Security Command Center Premium fornisce un elenco di rilevatori gestiti aggiornati regolarmente, progettati per identificare minacce, vulnerabilità e configurazioni errate all'interno dei tuoi sistemi quasi in tempo reale. Analizzando questi indicatori di Security Command Center e mettendoli in correlazione con i log importati nello strumento di analisi della sicurezza, come descritto in questa guida, puoi ottenere una prospettiva più ampia delle potenziali minacce alla sicurezza.
Il seguente diagramma mostra come funzionano insieme le origini dati di sicurezza, gli strumenti di analisi della sicurezza e le query CSA.
Il diagramma inizia con le seguenti origini dati di sicurezza: log di Cloud Logging, modifiche agli asset di Cloud Asset Inventory e risultati di sicurezza di Security Command Center. Il diagramma mostra quindi queste origini dati di sicurezza instradate nello strumento di analisi della sicurezza che preferisci: Analisi dei log in Cloud Logging, BigQuery, Google Security Operations o un SIEM di terze parti. Infine, il diagramma mostra l'utilizzo delle query CSA con lo strumento di analisi per analizzare i dati di sicurezza raccolti.
Flusso di lavoro di analisi dei log di sicurezza
Questa sezione descrive i passaggi per configurare l'analisi dei log di sicurezza in Google Cloud. Il flusso di lavoro è costituito dai tre passaggi mostrati nel diagramma seguente e descritti nei paragrafi successivi:
Attiva i log:in Google Cloudsono disponibili molti log di sicurezza. Ogni log contiene informazioni diverse che possono essere utili per rispondere a domande specifiche sulla sicurezza. Alcuni log, come gli audit log dell'attività di amministrazione, sono abilitati per impostazione predefinita; altri devono essere abilitati manualmente perché comportano costi di importazione aggiuntivi in Cloud Logging. Pertanto, il primo passaggio del flusso di lavoro consiste nel dare la priorità ai log di sicurezza più pertinenti per le tue esigenze di analisi della sicurezza e nell'abilitare individualmente questi log specifici.
Per aiutarti a valutare i log in termini di visibilità e copertura del rilevamento delle minacce che forniscono, questa guida include uno strumento di definizione dell'ambito dei log. Questo strumento mappa ogni log in base alle tattiche e alle tecniche di minaccia pertinenti nella matrice MITRE ATT&CK® per le aziende. Lo strumento mappa anche le regole di Event Threat Detection in Security Command Center ai log su cui si basano. Puoi utilizzare lo strumento di definizione dell'ambito dei log per valutare i log indipendentemente dallo strumento di analisi che utilizzi.
Log di routing:dopo aver identificato e attivato i log da analizzare, il passaggio successivo consiste nel eseguire il routing e l'aggregazione dei log della tua organizzazione, incluse eventuali cartelle, progetti e account di fatturazione contenuti. Il modo in cui instradare i log dipende dallo strumento di analisi che utilizzi.
Questa guida descrive le destinazioni comuni per il routing dei log e mostra come utilizzare un sink aggregato di Cloud Logging per indirizzare i log a livello di organizzazione in un bucket di log di Cloud Logging o in un set di dati BigQuery, a seconda che tu scelga di utilizzare Log Analytics o BigQuery per l'analisi.
Analizza i log:dopo aver indirizzato i log a uno strumento di analisi, il passaggio successivo è eseguire un'analisi di questi log per identificare eventuali potenziali minacce alla sicurezza. La modalità di analisi dei log dipende dallo strumento di analisi che utilizzi. Se utilizzi l'Analisi dei log o BigQuery, puoi analizzare i log utilizzando query SQL. Se utilizzi Google Security Operations, analizza i log utilizzando le regole YARA-L. Se utilizzi uno strumento SIEM di terze parti, devi utilizzare il linguaggio di query specificato dallo strumento.
In questa guida troverai query SQL che puoi utilizzare per analizzare i log in Log Analytics o BigQuery. Le query SQL fornite in questa guida provengono dal progetto Community Security Analytics (CSA). CSA è un insieme open source di analisi della sicurezza di base progettate per fornirti una base di query e regole predefinite che puoi riutilizzare per iniziare ad analizzare i tuoi log Google Cloud .
Le sezioni seguenti forniscono informazioni dettagliate su come configurare e applicare ogni passaggio del flusso di lavoro di analisi dei log di sicurezza.
Attiva log
La procedura di attivazione dei log prevede i seguenti passaggi:
- Identifica i log di cui hai bisogno utilizzando lo strumento di definizione dell'ambito dei log in questa guida.
- Registra il filtro dei log generato dallo strumento di definizione dell'ambito dei log per utilizzarlo in un secondo momento durante la configurazione del sink di log.
- Abilita la registrazione per ogni tipo di log o servizio Google Cloud identificato. A seconda del servizio, potresti dover attivare anche i log di controllo dell'accesso ai dati corrispondenti, come descritto più avanti in questa sezione.
Identificare i log utilizzando lo strumento di definizione dell'ambito dei log
Per aiutarti a identificare i log che soddisfano le tue esigenze di sicurezza e conformità, puoi utilizzare lo strumento di definizione dell'ambito dei log mostrato in questa sezione. Questo strumento fornisce una tabella interattiva che elenca i log pertinenti alla sicurezza in Google Cloud , inclusi i log di Cloud Audit Logs, i log di Access Transparency, i log di rete e diversi log della piattaforma. Questo strumento mappa ogni tipo di log nelle seguenti aree:
- MITRE ATT&CK tattiche e tecniche di minaccia che possono essere monitorate con questo log.
- Violazioni della conformità CIS Google Cloud Computing Platform che possono essere rilevate in questo log.
- Event Threat Detection regole che si basano su questo log.
Lo strumento di definizione dell'ambito dei log genera anche un filtro dei log che viene visualizzato immediatamente dopo la tabella. Man mano che identifichi i log di cui hai bisogno, selezionali nello strumento per aggiornare automaticamente il filtro dei log.
Le seguenti brevi procedure spiegano come utilizzare lo strumento di definizione dell'ambito dei log:
- Per selezionare o rimuovere un log nello strumento di definizione dell'ambito dei log, fai clic sul pulsante di attivazione/disattivazione accanto al nome del log.
- Per selezionare o rimuovere tutti i log, fai clic sul pulsante di attivazione/disattivazione accanto all'intestazione Tipo di log.
- Per vedere quali tecniche MITRE ATT&CK possono essere monitorate da ogni tipo di log, fai clic su accanto all'intestazione Tattiche e tecniche MITRE ATT&CK.
Strumento di definizione dell'ambito dei log
Registra il filtro di log
Il filtro dei log generato automaticamente dallo strumento di definizione dell'ambito dei log contiene tutti i log selezionati nello strumento. Puoi utilizzare il filtro così com'è oppure puoi perfezionarlo ulteriormente in base alle tue esigenze. Ad esempio, puoi includere (o escludere) risorse solo in uno o più progetti specifici. Dopo aver creato un filtro dei log che soddisfi i tuoi requisiti di logging, devi salvarlo per utilizzarlo durante il routing dei log. Ad esempio, puoi salvare il filtro in un editor di testo o in una variabile di ambiente come segue:
- Nella sezione "Filtro log generato automaticamente" che segue lo strumento, copia il codice per il filtro log.
- (Facoltativo) Modifica il codice copiato per perfezionare il filtro.
In Cloud Shell, crea una variabile per salvare il filtro dei log:
export LOG_FILTER='LOG_FILTER'
Sostituisci
LOG_FILTER
con il codice per il filtro dei log.
Abilitare i log della piattaforma specifici del servizio
Per ogni log della piattaforma selezionato nello strumento di definizione dell'ambito dei log, questi devono essere abilitati (in genere a livello di risorsa) in base al servizio. Ad esempio, i log di Cloud DNS sono abilitati a livello di rete VPC. Allo stesso modo, i log di flusso VPC sono abilitati a livello di subnet per tutte le VM nella subnet e i log della registrazione delle regole firewall sono abilitati a livello di singola regola firewall.
Ogni log della piattaforma ha le proprie istruzioni su come attivare la registrazione. Tuttavia, puoi utilizzare lo strumento di definizione dell'ambito dei log per aprire rapidamente le istruzioni pertinenti per ogni log della piattaforma.
Per scoprire come attivare la registrazione per un log della piattaforma specifico:
- Nello strumento di definizione dell'ambito dei log, individua il log della piattaforma che vuoi attivare.
- Nella colonna Attivato per impostazione predefinita, fai clic sul link Attiva corrispondente al log. Il link ti reindirizza a istruzioni dettagliate su come attivare la registrazione per quel servizio.
Abilita gli audit log di accesso ai dati
Come puoi vedere nello strumento di definizione dell'ambito dei log, gli audit log di accesso ai dati di Cloud Audit Logs forniscono un'ampia copertura per il rilevamento delle minacce. Tuttavia, il loro volume può essere piuttosto elevato. L'attivazione di questi audit log di accesso ai dati potrebbe quindi comportare addebiti aggiuntivi relativi all'importazione, all'archiviazione, all'esportazione e all'elaborazione di questi log. Questa sezione spiega come attivare questi log e presenta alcune best practice per aiutarti a trovare il giusto compromesso tra valore e costi.
Gli audit log per l'accesso ai dati, tranne quelli di BigQuery, sono disabilitati per impostazione predefinita. Per configurare gli audit log per l'accesso ai dati per i servizi Google Cloud diversi da BigQuery, devi abilitarli esplicitamente utilizzando la console Google Cloud o Google Cloud CLI per modificare gli oggetti policy Identity and Access Management (IAM). Quando abiliti gli audit log di accesso ai dati, puoi anche configurare i tipi di operazioni che vengono registrati. Esistono tre tipi di audit log di accesso ai dati:
ADMIN_READ
: registra le operazioni che leggono i metadati o le informazioni di configurazione.DATA_READ
: registra le operazioni che leggono i dati forniti dagli utenti.DATA_WRITE
: registra le operazioni che scrivono i dati forniti dagli utenti.
Tieni presente che non puoi configurare la registrazione delle operazioni ADMIN_WRITE
, ovvero le operazioni che scrivono metadati o informazioni di configurazione. Le operazioni ADMIN_WRITE
sono incluse negli audit log delle attività di amministrazione di Cloud Audit Logs
e pertanto non possono essere disabilitate.
Gestire il volume degli audit log di accesso ai dati
Quando abiliti gli audit log di accesso ai dati, l'obiettivo è massimizzare il loro valore in termini di visibilità della sicurezza, limitando al contempo i costi e il sovraccarico di gestione. Per aiutarti a raggiungere questo obiettivo, ti consigliamo di procedere come segue per filtrare i log a basso valore e ad alto volume:
- Dai la priorità ai servizi pertinenti, ad esempio quelli che ospitano carichi di lavoro, chiavi e dati sensibili. Per esempi specifici di servizi che potresti voler dare la priorità rispetto ad altri, consulta Esempio di configurazione degli audit log di accesso ai dati.
Dai la priorità ai progetti pertinenti, ad esempio i progetti che ospitano carichi di lavoro di produzione anziché quelli che ospitano ambienti di sviluppo e gestione temporanea. Per filtrare tutti i log di un progetto specifico, aggiungi la seguente espressione al filtro dei log del sink. Sostituisci PROJECT_ID con l'ID del progetto da cui vuoi filtrare tutti i log:
Progetto Espressione di filtro log Escludere tutti i log di un determinato progetto NOT logName =~ "^projects/PROJECT_ID"
Dai la priorità a un sottoinsieme di operazioni di accesso ai dati, ad esempio
ADMIN_READ
,DATA_READ
oDATA_WRITE
, per un insieme minimo di operazioni registrate. Ad esempio, alcuni servizi come Cloud DNS scrivono tutti e tre i tipi di operazioni, ma puoi attivare la registrazione solo per le operazioniADMIN_READ
. Dopo aver configurato una o più di queste tre operazioni di accesso ai dati, potresti voler escludere operazioni specifiche con un volume particolarmente elevato. Puoi escludere queste operazioni a volumi elevati modificando il filtro dei log del sink. Ad esempio, decidi di attivare la registrazione completa degli audit log di accesso ai dati, incluse le operazioniDATA_READ
su alcuni servizi di archiviazione critici. Per escludere operazioni di lettura di dati specifici ad alto traffico in questa situazione, puoi aggiungere le seguenti espressioni di filtro dei log consigliate al filtro dei log del sink:Servizio Espressione di filtro log Escludere i log ad alto volume da Cloud Storage NOT (resource.type="gcs_bucket" AND (protoPayload.methodName="storage.buckets.get" OR protoPayload.methodName="storage.buckets.list"))
Escludi i log ad alto volume da Cloud SQL NOT (resource.type="cloudsql_database" AND protoPayload.request.cmd="select")
Dai la priorità alle risorse pertinenti, ad esempio quelle che ospitano i tuoi dati e workload più sensibili. Puoi classificare le risorse in base al valore dei dati che elaborano e al loro rischio per la sicurezza, ad esempio se sono accessibili esternamente o meno. Sebbene gli audit log di accesso ai dati siano abilitati per servizio, puoi filtrare risorse o tipi di risorse specifici tramite il filtro dei log.
Escludere entità specifiche dalla registrazione dei loro accessi ai dati. Ad esempio, puoi esentare i tuoi account di test interni dalla registrazione delle operazioni. Per saperne di più, consulta la sezione Impostare esenzioni nella documentazione sugli audit log di accesso ai dati.
Esempio di configurazione degli audit log di accesso ai dati
La tabella seguente fornisce una configurazione di base degli audit log di accesso ai dati che puoi utilizzare per i Google Cloud progetti per limitare i volumi dei log e ottenere una visibilità preziosa sulla sicurezza:
Livello | Servizi | Tipi di audit log di accesso ai dati | Tattiche MITRE ATT&CK |
---|---|---|---|
Servizi di autenticazione e autorizzazione | IAM Identity-Aware Proxy (IAP)1 Cloud KMS Secret Manager Resource Manager |
ADMIN_READ DATA_READ |
Rilevamento Accesso alle credenziali Escalation dei privilegi |
Servizi di archiviazione | BigQuery (attivato per impostazione predefinita) Cloud Storage1, 2 |
DATA_READ DATA_WRITE |
Raccolta Esfiltrazione |
Servizi di infrastruttura | Compute Engine Criteri dell'organizzazione |
ADMIN_READ | Discovery |
1 L'abilitazione degli audit log di accesso ai dati per IAP o Cloud Storage può generare grandi volumi di log in caso di traffico elevato verso risorse web protette da IAP o verso oggetti Cloud Storage.
2 L'abilitazione degli audit log di accesso ai dati per Cloud Storage potrebbe interrompere l'utilizzo dei download autenticati del browser per oggetti non pubblici. Per ulteriori dettagli e soluzioni alternative suggerite per questo problema, consulta la guida alla risoluzione dei problemi di Cloud Storage.
Nella configurazione di esempio, nota come i servizi sono raggruppati in livelli di sensibilità in base ai dati, ai metadati o alla configurazione sottostanti. Questi livelli mostrano la seguente granularità consigliata della registrazione dell'audit log di accesso ai dati:
- Servizi di autenticazione e autorizzazione: per questo livello di servizi, ti consigliamo di controllare tutte le operazioni di accesso ai dati. Questo livello di controllo ti aiuta a monitorare l'accesso a chiavi, secret e criteri IAM sensibili. Il monitoraggio di questo accesso può aiutarti a rilevare tattiche MITRE ATT&CK come Discovery, Credential Access e Privilege Escalation.
- Servizi di archiviazione: per questo livello di servizi, ti consigliamo di controllare le operazioni di accesso ai dati che coinvolgono i dati forniti dagli utenti. Questo livello di controllo ti aiuta a monitorare l'accesso ai tuoi dati sensibili e di valore. Il monitoraggio di questo accesso potrebbe aiutarti a rilevare tattiche MITRE ATT&CK come Raccolta ed Esfiltrazione dei tuoi dati.
- Servizi di infrastruttura: per questo livello di servizi, consigliamo di controllare le operazioni di accesso ai dati che coinvolgono metadati o informazioni di configurazione. Questo livello di controllo ti aiuta a monitorare la scansione della configurazione dell'infrastruttura. Il monitoraggio di questo accesso può aiutarti a rilevare tattiche MITRE ATT&CK come Discovery nei tuoi carichi di lavoro.
Log del percorso
Una volta identificati e abilitati i log, il passaggio successivo consiste nell'indirizzarli a un'unica destinazione. La destinazione, il percorso e la complessità del routing variano a seconda degli strumenti di analisi che utilizzi, come mostrato nel seguente diagramma.
Il diagramma mostra le seguenti opzioni di routing:
Se utilizzi Analisi dei log, devi disporre di un sink aggregato per aggregare i log di tutta la tua organizzazione Google Cloud in un unico bucket Cloud Logging.
Se utilizzi BigQuery, devi disporre di un sink aggregato per aggregare i log di tutta la tua Google Cloud organizzazione in un unico set di dati BigQuery.
Se utilizzi Google Security Operations e questo sottoinsieme predefinito di log soddisfa le tue esigenze di analisi della sicurezza, puoi aggregare automaticamente questi log nel tuo account Google Security Operations utilizzando l'importazione integrata di Google Security Operations. Puoi anche visualizzare questo insieme predefinito di log esaminando la colonna Esportabile direttamente in Google Security Operations dello strumento di definizione dell'ambito dei log. Per saperne di più sull'esportazione di questi log predefiniti, consulta Importare i log Google Cloud in Google Security Operations.
Se utilizzi BigQuery o un SIEM di terze parti o vuoi esportare un insieme esteso di log in Google Security Operations, il diagramma mostra che è necessario un passaggio aggiuntivo tra l'attivazione dei log e la loro analisi. Questo passaggio aggiuntivo consiste nel configurare un sink aggregato che indirizzi i log selezionati in modo appropriato. Se utilizzi BigQuery, questo sink è tutto ciò che ti serve per indirizzare i log a BigQuery. Se utilizzi un SIEM di terze parti, devi fare in modo che il sink aggreghi i log selezionati in Pub/Sub o Cloud Storage prima che possano essere inseriti nello strumento di analisi.
Le opzioni di routing a Google Security Operations e a un SIEM di terze parti non sono trattate in questa guida. Tuttavia, le sezioni seguenti forniscono i passaggi dettagliati per indirizzare i log a Log Analytics o BigQuery:
- Configurare una singola destinazione
- Crea un sink di log aggregati.
- Concedi l'accesso al sink.
- Configura l'accesso in lettura alla destinazione.
- Verifica che i log vengano indirizzati alla destinazione.
Configurare una singola destinazione
Analisi dei log
Apri la console Google Cloud nel progetto in cui vuoi aggregare i log. Google Cloud
In un terminale Cloud Shell, esegui il seguente comando
gcloud
per creare un bucket dei log:gcloud logging buckets create BUCKET_NAME \ --location=BUCKET_LOCATION \ --project=PROJECT_ID
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto Google Cloud in cui verranno archiviati i log aggregati.BUCKET_NAME
: il nome del nuovo bucket Logging.BUCKET_LOCATION
: la posizione geografica del nuovo bucket Logging. Le località supportate sonoglobal
,us
oeu
. Per saperne di più su queste regioni di archiviazione, consulta Regioni supportate. Se non specifichi una località, viene utilizzata la regioneglobal
, il che significa che i log potrebbero trovarsi fisicamente in una qualsiasi delle regioni.
Verifica che il bucket sia stato creato:
gcloud logging buckets list --project=PROJECT_ID
(Facoltativo) Imposta il periodo di conservazione dei log nel bucket. L'esempio seguente estende la conservazione dei log archiviati nel bucket a 365 giorni:
gcloud logging buckets update BUCKET_NAME \ --location=BUCKET_LOCATION \ --project=PROJECT_ID \ --retention-days=365
Esegui l'upgrade del nuovo bucket per utilizzare Analisi dei log seguendo questi passaggi.
BigQuery
Apri la console Google Cloud nel progetto in cui vuoi aggregare i log. Google Cloud
In un terminale Cloud Shell, esegui il seguente comando
bq mk
per creare un set di dati:bq --location=DATASET_LOCATION mk \ --dataset \ --default_partition_expiration=PARTITION_EXPIRATION \ PROJECT_ID:DATASET_ID
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto Google Cloud in cui verranno archiviati i log aggregati.DATASET_ID
: l'ID del nuovo set di dati BigQuery.DATASET_LOCATION
: la posizione geografica del set di dati. Una volta creato un set di dati, la posizione non può essere modificata.PARTITION_EXPIRATION
: la durata predefinita (in secondi) per le partizioni nelle tabelle partizionate create dal sink di log. Configurerai il sink di log nella sezione successiva. Il sink di log che configuri utilizza tabelle partizionate per giorno in base al timestamp della voce di log. Le partizioni (incluse le voci di log associate) vengono eliminatePARTITION_EXPIRATION
secondi dopo la data della partizione.
Crea un sink di log aggregato
Esegui il routing dei log della tua organizzazione nella destinazione creando un sink aggregato a livello di organizzazione. Per includere tutti i log selezionati nello strumento di definizione dell'ambito dei log, configura il sink con il filtro dei log generato dallo strumento.
Analisi dei log
In un terminale Cloud Shell, esegui il seguente comando
gcloud
per creare un sink aggregato a livello di organizzazione:gcloud logging sinks create SINK_NAME \ logging.googleapis.com/projects/PROJECT_ID/locations/BUCKET_LOCATION/buckets/BUCKET_NAME \ --log-filter="LOG_FILTER" \ --organization=ORGANIZATION_ID \ --include-children
Sostituisci quanto segue:
SINK_NAME
: il nome del sink che instrada i log.PROJECT_ID
: l'ID del progetto Google Cloud in cui verranno archiviati i log aggregati.BUCKET_LOCATION
: la posizione del bucket Logging che hai creato per l'archiviazione dei log.BUCKET_NAME
: il nome del bucket Logging che hai creato per l'archiviazione dei log.LOG_FILTER
: il filtro dei log che hai salvato dallo strumento di definizione dell'ambito dei log.ORGANIZATION_ID
: l'ID risorsa della tua organizzazione.
Il flag
--include-children
è importante per includere anche i log di tutti i progettiGoogle Cloud della tua organizzazione. Per ulteriori informazioni, consulta Raccogliere e indirizzare i log a livello di organizzazione verso le destinazioni supportate.Verifica che il sink sia stato creato:
gcloud logging sinks list --organization=ORGANIZATION_ID
Recupera il nome del account di servizio associato al sink che hai appena creato:
gcloud logging sinks describe SINK_NAME --organization=ORGANIZATION_ID
L'output è simile al seguente:
writerIdentity: serviceAccount:p1234567890-12345@logging-o1234567890.iam.gserviceaccount.com`
Copia l'intera stringa per
writerIdentity
a partire da serviceAccount:. Questo identificatore è l'account di servizio del sink. Finché non concedi a questo account di servizio l'accesso in scrittura al bucket di log, il routing dei log da questo sink non andrà a buon fine. Nella sezione successiva concedi l'accesso in scrittura all'identità writer del sink.
BigQuery
In un terminale Cloud Shell, esegui questo comando
gcloud
per creare un sink aggregato a livello di organizzazione:gcloud logging sinks create SINK_NAME \ bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID \ --log-filter="LOG_FILTER" \ --organization=ORGANIZATION_ID \ --use-partitioned-tables \ --include-children
Sostituisci quanto segue:
SINK_NAME
: il nome del sink che instrada i log.PROJECT_ID
: l'ID del progetto Google Cloud in cui vuoi aggregare i log.DATASET_ID
: l'ID del set di dati BigQuery che hai creato.LOG_FILTER
: il filtro dei log che hai salvato dallo strumento di definizione dell'ambito dei log.ORGANIZATION_ID
: l'ID risorsa della tua organizzazione.
Il flag
--include-children
è importante per includere anche i log di tutti i progettiGoogle Cloud della tua organizzazione. Per ulteriori informazioni, consulta Raccogliere e indirizzare i log a livello di organizzazione verso le destinazioni supportate.Il flag
--use-partitioned-tables
è importante per partizionare i dati per giorno in base al campotimestamp
della voce di log. In questo modo, la query dei dati viene semplificata e i costi delle query vengono ridotti diminuendo la quantità di dati analizzati dalle query. Un altro vantaggio delle tabelle partizionate è che puoi impostare una scadenza predefinita delle partizioni a livello di set di dati per soddisfare i requisiti di conservazione dei log. Hai già impostato una scadenza predefinita della partizione quando hai creato la destinazione del set di dati nella sezione precedente. Puoi anche scegliere di impostare una scadenza della partizione a livello di singola tabella, in modo da avere controlli granulari sulla conservazione dei dati in base al tipo di log.Verifica che il sink sia stato creato:
gcloud logging sinks list --organization=ORGANIZATION_ID
Recupera il nome del account di servizio associato al sink che hai appena creato:
gcloud logging sinks describe SINK_NAME --organization=ORGANIZATION_ID
L'output è simile al seguente:
writerIdentity: serviceAccount:p1234567890-12345@logging-o1234567890.iam.gserviceaccount.com`
Copia l'intera stringa per
writerIdentity
a partire da serviceAccount:. Questo identificatore è l'account di servizio del sink. Finché non concedi a questo account di servizio l'accesso in scrittura al set di dati BigQuery, il routing dei log da questo sink non andrà a buon fine. Nella sezione successiva concederai l'accesso in scrittura all'identità writer del sink.
Concedere l'accesso al lavello
Dopo aver creato il sink di log, devi concedere l'accesso in scrittura alla destinazione, che si tratti del bucket Logging o del set di dati BigQuery.
Analisi dei log
Per aggiungere le autorizzazioni all'account di servizio del sink:
Nella console Google Cloud , vai alla pagina IAM:
Assicurati di aver selezionato il progetto Google Cloud di destinazione che contiene il bucket Logging che hai creato per l'archiviazione centralizzata dei log.
Fai clic su person_add Concedi l'accesso.
Nel campo Nuove entità, inserisci l'account di servizio del sink senza il prefisso
serviceAccount:
. Ricorda che questa identità proviene dal campowriterIdentity
recuperato nella sezione precedente dopo aver creato il sink.Nel menu a discesa Seleziona un ruolo, seleziona Writer bucket log.
Fai clic su Aggiungi condizione IAM per limitare l'accesso dell'account di servizio solo al bucket dei log che hai creato.
Inserisci un Titolo e una Descrizione per la condizione.
Nel menu a discesa Tipo di condizione, seleziona Risorsa > Nome.
Nel menu a discesa Operatore, seleziona Termina con.
Nel campo Valore, inserisci la posizione e il nome del bucket nel seguente formato:
locations/BUCKET_LOCATION/buckets/BUCKET_NAME
Fai clic su Salva per aggiungere la condizione.
Fai clic su Salva per impostare le autorizzazioni.
BigQuery
Per aggiungere le autorizzazioni all'account di servizio del sink:
Nella console Google Cloud , vai a BigQuery:
Apri il set di dati BigQuery che hai creato per l'archiviazione centralizzata dei log.
Nella scheda Informazioni sul set di dati, fai clic sul menu a discesa Condivisionekeyboard_arrow_down e poi su Autorizzazioni.
Nel riquadro laterale Autorizzazioni dataset, fai clic su Aggiungi entità.
Nel campo Nuove entità, inserisci l'account di servizio del sink senza il prefisso
serviceAccount:
. Ricorda che questa identità proviene dal campowriterIdentity
recuperato nella sezione precedente dopo aver creato il sink.Nel menu a discesa Ruolo, seleziona BigQuery Data Editor.
Fai clic su Salva.
Dopo aver concesso l'accesso al sink, le voci di log iniziano a popolare la destinazione del sink: il bucket Logging o il set di dati BigQuery.
Configurare l'accesso in lettura alla destinazione
Ora che il sink di log indirizza i log dell'intera organizzazione in un'unica destinazione, puoi eseguire ricerche in tutti questi log. Utilizza le autorizzazioni IAM per gestire le autorizzazioni e concedere l'accesso in base alle esigenze.
Analisi dei log
Per concedere l'accesso per visualizzare ed eseguire query sui log nel nuovo bucket di log:
Nella console Google Cloud , vai alla pagina IAM:
Assicurati di aver selezionato il progetto Google Cloud che utilizzi per aggregare i log.
Fai clic su person_add Aggiungi.
Nel campo Nuova entità, aggiungi il tuo account email.
Nel menu a discesa Seleziona un ruolo, seleziona Logs Views Accessor.
Questo ruolo fornisce all'entità appena aggiunta l'accesso in lettura a tutte le visualizzazioni per tutti i bucket nel progetto Google Cloud . Per limitare l'accesso di un utente, aggiungi una condizione che consenta all'utente di leggere solo dal nuovo bucket.
Fai clic su Aggiungi condizione.
Inserisci un Titolo e una Descrizione per la condizione.
Nel menu a discesa Tipo di condizione, seleziona Risorsa > Nome.
Nel menu a discesa Operatore, seleziona Termina con.
Nel campo Valore, inserisci la posizione e il nome del bucket e la visualizzazione log predefinita
_AllLogs
nel seguente modo:locations/BUCKET_LOCATION/buckets/BUCKET_NAME/views/_AllLogs
Fai clic su Salva per aggiungere la condizione.
Fai clic su Salva per impostare le autorizzazioni.
BigQuery
Per concedere l'accesso per visualizzare ed eseguire query sui log nel tuo set di dati BigQuery, segui i passaggi descritti nella sezione Concedere l'accesso a un set di dati della documentazione di BigQuery.
Verifica che i log vengano indirizzati alla destinazione.
Analisi dei log
Quando esegui il routing dei log a un bucket di log di cui è stato eseguito l'upgrade ad Analisi dei log, puoi visualizzare ed eseguire query su tutte le voci di log tramite una singola visualizzazione dei log con uno schema unificato per tutti i tipi di log. Segui questi passaggi per verificare che i log vengano indirizzati correttamente.
Nella console Google Cloud , vai alla pagina Analisi dei log:
Assicurati di aver selezionato il progetto Google Cloud che utilizzi per aggregare i log.
Fai clic sulla scheda Visualizzazioni log.
Espandi le visualizzazioni log nel bucket log che hai creato (ovvero
BUCKET_NAME
) se non è già espanso.Seleziona la visualizzazione dei log predefinita
_AllLogs
. Ora puoi esaminare l'intero schema dei log nel riquadro a destra, come mostrato nello screenshot seguente:Accanto a
_AllLogs
, fai clic su Query . In questo modo, l'editor Query viene compilato con una query SQL di esempio per recuperare le voci di log instradate di recente.Fai clic su Esegui query per visualizzare le voci di log instradate di recente.
A seconda del livello di attività nei progetti Google Cloud della tua organizzazione, potrebbe essere necessario attendere alcuni minuti prima che vengano generati alcuni log e poi indirizzati al bucket di log.
BigQuery
Quando indirizzi i log a un set di dati BigQuery, Cloud Logging crea tabelle BigQuery per contenere le voci di log come mostrato nello screenshot seguente:
Lo screenshot mostra come Cloud Logging assegna un nome a ogni tabella BigQuery in base al nome del log a cui appartiene una voce di log. Ad esempio,
la tabella cloudaudit_googleapis_com_data_access
selezionata nello
screenshot contiene audit log di accesso ai dati il cui ID log è
cloudaudit.googleapis.com%2Fdata_access
. Oltre a essere denominata in base
alla voce di log corrispondente, ogni tabella viene partizionata anche in base
ai timestamp di ogni voce di log.
A seconda del livello di attività nei progetti Google Cloud della tua organizzazione, potrebbe essere necessario attendere alcuni minuti prima che vengano generati alcuni log e poi instradati al tuo set di dati BigQuery.
Analisi dei log
Puoi eseguire un'ampia gamma di query sui log di controllo e della piattaforma. L'elenco seguente fornisce una serie di domande di sicurezza di esempio che potresti voler porre ai tuoi log. Per ogni domanda di questo elenco, esistono due versioni della query CSA corrispondente: una da utilizzare con Log Analytics e una da utilizzare con BigQuery. Utilizza la versione della query che corrisponde alla destinazione sink che hai configurato in precedenza.
Analisi dei log
Prima di utilizzare una delle query SQL riportate di seguito, sostituisci MY_PROJECT_ID
con l'ID del progetto Google Cloud in cui hai creato il bucket dei log (ovvero PROJECT_ID)
) e MY_DATASET_ID
con la regione e il nome del bucket dei log (ovvero
BUCKET_LOCATION.BUCKET_NAME
).
BigQuery
Prima di utilizzare una delle query SQL riportate di seguito, sostituisci MY_PROJECT_ID
con l'ID del progetto Google Cloud in cui hai creato il set di dati BigQuery (ovvero PROJECT_ID)
) e MY_DATASET_ID
con il nome di questo set di dati, ovvero DATASET_ID
.
- Domande su accesso e login
- Qualche tentativo di accesso sospetto è stato segnalato da Google Workspace?
- Si sono verificati troppi errori di accesso da parte di un'identità utente?
- Tentativi di accesso che violano i Controlli di servizio VPC?
- Sono stati rilevati tentativi di accesso che violano i controlli di accesso di Identity-Aware Proxy?
- Domande sulle modifiche alle autorizzazioni
- Domande sull'attività di provisioning
- Domande sull'utilizzo del workload
- Domande sull'accesso ai dati
- Quali utenti hanno eseguito l'accesso ai dati più spesso nell'ultima settimana?
- Quali utenti hanno avuto accesso ai dati nella tabella "account" il mese scorso?
- Quali tabelle vengono consultate più spesso e da chi?
- Quali sono le 10 query più utilizzate in BigQuery nell'ultima settimana?
- Quali sono le azioni più comuni registrate nel log di accesso ai dati nell'ultimo mese?
- Domande sulla sicurezza della rete
Domande sull'accesso
Queste query di esempio eseguono l'analisi per rilevare tentativi di accesso sospetti o tentativi di accesso iniziali al tuo ambiente Google Cloud .
Qualche tentativo di accesso sospetto segnalato da Google Workspace?
Eseguendo la ricerca nei log di Cloud Identity che fanno parte di Google Workspace Login Audit, la seguente query rileva tentativi di accesso sospetti segnalati da Google Workspace. Questi tentativi di accesso potrebbero provenire dalla console Google Cloud , dalla Console di amministrazione o da gcloud CLI.
Analisi dei log
BigQuery
Si sono verificati troppi tentativi di accesso non riusciti da parte di un'identità utente?
Eseguendo la ricerca nei log di Cloud Identity che fanno parte di Audit di accesso a Google Workspace, la seguente query rileva gli utenti che hanno avuto tre o più tentativi di accesso non riusciti consecutivi nelle ultime 24 ore.
Analisi dei log
BigQuery
Tentativi di accesso che violano i controlli di servizio VPC?
Analizzando gli audit log sugli accessi negati in base ai criteri di Cloud Audit Logs, la seguente query rileva i tentativi di accesso bloccati da Controlli di servizio VPC. I risultati di qualsiasi query potrebbero indicare una potenziale attività dannosa, come tentativi di accesso da reti non autorizzate che utilizzano credenziali rubate.
Analisi dei log
BigQuery
Eventuali tentativi di accesso che violano i controlli dell'accesso IAP?
Analizzando i log del bilanciatore del carico delle applicazioni esterno, la seguente query rileva i tentativi di accesso bloccati da IAP. I risultati di qualsiasi query potrebbero indicare un tentativo di accesso iniziale o di sfruttamento di vulnerabilità.
Analisi dei log
BigQuery
Domande sulle modifiche alle autorizzazioni
Queste query di esempio eseguono l'analisi dell'attività dell'amministratore che modifica le autorizzazioni, incluse le modifiche a criteri IAM, gruppi e appartenenze ai gruppi, service account e qualsiasi chiave associata. Queste modifiche alle autorizzazioni potrebbero fornire un elevato livello di accesso a dati o ambienti sensibili.
È stato aggiunto un utente a gruppi con privilegi elevati?
Analizzando gli audit log di Google Workspace Admin Audit, la seguente query rileva gli utenti che sono stati aggiunti a uno dei gruppi con privilegi elevati elencati nella query. Utilizzi l'espressione regolare nella query per definire quali gruppi (ad esempio admin@example.com
o prod@example.com
) monitorare. Qualsiasi risultato della query potrebbe indicare un aumento dei privilegi dannoso o accidentale.
Analisi dei log
BigQuery
Qualche autorizzazione concessa su un account di servizio?
Analizzando gli audit log Attività di amministrazione di Cloud Audit Logs, la seguente query rileva eventuali autorizzazioni concesse a qualsiasi entità su un account di servizio. Esempi di autorizzazioni che potrebbero essere concesse sono la possibilità di rappresentare l'account di servizio o creare chiavi dell'account di servizio. Qualsiasi risultato della query potrebbe indicare un'istanza di escalation dei privilegi o un rischio di perdita di credenziali.
Analisi dei log
BigQuery
Eventuali service account o chiavi creati da un'identità non approvata.
Analizzando i log di controllo dell'attività amministrativa, la seguente query rileva eventuali service account o chiavi creati manualmente da un utente. Ad esempio, potresti seguire una best practice per consentire la creazione di service account solo da parte di unaccount di serviziont approvato nell'ambito di un flusso di lavoro automatizzato. Pertanto, qualsiasi creazione di service account al di fuori di questo flusso di lavoro è considerata non conforme e potenzialmente dannosa.
Analisi dei log
BigQuery
È stato aggiunto (o rimosso) un utente da una policy IAM sensibile?
Eseguendo una ricerca negli audit log delle attività di amministrazione, la seguente query rileva qualsiasi modifica all'accesso di utenti o
gruppi per una risorsa protetta da IAP, ad esempio un
servizio di backend di Compute Engine. La seguente query cerca tutti gli aggiornamenti dei criteri IAM per le risorse IAP che coinvolgono il ruolo IAM roles/iap.httpsResourceAccessor
. Questo ruolo fornisce le autorizzazioni per accedere
alla risorsa HTTPS o al servizio di backend. Qualsiasi risultato della query potrebbe indicare
tentativi di aggirare le difese di un servizio di backend che potrebbe essere esposto a
internet.
Analisi dei log
BigQuery
Domande sull'attività di provisioning
Queste query di esempio eseguono l'analisi per rilevare attività di amministrazione sospette o anomale, come il provisioning e la configurazione delle risorse.
Sono state apportate modifiche alle impostazioni di logging?
Eseguendo la ricerca nei log di controllo delle attività di amministrazione, la seguente query rileva qualsiasi modifica apportata alle impostazioni di logging. Il monitoraggio delle impostazioni di logging ti aiuta a rilevare la disattivazione accidentale o dannosa dei log di controllo e tecniche simili di elusione della difesa.
Analisi dei log
BigQuery
I log di flusso VPC sono disattivati attivamente?
Eseguendo ricerche negli audit log dell'attività di amministrazione, la seguente query rileva qualsiasi subnet i cui log di flusso VPC sono stati disabilitati attivamente . Il monitoraggio delle impostazioni dei log di flusso VPC ti aiuta a rilevare la disattivazione accidentale o dannosa dei log di flusso VPC e tecniche di elusione della difesa simili.
Analisi dei log
BigQuery
È stato modificato un numero insolitamente elevato di regole firewall nell'ultima settimana?
Eseguendo una ricerca negli audit log per le attività di amministrazione, la seguente query rileva un numero insolitamente elevato di modifiche alle regole firewall in un determinato giorno della settimana precedente. Per determinare se esiste un valore anomalo, la query esegue un'analisi statistica sui conteggi giornalieri delle modifiche alle regole del firewall. Le medie e le deviazioni standard vengono calcolate per ogni giorno esaminando i conteggi giornalieri precedenti con una finestra temporale di 90 giorni. Un valore anomalo viene considerato quando il conteggio giornaliero è superiore di oltre due deviazioni standard rispetto alla media. La query, inclusi il fattore di deviazione standard e le finestre temporali, può essere configurata in modo da adattarsi al tuo profilo di attività di provisioning cloud e ridurre al minimo i falsi positivi.
Analisi dei log
BigQuery
Sono state eliminate VM nell'ultima settimana?
Cercando negli audit log dell'attività di amministrazione, la seguente query elenca tutte le istanze Compute Engine eliminate nell'ultima settimana. Questa query può aiutarti a controllare le eliminazioni di risorse e rilevare potenziali attività dannose.
Analisi dei log
BigQuery
Domande sull'utilizzo del workload
Queste query di esempio eseguono l'analisi per capire chi e cosa consuma le tue API e i tuoi carichi di lavoro cloud e ti aiutano a rilevare potenziali comportamenti dannosi interni o esterni.
Nell'ultima settimana si è verificato un utilizzo insolitamente elevato dell'API da parte di un'identità utente?
Analizzando tutti Cloud Audit Logs, la seguente query rileva un utilizzo insolitamente elevato dell'API da parte di qualsiasi identità utente in un determinato giorno della settimana precedente. Un utilizzo insolitamente elevato potrebbe essere un indicatore di potenziale abuso di API, minaccia interna o credenziali compromesse. Per determinare se esiste un valore anomalo, questa query esegue un'analisi statistica sul conteggio giornaliero delle azioni per principal. Le medie e le deviazioni standard vengono calcolate per ogni giorno e per ogni principale esaminando i conteggi giornalieri precedenti con una finestra temporale di 60 giorni. Un valore anomalo viene considerato quando il conteggio giornaliero per un utente supera di tre deviazioni standard la media. La query, inclusi il fattore di deviazione standard e le finestre temporali, sono tutti configurabili per adattarsi al tuo profilo di attività di provisioning cloud e per ridurre al minimo i falsi positivi.
Analisi dei log
BigQuery
Qual è l'utilizzo della scalabilità automatica al giorno nell'ultimo mese?
Analizzando i log di controllo dell'attività amministrativa, la seguente query riporta l'utilizzo dello scalabilità automatica per giorno nell'ultimo mese. Questa query può essere utilizzata per identificare pattern o anomalie che richiedono ulteriori indagini sulla sicurezza.
Analisi dei log
BigQuery
Domande sull'accesso ai dati
Queste query di esempio eseguono l'analisi per capire chi accede o modifica i dati in Google Cloud.
Quali utenti hanno eseguito l'accesso ai dati più spesso nell'ultima settimana?
La seguente query utilizza i log di controllo dell'accesso ai dati per trovare le identità utente che hanno eseguito l'accesso più di frequente ai dati delle tabelle BigQuery nell'ultima settimana.
Analisi dei log
BigQuery
Quali utenti hanno avuto accesso ai dati nella tabella "account" il mese scorso?
La seguente query utilizza gli audit log di accesso ai dati per trovare le identità utente che hanno eseguito query più frequentemente su una determinata tabella accounts
nell'ultimo mese.
Oltre ai segnaposto MY_DATASET_ID
e MY_PROJECT_ID
per la destinazione di esportazione BigQuery, la seguente query utilizza i segnaposto DATASET_ID
e PROJECT_ID
. Devi sostituire i segnaposto
DATASET_ID
e PROJECT_ID
per specificare la tabella di destinazione di cui viene analizzato l'accesso,
ad esempio la tabella accounts
in questo esempio.
Analisi dei log
BigQuery
Quali tabelle vengono consultate più spesso e da chi?
La seguente query utilizza gli audit log dell'accesso ai dati per trovare le tabelle BigQuery con i dati letti e modificati più di frequente nell'ultimo mese. Mostra l'identità utente associata insieme alla suddivisione del numero totale di volte in cui i dati sono stati letti rispetto a quelli modificati.
Analisi dei log
BigQuery
Quali sono le 10 query più utilizzate in BigQuery nell'ultima settimana?
La seguente query utilizza gli audit log dell'accesso ai dati per trovare le query più comuni dell'ultima settimana. Elenca anche gli utenti corrispondenti e le tabelle a cui viene fatto riferimento.
Analisi dei log
BigQuery
Quali sono le azioni più comuni registrate nel log di accesso ai dati nell'ultimo mese?
La seguente query utilizza tutti i log di Cloud Audit Logs per trovare le 100 azioni più frequenti registrate nell'ultimo mese.
Analisi dei log
BigQuery
Domande sulla sicurezza della rete
Queste query di esempio eseguono l'analisi dell'attività di rete in Google Cloud.
Esistono connessioni da un nuovo indirizzo IP a una subnet specifica?
La seguente query rileva le connessioni da qualsiasi nuovo indirizzo IP di origine a una determinata subnet analizzando i log di flusso VPC. In questo esempio, un indirizzo IP di origine è considerato nuovo se è stato visualizzato per la prima volta nelle ultime 24 ore in un periodo di analisi di 60 giorni. Potresti voler utilizzare e ottimizzare questa query su una subnet inclusa nell'ambito di un particolare requisito di conformità come PCI.
Analisi dei log
BigQuery
Qualche connessione è stata bloccata da Google Cloud Armor?
La seguente query consente di rilevare potenziali tentativi di exploit analizzando i log del bilanciatore del carico esterno per trovare eventuali connessioni bloccate dai criteri di sicurezza configurati in Google Cloud Armor. Questa query presuppone che tu abbia configurato un criterio di sicurezza di Google Cloud Armor sul bilanciatore del carico delle applicazioni esterno. Questa query presuppone anche che tu abbia attivato la registrazione del bilanciatore del carico delle applicazioni esterno come descritto nelle istruzioni fornite dal link Attiva nello strumento di definizione dell'ambito dei log.
Analisi dei log
BigQuery
Virus o malware di gravità elevata rilevati da Cloud IDS?
La seguente query mostra eventuali virus o malware di gravità elevata rilevati da Cloud IDS eseguendo la ricerca nei log delle minacce di Cloud IDS. Questa query presuppone che tu abbia configurato un endpoint Cloud IDS.
Analisi dei log
BigQuery
Quali sono i domini Cloud DNS più interrogati dalla tua rete VPC?
La seguente query elenca i 10 domini Cloud DNS più interrogati dalle tue reti VPC negli ultimi 60 giorni. Questa query presuppone che tu abbia abilitato il logging di Cloud DNS per le tue reti VPC come descritto nelle istruzioni fornite dal link Abilita nello strumento di definizione dell'ambito dei log.
Analisi dei log
BigQuery
Passaggi successivi
Scopri come trasmettere i log da Google Cloud a Splunk.
Importazione Google Cloud dei log in Google Security Operations.
Esportazione Google Cloud dei dati di sicurezza nel tuo sistema SIEM.
Esplora architetture di riferimento, diagrammi e best practice su Google Cloud. Consulta il nostro Cloud Architecture Center.