Raccogliere i log degli errori di Cloud Security Command Center

Supportato in:

Questo documento spiega come esportare e importare i log di errore di Security Command Center in Google Security Operations utilizzando Cloud Storage. L'analizzatore sintattico trasforma i log non elaborati in formato JSON in un modello di dati unificato (UDM). Estrae i campi pertinenti dal log non elaborato, esegue la pulizia e la normalizzazione dei dati e struttura l'output in base allo schema UDM per un'analisi della sicurezza coerente.

Prima di iniziare

  • Assicurati che Google Cloud Security Command Center sia abilitato e configurato nel tuo Google Cloud ambiente.
  • Assicurati di avere un'istanza Google SecOps.
  • Assicurati di disporre dell'accesso privilegiato a Security Command Center e Cloud Logging.

Crea un bucket Cloud Storage

  1. Accedi alla console Google Cloud.
  2. Vai alla pagina Bucket Cloud Storage.

    Vai a Bucket

  3. Fai clic su Crea.

  4. Nella pagina Crea un bucket, inserisci le informazioni del bucket. Dopo ogni passaggio che segue, fai clic su Continua per passare al passaggio successivo:

    1. Nella sezione Inizia:

      1. Inserisci un nome univoco che soddisfi i requisiti per i nomi dei bucket, ad esempio gcp-scc-error-logs.
      2. Per attivare lo spazio dei nomi gerarchico, fai clic sulla freccia di espansione per espandere la sezione Ottimizza per i workload orientati ai file e con uso intensivo dei dati, poi seleziona Abilita uno spazio dei nomi gerarchico in questo bucket.

      3. Per aggiungere un'etichetta del bucket, fai clic sulla freccia di espansione per espandere la sezione Etichette.

      4. Fai clic su Aggiungi etichetta e specifica una chiave e un valore per l'etichetta.

    2. Nella sezione Scegli dove archiviare i tuoi dati, segui questi passaggi:

      1. Seleziona un Tipo di località.
      2. Utilizza il menu del tipo di località per selezionare una Località in cui verranno archiviati in modo permanente i dati degli oggetti all'interno del bucket.

      3. Per configurare la replica tra bucket, espandi la sezione Configura la replica tra bucket.

    3. Nella sezione Scegli una classe di archiviazione per i tuoi dati, seleziona una classe di archiviazione predefinita per il bucket o Autoclass per la gestione automatica della classe di archiviazione dei dati del bucket.

    4. Nella sezione Scegli come controllare l'accesso agli oggetti, seleziona no per applicare la prevenzione dell'accesso pubblico e seleziona un modello di controllo dell'accesso per gli oggetti del bucket.

    5. Nella sezione Scegli come proteggere i dati degli oggetti, segui questi passaggi:

      1. Seleziona una delle opzioni in Protezione dei dati che vuoi impostare per il bucket.
      2. Per scegliere la modalità di crittografia dei dati degli oggetti, fai clic sulla freccia di espansione etichettata Crittografia dei dati e seleziona un Metodo di crittografia dei dati.
  5. Fai clic su Crea.

Configurare il logging di Security Command Center

  1. Accedi alla console Google Cloud.
  2. Vai alla pagina Security Command Center.

    Andare a Security Command Center

  3. Seleziona la tua organizzazione.

  4. Fai clic su Impostazioni.

  5. Fai clic sulla scheda Esportazioni continue.

  6. In Nome dell'esportazione, fai clic su Esportazione log.

  7. In Destinazioni, attiva Registra i risultati in Logging.

  8. In Progetto di registrazione, inserisci o cerca il progetto in cui vuoi registrare i risultati.

  9. Fai clic su Salva.

Configurare l' Google Cloud esportazione dei log degli errori di Security Command Center

  1. Accedi alla console Google Cloud.
  2. Vai a Logging > Router dei log.
  3. Fai clic su Crea sink.
  4. Fornisci i seguenti parametri di configurazione:

    • Nome sink: inserisci un nome significativo, ad esempio scc-error-logs-sink.
    • Destinazione della destinazione: seleziona Cloud Storage e inserisci l'URI del bucket, ad esempio gs://gcp-scc-error-logs.
    • Filtro log:

      logName="projects/<your-project-id>/logs/cloudsecurityscanner.googleapis.com%2Ferror_logs"
       resource.type="security_command_center_error"
      
    • Imposta opzioni di esportazione: includi tutte le voci di log.

  5. Fai clic su Crea.

Configura le autorizzazioni per Cloud Storage

  1. Vai a IAM e amministrazione > IAM.
  2. Individua l'account di servizio Cloud Logging.
  3. Concedi il ruolo roles/storage.admin al bucket.

Configura un feed in Google SecOps per importare i Google Cloud log di errore di Security Command Center

  1. Vai a Impostazioni SIEM > Feed.
  2. Fai clic su Aggiungi nuovo.
  3. Nel campo Nome feed, inserisci un nome per il feed, ad esempio Google Cloud Log degli errori di Security Command Center.
  4. Seleziona Google Cloud Storage come Tipo di origine.
  5. Seleziona Errore di Security Command Center come Tipo di log.
  6. Fai clic su Ottieni account di servizio accanto al campo Account di servizio Chronicle.
  7. Fai clic su Avanti.
  8. Specifica i valori per i seguenti parametri di input:

    • URI del bucket di archiviazione: URL del bucket Cloud Storage, ad esempio gs://gcp-scc-error-logs.
    • URI è: seleziona Directory che include sottodirectory.
    • Opzioni di eliminazione dell'origine: seleziona l'opzione di eliminazione in base alle tue preferenze.

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

    • Etichette di importazione: l'etichetta applicata agli eventi di questo feed.

  9. Fai clic su Avanti.

  10. Rivedi la configurazione del nuovo feed nella schermata Concludi e poi fai clic su Invia.

Tabella di mappatura UDM

Campo log Mappatura UDM Logica
access.principalEmail about.user.email_addresses Valore preso dal campo access.principalEmail.
categoria metadata.product_event_type Valore preso dal campo category o findings.category a seconda del formato del log.
contacts.security.contacts.email security_result.about.user.email_addresses Valore preso dal campo contacts.security.contacts.email. Il ruolo è impostato su Security.
contacts.technical.contacts.email security_result.about.user.email_addresses Valore ottenuto dal campo contacts.technical.contacts.email. Il ruolo è impostato su Technical.
createTime security_result.detection_fields.value Valore preso dal campo createTime o findings.createTime a seconda del formato del log. La chiave è impostata su createTime.
description security_result.description Valore preso dal campo description o findings.description a seconda del formato del log.
eventTime metadata.event_timestamp Valore preso dal campo eventTime o findings.eventTime a seconda del formato del log e convertito in un timestamp.
externalUri about.url Valore preso dal campo externalUri o findings.externalUri a seconda del formato del log.
findingClass security_result.category_details Valore preso dal campo findingClass o findings.findingClass a seconda del formato del log.
findingProviderId target.resource.attribute.labels.value Valore preso dal campo findingProviderId o findings.findingProviderId a seconda del formato del log. La chiave è impostata su finding_provider_id.
mute security_result.detection_fields.value Valore preso dal campo mute o findings.mute a seconda del formato del log. La chiave è impostata su mute.
nextSteps security_result.outcomes.value Valore preso dal campo nextSteps o findings.nextSteps a seconda del formato del log. La chiave è impostata su nextSteps.
resourceName target.resource.name Valore preso dal campo resourceName, findings.resourceName, resource_name o findings.resource_name a seconda del formato del log.
securityMarks.name security_result.detection_fields.value Valore preso dal campo securityMarks.name o findings.securityMarks.name a seconda del formato del log. La chiave è impostata su securityMarks_name.
gravità security_result.severity Valore preso dal campo severity o findings.severity a seconda del formato del log e mappato al livello di gravità UDM corrispondente.
sourceDisplayName target.resource.attribute.labels.value Valore preso dal campo sourceDisplayName o findings.sourceDisplayName a seconda del formato del log. La chiave è impostata su source_display_name.
sourceProperties.ReactivationCount target.resource.attribute.labels.value Valore preso dal campo sourceProperties.ReactivationCount o findings.sourceProperties.ReactivationCount a seconda del formato del log. La chiave è impostata su sourceProperties_ReactivationCount.
state security_result.detection_fields.value Valore preso dal campo state o findings.state a seconda del formato del log. La chiave è impostata su state.
is_alert Impostato su true se la logica dell'analizzatore determina che l'evento rappresenta un avviso attivo.
is_significant Impostato su true se la logica dell'analizzatore determina che l'evento è significativo.
metadata.event_type Imposta GENERIC_EVENT come valore predefinito.
metadata.log_type Valore hardcoded GCP_SECURITYCENTER_ERROR.
metadata.description Valore hardcoded Security Command Center.
metadata.product_name Valore hardcoded Security Command Center.
metadata.vendor_name Valore hardcoded Google.
target.resource.attribute.labels.key Valore hardcoded finding_id.
target.resource.attribute.labels.value Estratto dal campo name o findings.name, acquisisce l'ultima parte dopo l'ultimo carattere /.
target.resource.product_object_id Estratto dal campo parent o findings.parent, acquisisce il valore dopo l'ultimo carattere /.
target.resource.ancestors.name Valore preso dal campo parent o findings.parent a seconda del formato del log.
target.resource_ancestors.name Estratto dal campo resourceName o findings.resourceName, acquisisce il valore dopo il prefisso //cloudresourcemanager.googleapis.com/projects/.
target.resource_ancestors.resource_type Valore hardcoded CLOUD_PROJECT.
target.resource.attribute.labels.key Valore hardcoded source_id.
target.resource.attribute.labels.value Estratto dal campo parent o findings.parent, acquisisce il valore dopo il secondo carattere /.
security_result.alert_state Mappatura eseguita in base al campo state o findings.state. Se lo stato è ACTIVE, alert_state viene impostato su ALERTING, altrimenti su NOT_ALERTING.
about.user.email_addresses Valore ottenuto dal campo iamBindings.member.
about.user.attribute.roles.name Valore hardcoded Security.

Modifiche

2023-11-29

  • È stata corretta un'incoerenza nella gestione di principal/target.hostname e principal/target.asset.hostname.

2023-05-02

  • Assicurati che il campo security_result.url_back_to_product ora contenga un indirizzo web formattato correttamente.

2023-04-12

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