Raccogliere i log non specificati di Cloud Security Command Center

Supportato in:

Questo documento spiega come esportare e importare i log non specificati di Security Command Center in Google Security Operations utilizzando Cloud Storage. L'analizzatore sintattico trasforma i risultati di sicurezza non elaborati in formato JSON in un modello di dati unificato (UDM). Gestisce in modo specifico le incoerenze nella struttura dei dati di input, estrae i campi pertinenti come i dettagli delle vulnerabilità e le informazioni utente e arricchisce l'output con etichette e metadati per migliorare l'analisi e la correlazione.

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-unspecified-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 non specificati 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-unspecified-logs-sink.
    • Destinazione della destinazione: seleziona Cloud Storage e inserisci l'URI del bucket, ad esempio gs://gcp-scc-unspecified-logs.
    • Filtro log:

      logName="projects/<your-project-id>/logs/cloudsecurityscanner.googleapis.com%2Funspecified"
      resource.type="security_command_center_unspecified"
      
    • 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 non specificati 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 di Security Command Center non specificati.
  4. Seleziona Google Cloud Storage come Tipo di origine.
  5. Seleziona Security Command Center Unspecified 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-unspecified-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
canonicalName read_only_udm.target.resource_ancestors.name Mappato direttamente dal campo del log non elaborato canonicalName. Rappresenta l'antenato della risorsa di destinazione.
categoria read_only_udm.metadata.product_event_type Mappato direttamente dal campo del log non elaborato category.
categoria read_only_udm.metadata.event_type Derivato dal campo category. Se la categoria è OPEN_FIREWALL e sono soddisfatte determinate condizioni, viene mappata a SCAN_VULN_HOST. In caso contrario, il valore predefinito è GENERIC_EVENT.
categoria read_only_udm.security_result.category Mappato dal campo del log non elaborato category. Se la categoria è OPEN_FIREWALL, viene mappata a POLICY_VIOLATION.
complies.ids read_only_udm.additional.fields.value.string_value Mappato direttamente dal campo del log non elaborato complies.ids. Rappresenta l'ID conformità.
complies.standard read_only_udm.additional.fields.value.string_value Mappato direttamente dal campo del log non elaborato complies.standard. Rappresenta lo standard di conformità.
complies.standard read_only_udm.about.labels.value Mappato direttamente dal campo del log non elaborato complies.standard. Rappresenta lo standard di conformità.
contacts.security.contacts.email read_only_udm.security_result.about.user.email_addresses Mappato direttamente dal campo del log non elaborato contacts.security.contacts.email. Rappresenta l'indirizzo email del contatto per la sicurezza.
contacts.technical.contacts.email read_only_udm.security_result.about.user.email_addresses Mappato direttamente dal campo del log non elaborato contacts.technical.contacts.email. Rappresenta l'indirizzo email del contatto tecnico.
createTime read_only_udm.security_result.detection_fields.value Mappato direttamente dal campo del log non elaborato createTime.
eventTime read_only_udm.metadata.event_timestamp Mappato direttamente dal campo del log non elaborato eventTime dopo la conversione in un timestamp.
externalUri read_only_udm.about.url Mappato direttamente dal campo del log non elaborato externalUri.
mute read_only_udm.security_result.detection_fields.value Mappato direttamente dal campo del log non elaborato mute.
muteInitiator read_only_udm.security_result.detection_fields.value Mappato direttamente dal campo del log non elaborato muteInitiator.
muteUpdateTime read_only_udm.security_result.detection_fields.value Mappato direttamente dal campo del log non elaborato muteUpdateTime.
nome read_only_udm.target.resource.attribute.labels.value Mappato direttamente dal campo del log non elaborato name. che verrà utilizzato come ID della ricerca.
principale read_only_udm.target.resource_ancestors.name Mappato direttamente dal campo del log non elaborato parent.
parentDisplayName read_only_udm.metadata.description Mappato direttamente dal campo del log non elaborato parentDisplayName.
resourceName read_only_udm.target.resource.name Mappato direttamente dal campo del log non elaborato resourceName.
gravità read_only_udm.security_result.severity Mappato direttamente dal campo del log non elaborato severity.
sourceDisplayName read_only_udm.target.resource.attribute.labels.value Mappato direttamente dal campo del log non elaborato sourceDisplayName.
sourceProperties.AllowedIpRange read_only_udm.target.resource.attribute.labels.value Mappato direttamente dal campo del log non elaborato sourceProperties.AllowedIpRange.
sourceProperties.ExternallyAccessibleProtocolsAndPorts.IPProtocol read_only_udm.target.resource.attribute.labels.value Mappato direttamente dal campo del log non elaborato sourceProperties.ExternallyAccessibleProtocolsAndPorts.IPProtocol.
sourceProperties.ExternallyAccessibleProtocolsAndPorts.ports read_only_udm.target.resource.attribute.labels.value Mappato direttamente dal campo del log non elaborato sourceProperties.ExternallyAccessibleProtocolsAndPorts.ports.
sourceProperties.ReactivationCount read_only_udm.target.resource.attribute.labels.value Mappato direttamente dal campo del log non elaborato sourceProperties.ReactivationCount.
sourceProperties.ResourcePath read_only_udm.target.resource.attribute.labels.value Mappato direttamente dal campo del log non elaborato sourceProperties.ResourcePath. I valori vengono concatenati in un'unica stringa.
sourceProperties.ScannerName read_only_udm.additional.fields.value.string_value Mappato direttamente dal campo del log non elaborato sourceProperties.ScannerName.
sourceProperties.ScannerName read_only_udm.principal.labels.value Mappato direttamente dal campo del log non elaborato sourceProperties.ScannerName.
state read_only_udm.security_result.detection_fields.value Mappato direttamente dal campo del log non elaborato state.
read_only_udm.metadata.log_type Hardcoded su GCP_SECURITYCENTER_UNSPECIFIED nel codice del parser.
read_only_udm.metadata.product_log_id Estratto dal campo name, che rappresenta l'ID del rilevamento.
read_only_udm.metadata.product_name Hardcoded su Security Command Center nel codice del parser.
read_only_udm.metadata.vendor_name Hardcoded su Google nel codice del parser.
read_only_udm.security_result.about.investigation.status Hardcoded su NEW nel codice del parser.
read_only_udm.security_result.alert_state Hardcoded su NOT_ALERTING nel codice del parser.
read_only_udm.security_result.url_back_to_product Costruito nel codice dell'analizzatore utilizzando il formato: https://console.cloud.google.com/security/command-center/findingsv2;name=organizations%2F{organization_id}%2Fsources%2F{source_id}%2Ffindings%2F{finding_id}.
read_only_udm.target.resource.product_object_id Estratto dal campo parent nel log non elaborato, che rappresenta l'ID origine.
read_only_udm.target.resource.resource_type Impostato su CLUSTER nel codice dell'analizzatore.
read_only_udm.target.resource_ancestors.resource_type Hardcoded su CLOUD_PROJECT nel codice del parser.
read_only_udm.target.resource_ancestors.name Estratto dal campo resourceName nel log non elaborato, che rappresenta l'ID progetto.
read_only_udm.additional.fields.key Vengono create diverse istanze con chiavi hardcoded: compliances_id_0_0, compliances_standard_0, sourceProperties_ScannerName.
read_only_udm.about.labels.key Hardcoded su compliances_standard e compliances_id nel codice del parser.
read_only_udm.principal.labels.key Hardcoded su sourceProperties_ScannerName nel codice del parser.
read_only_udm.target.resource.attribute.labels.key Vengono create diverse istanze con chiavi hardcoded: finding_id, source_id, sourceProperties_ResourcePath, sourceDisplayName, sourceProperties_ReactivationCount, sourceProperties_AllowedIpRange, sourceProperties_ExternallyAccessibleProtocolsAndPorts_IPProtocol, sourceProperties_ExternallyAccessibleProtocolsAndPorts_ports.
read_only_udm.security_result.about.user.attribute.roles.name Vengono create due istanze, una con il valore Security e l'altra con Technical, in base al campo contacts nel log non elaborato.
read_only_udm.security_result.detection_fields.key Vengono create diverse istanze con chiavi hardcoded: mute, mute_update_time, mute_initiator, createTime, state.

Modifiche

2023-05-01

  • L'analizzatore è stato aggiornato per gestire mappature aggiuntive per le etichette non più utilizzate (rivendute).

2023-11-29

  • Le mappature per principal/target.hostname e principal/target.asset.hostname sono state modificate in modo da funzionare allo stesso modo.

2023-05-02

  • Ora il parser crea un indirizzo web (URL) formattato correttamente per il campo security_result.url_back_to_product nell'UDM.

2023-04-12

  • Il parser GCP_SECURITYCENTER_UNSPECIFIED è stato aggiornato come predefinito.

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