Raccogliere i log relativi alle violazioni dello stato di Cloud Security Command Center

Supportato in:

Questo documento spiega come esportare e importare i log relativi alle violazioni delle norme di Security Command Center in Google Security Operations utilizzando Cloud Storage. L'analizzatore sintattico trasforma i dati JSON non elaborati dei risultati in un modello di dati unificato (UDM). Estrae i campi pertinenti, ristruttura i dati, li mappa ai campi UDM ed esegue varie convalide e arricchimenti per garantire la qualità e la coerenza dei dati.

Prima di iniziare

  • Assicurati che Google Cloud Security Command Center sia attivato 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-posture-violation-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 delle violazioni delle norme 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-posture-violation-logs-sink.
    • Destinazione della destinazione: seleziona Cloud Storage e inserisci l'URI del bucket, ad esempio gs://gcp-scc-posture-violation-logs.
    • Filtro log:

      logName="projects/<your-project-id>/logs/cloudsecurityscanner.googleapis.com%2Fposture_violations"
      resource.type="cloud_security_center_posture_violation"
      
    • 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 relativi alle violazioni della postura 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 delle violazioni della Posture del Security Command Center.
  4. Seleziona Google Cloud Storage come Tipo di origine.
  5. Seleziona Violazione della postura 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-posture-violation-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
categoria read_only_udm.metadata.product_event_type Mappatura diretta.
changed_policy read_only_udm.security_result.rule_name Mappatura diretta.
cloudProvider read_only_udm.target.resource.attribute.cloud.environment Mappatura diretta.
createTime read_only_udm.security_result.detection_fields[createTime] Mappatura diretta.
finding.risks.riskCategory read_only_udm.security_result.detection_fields[risk_category] Mappatura diretta.
mute read_only_udm.security_result.detection_fields[mute] Mappatura diretta.
nome read_only_udm.metadata.product_log_id Mappatura diretta.
originalProviderId read_only_udm.target.resource.attribute.labels[original_provider_id] Mappatura diretta.
principale read_only_udm.target.resource_ancestors[0].name Mappatura diretta.
parentDisplayName read_only_udm.metadata.description Mappatura diretta.
propertyDataTypes.changed_policy.primitiveDataType read_only_udm.security_result.rule_labels[changed_policy_primitive_data_type] Mappatura diretta.
propertyDataTypes.policy_drift_details.listValues.propertyDataTypes[0].structValue.fields.drift_details.structValue.fields.detected_configuration.primitiveDataType read_only_udm.security_result.rule_labels[detected_configuration_primitive_data_type] Mappatura diretta.
propertyDataTypes.policy_drift_details.listValues.propertyDataTypes[0].structValue.fields.drift_details.structValue.fields.expected_configuration.primitiveDataType read_only_udm.security_result.rule_labels[expected_configuration_primitive_data_type] Mappatura diretta.
propertyDataTypes.policy_drift_details.listValues.propertyDataTypes[0].structValue.fields.field_name.primitiveDataType read_only_udm.security_result.rule_labels[field_name_primitive_data_type] Mappatura diretta.
propertyDataTypes.posture_deployment_name.primitiveDataType read_only_udm.security_result.detection_fields[posture_deployment_name_primitiveDataType] Mappatura diretta.
propertyDataTypes.posture_deployment_resource.primitiveDataType read_only_udm.security_result.detection_fields[posture_deployment_resource_primitiveDataType] Mappatura diretta.
propertyDataTypes.posture_name.primitiveDataType read_only_udm.security_result.detection_fields[posture_name_primitiveDataType] Mappatura diretta.
propertyDataTypes.posture_revision_id.primitiveDataType read_only_udm.security_result.detection_fields[posture_revision_id_primitiveDataType] Mappatura diretta.
resource.cloudProvider read_only_udm.target.resource.attribute.cloud.environment Mappatura diretta.
resource.displayName read_only_udm.target.resource.attribute.labels[resource_displayName] Mappatura diretta.
resource.gcpMetadata.organization read_only_udm.target.resource.attribute.labels[resource_organization] Mappatura diretta.
resource.gcpMetadata.parent read_only_udm.target.resource.attribute.labels[resource_parent] Mappatura diretta.
resource.gcpMetadata.parentDisplayName read_only_udm.target.resource.attribute.labels[resource_parentDisplayName] Mappatura diretta.
resource.gcpMetadata.project read_only_udm.target.resource.attribute.labels[resource_project] Mappatura diretta.
resource.gcpMetadata.projectDisplayName read_only_udm.target.resource.attribute.labels[resource_projectDisplayName] Mappatura diretta.
resource.organization read_only_udm.target.resource.attribute.labels[resource_organization] Mappatura diretta.
resource.resourcePath.nodes.displayName read_only_udm.target.resource_ancestors.name Mappatura diretta.
resource.resourcePath.nodes.id read_only_udm.target.resource_ancestors.product_object_id Mappatura diretta.
resource.resourcePath.nodes.nodeType read_only_udm.target.resource_ancestors.resource_subtype Mappatura diretta.
resource.resourcePathString read_only_udm.target.resource.attribute.labels[resource_path_string] Mappatura diretta.
resource.service read_only_udm.target.resource_ancestors[10].name Mappatura diretta.
resource.type read_only_udm.target.resource.attribute.labels[resource_type] Mappatura diretta.
resourceName read_only_udm.target.resource.name Mappatura diretta.
securityPosture.changedPolicy read_only_udm.security_result.rule_labels[changed_policy] Mappatura diretta.
securityPosture.name read_only_udm.security_result.detection_fields[security_posture_name] Mappatura diretta.
securityPosture.policyDriftDetails[0].detectedValue read_only_udm.security_result.rule_labels[policy_drift_details_detected_value] Mappatura diretta.
securityPosture.policyDriftDetails[0].expectedValue read_only_udm.security_result.rule_labels[policy_drift_details_expected_value] Mappatura diretta.
securityPosture.policyDriftDetails[0].field read_only_udm.security_result.rule_labels[policy_drift_details_field] Mappatura diretta.
securityPosture.policySet read_only_udm.security_result.rule_set Mappatura diretta.
securityPosture.postureDeployment read_only_udm.security_result.detection_fields[posture_deployment] Mappatura diretta.
securityPosture.postureDeploymentResource read_only_udm.security_result.detection_fields[posture_deployment_resource] Mappatura diretta.
securityPosture.revisionId read_only_udm.security_result.detection_fields[security_posture_revision_id] Mappatura diretta.
gravità read_only_udm.security_result.severity Mappatura diretta.
sourceProperties.categories[0] read_only_udm.security_result.detection_fields[source_properties_categories] Mappatura diretta.
sourceProperties.changed_policy read_only_udm.security_result.rule_name Mappatura diretta.
sourceProperties.name read_only_udm.target.application Mappatura diretta.
sourceProperties.policy_drift_details[0].drift_details.detected_configuration read_only_udm.security_result.rule_labels[policy_drift_details_detected_configuration] Mappatura diretta.
sourceProperties.policy_drift_details[0].drift_details.expected_configuration read_only_udm.security_result.rule_labels[policy_drift_details_expected_configuration] Mappatura diretta.
sourceProperties.policy_drift_details[0].field_name read_only_udm.security_result.rule_labels[policy_drift_details_field_name] Mappatura diretta.
sourceProperties.posture_deployment read_only_udm.security_result.detection_fields[source_properties_posture_deployment_name] Mappatura diretta.
sourceProperties.posture_deployment_name read_only_udm.security_result.detection_fields[source_properties_posture_deployment_name] Mappatura diretta.
sourceProperties.posture_deployment_resource read_only_udm.security_result.detection_fields[source_properties_posture_deployment_resource] Mappatura diretta.
sourceProperties.posture_name read_only_udm.target.application Mappatura diretta.
sourceProperties.posture_revision_id read_only_udm.security_result.detection_fields[source_properties_posture_revision_id] Mappatura diretta.
sourceProperties.revision_id read_only_udm.security_result.detection_fields[source_properties_posture_revision_id] Mappatura diretta.
state read_only_udm.security_result.detection_fields[state] Mappatura diretta.
read_only_udm.metadata.vendor_name Il parser mappa il valore statico Google.
read_only_udm.metadata.product_name Il parser mappa il valore statico Security Command Center.
read_only_udm.target.resource.resource_type Il parser mappa il valore statico CLUSTER.
read_only_udm.security_result.about.investigation.status Il parser mappa il valore statico NEW.
read_only_udm.security_result.alert_state Il parser mappa il valore statico ALERTING.
read_only_udm.is_alert Il parser mappa il valore statico true.
read_only_udm.is_significant Il parser mappa il valore statico true.
read_only_udm.metadata.event_type Il parser mappa GENERIC_EVENT come valore predefinito. Se il campo "category" è uguale a "SECURITY_POSTURE_DRIFT" e "client_device_present" e "token_target.application" non sono vuoti, viene mappato a "SERVICE_MODIFICATION". Se il campo "category" è uguale a "SECURITY_POSTURE_POLICY_DRIFT", "SECURITY_POSTURE_POLICY_DELETE", "SECURITY_POSTURE_DETECTOR_DRIFT" o "SECURITY_POSTURE_DETECTOR_DELETE" e "network_edr_not_present" è falso e "client_device_present" è vero, viene mappato a "SCAN_UNCATEGORIZED". Se il campo "token_metadata.event_type" è uguale a "GENERIC_EVENT" e "network_edr_not_present" è falso e "client_device_present" è vero, viene mappato a "STATUS_UPDATE".
read_only_udm.target.resource_ancestors[1].resource_type Il parser mappa il valore statico CLOUD_PROJECT.
read_only_udm.target.resource.product_object_id Il parser estrae il valore dal campo "parent", tra il secondo e il terzo carattere "/".
read_only_udm.target.resource_ancestors[1].name Il parser estrae il valore dal campo "resourceName", tra il quarto e il quinto carattere "/".
read_only_udm.security_result.url_back_to_product Il parser genera dinamicamente l'URL utilizzando gli ID organizzazione, origine e risultati estratti dal log.
securityMarks.name read_only_udm.security_result.detection_fields[securityMarks_name] Mappatura diretta.

Modifiche

2025-02-07

  • Aggiornata la mappatura per il campo UDM security_result.url_back_to_product. È stato aggiunto il valore dell'ID progetto dal valore del campo del log non elaborato resource.projectDisplayName alla fine dell'URL mappato al campo UDM security_result.url_back_to_product con il prefisso ;?project=.

2024-11-21

  • È stato aggiunto il supporto della versione 2 dell'API SCC e i seguenti campi sono inclusi nell'ambito dell'aggiornamento
  • resource.gcpMetadata.project
  • resource.gcpMetadata.projectDisplayName
  • resource.gcpMetadata.parent
  • resource.gcpMetadata.parentDisplayName
  • resource.gcpMetadata.folders.resourceFolder
  • resource.gcpMetadata.folders.resourceFolderDisplayName
  • resource.gcpMetadata.organization

2024-03-20

  • Parser appena creato.

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