Raccogliere i log di controllo di Chronicle SOAR

Supportato in:

Questo documento spiega come importare i log di controllo di Chronicle SOAR in Google Security Operations utilizzando Google Cloud Storage V2.

Google Security Operations SOAR (Security Orchestration, Automation and Response) consente ai team di sicurezza di automatizzare la risposta alle minacce importando, raggruppando e dando la priorità agli avvisi provenienti dagli strumenti di rilevamento per eseguire automaticamente i playbook e coordinare una risposta pratica. I log SOAR acquisiscono dati essenziali dalle funzioni ETL, Playbook e Python, tra cui l'esecuzione di script Python, l'importazione di avvisi e il rendimento dei playbook.

Prima di iniziare

Assicurati di disporre dei seguenti prerequisiti:

  • Un'istanza Google SecOps
  • Un progetto Google Cloud con l'API Cloud Storage abilitata
  • Autorizzazioni per creare e gestire bucket GCS
  • Autorizzazioni per gestire le policy IAM nei bucket GCS
  • Autorizzazioni per creare e gestire i sink di Cloud Logging
  • Accesso al progetto Google Cloud in cui è stato eseguito il deployment di Chronicle SOAR
  • Ruolo IAM Visualizzatore log (roles/logging.viewer) nel tuo progetto Google Cloud
  • Ruolo IAM Logging Admin (roles/logging.admin) per creare sink di log

Creazione di un bucket Google Cloud Storage

  1. Vai alla console Google Cloud.
  2. Seleziona il tuo progetto o creane uno nuovo.
  3. Nel menu di navigazione, vai a Cloud Storage > Bucket.
  4. Fai clic su Crea bucket.
  5. Fornisci i seguenti dettagli di configurazione:

    Impostazione Valore
    Assegna un nome al bucket Inserisci un nome univoco globale (ad esempio chronicle-soar-audit-logs).
    Tipo di località Scegli in base alle tue esigenze (regione singola, doppia regione, più regioni)
    Località Seleziona la posizione (ad esempio, us-central1).
    Classe di archiviazione Standard (consigliato per i log a cui si accede di frequente)
    Controllo dell'accesso Uniforme (consigliato)
    Strumenti di protezione (Facoltativo) Attiva il controllo delle versioni degli oggetti o la policy di conservazione
  6. Fai clic su Crea.

Abilita la raccolta dei log SOAR (solo deployment autonomi)

Per abilitare l'esportazione dei log SOAR per i deployment autonomi:

  1. Nella console Google Cloud, vai a IAM e amministrazione > Service account.
  2. Fai clic su Crea account di servizio.
  3. Fornisci i seguenti dettagli di configurazione:
    • Nome del service account: inserisci soar-logs-export-sa
    • Descrizione service account: inserisci Service account for exporting SOAR logs to Cloud Logging
  4. Fai clic su Crea e continua.
  5. Nella sezione Concedi a questo account di servizio l'accesso al progetto:
    1. Fai clic su Seleziona un ruolo.
    2. Cerca e seleziona Logs Writer.
  6. Fai clic su Continua.
  7. Fai clic su Fine.
  8. Nell'elenco Service account, individua il account di servizio (soar-logs-export-sa).
  9. Fai clic su more_vert Altro > Gestisci autorizzazioni.
  10. Nella sezione Autorizzazioni, fai clic su Concedi l'accesso.
  11. Nel campo Aggiungi entità, inserisci la seguente entità:

    gke-init-backgroundservices@{SOAR-GCP-Project-Id}.iam.gserviceaccount.com
    
  12. Nella sezione Assegna ruoli:

    1. Fai clic su Seleziona un ruolo.
    2. Cerca e seleziona Creatore token service account.
  13. Fai clic su Salva.

  14. Copia l'indirizzo email completo del account di servizio (soar-logs-export-sa@PROJECT_ID.iam.gserviceaccount.com).

  15. Invia una richiesta all'assistenza Google SecOps con l'email del account di servizio per attivare l'esportazione dei log.

Configura il sink Cloud Logging per esportare i log SOAR in GCS

I log di Chronicle SOAR vengono scritti in Google Cloud Logging nello spazio dei nomi chronicle-soar. Devi creare un sink di log per indirizzare questi log al tuo bucket GCS.

  1. Nella console Google Cloud, vai a Logging > Router dei log.
  2. Seleziona il progetto Google Cloud in cui è stato eseguito il deployment di Chronicle SOAR.
  3. Fai clic su Crea sink.
  4. Nel riquadro Dettagli sink, fornisci i seguenti dettagli di configurazione:
    • Nome sink: inserisci chronicle-soar-to-gcs
    • Descrizione sink: inserisci Export Chronicle SOAR audit logs to GCS for Chronicle SIEM ingestion
  5. Fai clic su Avanti.
  6. Nel riquadro Destinazione sink:
    1. Nel menu Seleziona il servizio sink, seleziona Bucket Cloud Storage.
    2. Nel menu Seleziona bucket Cloud Storage, seleziona il bucket (chronicle-soar-audit-logs).
  7. Fai clic su Avanti.
  8. Nel riquadro Scegli i log da includere nel sink:

    1. Nel campo Crea filtro di inclusione, inserisci il seguente filtro:

      resource.labels.namespace_name="chronicle-soar"
      

      Questo filtro corrisponde a tutti i log SOAR dei servizi ETL, Playbook e Python.

    2. Fai clic su Visualizza l'anteprima dei log per verificare che il filtro corrisponda alle voci di log previste.

  9. Fai clic su Avanti.

  10. (Facoltativo) Nel riquadro Scegli i log da escludere dal sink, puoi aggiungere filtri di esclusione, se necessario. Per la maggior parte dei deployment non sono necessarie esclusioni.

  11. Fai clic su Crea sink.

Verifica l'esportazione dei log in GCS

  1. Attendi 5-10 minuti affinché i log vengano esportati nel bucket GCS.
  2. Nella console Google Cloud, vai a Cloud Storage > Bucket.
  3. Fai clic sul nome del bucket (chronicle-soar-audit-logs).
  4. Verifica che i file di log vengano creati nel bucket. I file sono organizzati per data e ora:

    chronicle-soar/YYYY/MM/DD/HH:MM:SS_<unique-id>.json
    
  5. Fai clic su un file di log per visualizzarne l'anteprima dei contenuti. Ogni file contiene voci di log in formato JSON.

Recuperare il account di servizio Google SecOps

Google SecOps utilizza un account di servizio univoco per leggere i dati dal tuo bucket GCS. Devi concedere a questo account di servizio l'accesso al tuo bucket.

Recupera l'email del account di servizio

  1. Vai a Impostazioni SIEM > Feed.
  2. Fai clic su Aggiungi nuovo feed.
  3. Fai clic su Configura un singolo feed.
  4. Nel campo Nome feed, inserisci un nome per il feed (ad esempio, Chronicle SOAR Audit Logs).
  5. Seleziona Google Cloud Storage V2 come Tipo di origine.
  6. Seleziona CHRONICLE_SOAR_AUDIT come Tipo di log.
  7. Fai clic su Ottieni service account.
  8. Viene visualizzata un'email del account di servizio univoca, ad esempio:

    chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.com
    
  9. Copia questo indirizzo email per utilizzarlo nel passaggio successivo.

  10. Fai clic su Avanti.

  11. Specifica i valori per i seguenti parametri di input:

    • URL del bucket di archiviazione: inserisci l'URI del bucket GCS con il percorso del prefisso:

      gs://chronicle-soar-audit-logs/chronicle-soar/
      
    • Opzione di eliminazione dell'origine: seleziona l'opzione di eliminazione in base alle tue preferenze:

      • Mai: non elimina mai i file dopo i trasferimenti (opzione consigliata per i test).
      • Elimina file trasferiti: elimina i file dopo il trasferimento riuscito.
      • Elimina file trasferiti e directory vuote: elimina i file e le directory vuote dopo il trasferimento riuscito.
    • Età massima del file: includi i file modificati nell'ultimo numero di giorni (il valore predefinito è 180 giorni)

    • Spazio dei nomi dell'asset: lo spazio dei nomi dell'asset

    • Etichette di importazione: l'etichetta da applicare agli eventi di questo feed

  12. Fai clic su Avanti.

  13. Controlla la nuova configurazione del feed nella schermata Finalizza e poi fai clic su Invia.

Concedi le autorizzazioni IAM al account di servizio Google SecOps

Il account di servizio Google SecOps deve avere il ruolo Visualizzatore oggetti Storage nel bucket GCS.

  1. Vai a Cloud Storage > Bucket.
  2. Fai clic sul nome del bucket (chronicle-soar-audit-logs).
  3. Vai alla scheda Autorizzazioni.
  4. Fai clic su Concedi l'accesso.
  5. Fornisci i seguenti dettagli di configurazione:
    • Aggiungi entità: incolla l'email del account di servizio Google SecOps
    • Assegna i ruoli: seleziona Visualizzatore oggetti Storage
  6. Fai clic su Salva.

Filtrare i log SOAR per tipo di servizio

I log di Chronicle SOAR sono classificati in base al servizio che li ha generati. Puoi filtrare i log in Cloud Logging o creare sink separati per diversi tipi di log.

Servizi di log disponibili

Sono disponibili i seguenti tipi di servizio:

  • playbook: log delle esecuzioni del playbook, inclusi l'esecuzione del blocco, i risultati dell'azione e lo stato del flusso di lavoro
  • python: log dell'esecuzione dello script Python, incluse azioni di integrazione, connettori e job
  • etl: log dei processi di importazione degli avvisi e di trasformazione dei dati

Filtrare per servizio in Cloud Logging

Per visualizzare i log di un servizio specifico:

  1. Nella console Google Cloud, vai a Logging > Esplora log.
  2. Seleziona il progetto Google Cloud in cui è stato eseguito il deployment di Chronicle SOAR.
  3. Inserisci il seguente filtro per visualizzare i log di un servizio specifico:

    resource.labels.namespace_name="chronicle-soar"
    resource.labels.container_name="playbook"
    

    Sostituisci playbook con python o etl per visualizzare i log di altri servizi.

Crea sink separati per diversi tipi di log

Per indirizzare diversi tipi di log a bucket o prefissi GCS separati, crea sink aggiuntivi con filtri specifici per il servizio:

  1. Segui i passaggi descritti nella sezione Configura il sink Cloud Logging per esportare i log SOAR in GCS.
  2. Nel campo Crea filtro di inclusione, utilizza uno dei seguenti filtri:

    Solo log del playbook:

    resource.labels.namespace_name="chronicle-soar"
    resource.labels.container_name="playbook"
    

    Solo log Python:

    resource.labels.namespace_name="chronicle-soar"
    resource.labels.container_name="python"
    

    Solo log ETL:

    resource.labels.namespace_name="chronicle-soar"
    resource.labels.container_name="etl"
    

Etichette dei log disponibili per il filtraggio

I log di Chronicle SOAR includono etichette che forniscono un contesto aggiuntivo per il filtraggio e l'analisi.

Etichette playbook

Per i log del playbook sono disponibili le seguenti etichette:

  • playbook_definition: Identificatore univoco per la definizione del playbook
  • playbook_name: Nome del playbook leggibile da una persona
  • block_name: Nome del blocco del playbook in esecuzione
  • block_definition: Identificatore univoco della definizione del blocco
  • case_id: Identificatore della richiesta di Chronicle SOAR
  • correlation_id: Identificatore univoco per il monitoraggio dell'intera esecuzione del playbook nei vari servizi
  • integration_name: Nome dell'integrazione in uso
  • action_name: il nome dell'azione in esecuzione

Etichette Python

Per i log di servizio Python sono disponibili le seguenti etichette:

Etichette di integrazione e connettore:

  • integration_name: Nome dell'integrazione
  • integration_version: versione dell'integrazione
  • connector_name: Nome del connettore
  • connector_instance: Identificatore dell'istanza per il connettore

Etichette dei job:

  • integration_name: Nome dell'integrazione
  • integration_version: versione dell'integrazione
  • job_name: Nome del job pianificato

Etichette di azione:

  • integration_name: Nome dell'integrazione
  • integration_version: versione dell'integrazione
  • integration_instance: Identificatore dell'istanza per l'integrazione
  • correlation_id: Identificatore univoco per il tracciamento dell'esecuzione
  • action_name: il nome dell'azione in esecuzione

Etichette ETL

Per i log di servizio ETL sono disponibili le seguenti etichette:

  • correlation_id: Identificatore univoco per il flusso di inserimento degli avvisi di tracciamento

Utilizza correlation_id per la tracciabilità completa

L'etichetta correlation_id è disponibile sia nei log del playbook sia in quelli del servizio Python. Utilizza questa etichetta per recuperare tutti i log associati all'esecuzione di un intero playbook:

  1. Nella console Google Cloud, vai a Logging > Esplora log.
  2. Inserisci il seguente filtro:

    resource.labels.namespace_name="chronicle-soar"
    labels.correlation_id="<correlation-id-value>"
    

    Sostituisci <correlation-id-value> con l'ID correlazione effettivo di una voce di log.

Questo filtro restituisce tutti i log dei servizi playbook e Python per la traccia di esecuzione completa.

Tabella di mappatura UDM

Campo log Mappatura UDM Logic
modulo, screenSize, activityItem, modificationTimeUnixTimeInMs additional.fields Etichette unite create da ogni campo, se presente
utente, operazione extensions.auth.type Impostato su "AUTHTYPE_UNSPECIFIED" se l'utente non è vuoto e l'operazione è "Login"
creationTimeUnixTimeInMs metadata.event_timestamp Analizzato come timestamp UNIX_MS
utente, operazione, indirizzo metadata.event_type Imposta "USER_LOGIN" se l'utente non è vuoto e l'operazione è "Login"; "USER_RESOURCE_ACCESS" se l'utente non è vuoto; "STATUS_UNCATEGORIZED" se l'indirizzo è vuoto; altrimenti "GENERIC_EVENT"
operazione metadata.product_event_type Valore copiato direttamente
id metadata.product_log_id Convertito in stringa
browser network.http.parsed_user_agent Convertito in user agent analizzato
browser network.http.user_agent Valore copiato direttamente
indirizzo principal.hostname Imposta se l'indirizzo non corrisponde al pattern IP
indirizzo principal.ip IP estratto utilizzando il pattern grok
origine principal.resource.resource_subtype Valore copiato direttamente
utente principal.user.userid Valore copiato direttamente
ContactEmails security_result.about.user.email_addresses Indirizzi email estratti utilizzando il pattern grok
ContactPhone security_result.about.user.phone_numbers Valore copiato direttamente
ContactName security_result.about.user.user_display_name Valore copiato direttamente
Nome security_result.about.user.userid Valore copiato direttamente
currentActivity, previousActivity security_result.detection_fields Etichette unite da currentActivity e previousActivity, se presenti
userGuid target.user.product_object_id Valore copiato direttamente
metadata.product_name Impostato su "CHRONICLE_SOAR_AUDIT"
metadata.vendor_name Impostato su "CHRONICLE_SOAR_AUDIT"

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.