Mengumpulkan log Pelanggaran Postur Cloud Security Command Center

Didukung di:

Dokumen ini menjelaskan cara mengekspor dan menyerap log Pelanggaran Postur Security Command Center ke Google Security Operations menggunakan Cloud Storage. Parser mengubah data JSON mentah dari temuan menjadi model data terpadu (UDM). Alat ini mengekstrak kolom yang relevan, menyusun ulang data, memetakan data ke kolom UDM, dan melakukan berbagai validasi dan pengayaan untuk memastikan kualitas dan konsistensi data.

Sebelum memulai

  • Pastikan Google Cloud Security Command Center diaktifkan di lingkungan Google Cloud Anda.
  • Pastikan Anda memiliki instance Google Chronicle.
  • Pastikan Anda memiliki akses dengan hak istimewa ke Security Command Center dan Cloud Logging.

Membuat bucket Cloud Storage

  1. Login ke konsol Google Cloud.
  2. Buka halaman Cloud Storage Buckets.

    Buka Buckets

  3. Klik Buat.

  4. Di halaman Buat bucket, masukkan informasi bucket Anda. Setelah menyelesaikan setiap langkah berikut, klik Lanjutkan untuk melanjutkan ke langkah berikutnya:

    1. Di bagian Mulai, lakukan tindakan berikut:

      1. Masukkan nama unik yang memenuhi persyaratan nama bucket; misalnya, gcp-scc-posture-violation-logs.
      2. Untuk mengaktifkan namespace hierarkis, klik panah peluas untuk meluaskan bagian Optimalkan untuk beban kerja yang berorientasi pada file dan intensif data, lalu pilih Aktifkan Namespace hierarkis di bucket ini.

      3. Untuk menambahkan label bucket, klik panah peluas untuk meluaskan bagian Labels.

      4. Klik Tambahkan label, lalu tentukan kunci dan nilai untuk label Anda.

    2. Di bagian Pilih tempat untuk menyimpan data, lakukan hal berikut:

      1. Pilih Jenis lokasi.
      2. Gunakan menu jenis lokasi untuk memilih Location tempat data objek dalam bucket Anda akan disimpan secara permanen.

      3. Untuk menyiapkan replikasi lintas bucket, luaskan bagian Menyiapkan replikasi lintas bucket.

    3. Di bagian Pilih kelas penyimpanan untuk data Anda, pilih kelas penyimpanan default untuk bucket, atau pilih Autoclass untuk pengelolaan kelas penyimpanan otomatis untuk data bucket Anda.

    4. Di bagian Choose how to control access to objects, pilih not untuk menerapkan public access prevention, dan pilih access control model untuk objek bucket Anda.

    5. Di bagian Pilih cara melindungi data objek, lakukan hal berikut:

      1. Pilih salah satu opsi di bagian Perlindungan data yang ingin Anda tetapkan untuk bucket.
      2. Untuk memilih cara enkripsi data objek, klik panah peluas berlabel Enkripsi data, lalu pilih Metode enkripsi data.
  5. Klik Buat.

Mengonfigurasi logging Security Command Center

  1. Login ke konsol Google Cloud.
  2. Buka halaman Security Command Center.

    Buka Security Command Center

  3. Pilih organisasi Anda.

  4. Klik Setelan.

  5. Klik tab Ekspor Berkelanjutan.

  6. Di bagian Nama ekspor, klik Logging Export.

  7. Di bagian Sink, aktifkan Log Findings to Logging.

  8. Di bagian Logging project, masukkan atau telusuri project tempat Anda ingin mencatat temuan.

  9. Klik Simpan.

Mengonfigurasi Google Cloud ekspor log Pelanggaran Postur Security Command Center

  1. Login ke konsol Google Cloud.
  2. Buka Logging > Router Log.
  3. Klik Create Sink.
  4. Berikan parameter konfigurasi berikut:

    • Sink Name: masukkan nama yang bermakna; misalnya, scc-posture-violation-logs-sink.
    • Sink Destination: pilih Cloud Storage Storage dan masukkan URI untuk bucket Anda; misalnya, gs://gcp-scc-posture-violation-logs.
    • Filter Log:

      logName="projects/<your-project-id>/logs/cloudsecurityscanner.googleapis.com%2Fposture_violations"
      resource.type="cloud_security_center_posture_violation"
      
    • Setel Opsi Ekspor: sertakan semua entri log.

  5. Klik Buat.

Mengonfigurasi izin untuk Cloud Storage

  1. Buka IAM & Admin > IAM.
  2. Temukan akun layanan Cloud Logging.
  3. Berikan roles/storage.admin di bucket.

Mengonfigurasi feed di Google SecOps untuk menyerap Google Cloud log Pelanggaran Postur Security Command Center

  1. Buka Setelan SIEM > Feed.
  2. Klik Tambahkan baru.
  3. Di kolom Nama feed, masukkan nama untuk feed; misalnya, Google Cloud Security Command Center Posture Violation Logs.
  4. Pilih Google Cloud Storage sebagai Source type.
  5. Pilih Security Command Center Posture Violation sebagai Log type.
  6. Klik Dapatkan Akun Layanan di samping kolom Chronicle Service Account.
  7. Klik Berikutnya.
  8. Tentukan nilai untuk parameter input berikut:

    • Storage Bucket URI: URL bucket Cloud Storage; misalnya, gs://gcp-scc-posture-violation-logs.
    • URI Adalah: pilih Direktori yang menyertakan subdirektori.
    • Opsi penghapusan sumber: pilih opsi penghapusan sesuai preferensi Anda.

    • Namespace aset: namespace aset.

    • Label penyerapan: label yang diterapkan ke peristiwa dari feed ini.

  9. Klik Berikutnya.

  10. Tinjau konfigurasi feed baru Anda di layar Finalize, lalu klik Submit.

Tabel Pemetaan UDM

Kolom Log Pemetaan UDM Logika
kategori read_only_udm.metadata.product_event_type Pemetaan langsung.
changed_policy read_only_udm.security_result.rule_name Pemetaan langsung.
cloudProvider read_only_udm.target.resource.attribute.cloud.environment Pemetaan langsung.
createTime read_only_udm.security_result.detection_fields[createTime] Pemetaan langsung.
finding.risks.riskCategory read_only_udm.security_result.detection_fields[risk_category] Pemetaan langsung.
mute read_only_udm.security_result.detection_fields[mute] Pemetaan langsung.
nama read_only_udm.metadata.product_log_id Pemetaan langsung.
originalProviderId read_only_udm.target.resource.attribute.labels[original_provider_id] Pemetaan langsung.
parent read_only_udm.target.resource_ancestors[0].name Pemetaan langsung.
parentDisplayName read_only_udm.metadata.description Pemetaan langsung.
propertyDataTypes.changed_policy.primitiveDataType read_only_udm.security_result.rule_labels[changed_policy_primitive_data_type] Pemetaan langsung.
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] Pemetaan langsung.
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] Pemetaan langsung.
propertyDataTypes.policy_drift_details.listValues.propertyDataTypes[0].structValue.fields.field_name.primitiveDataType read_only_udm.security_result.rule_labels[field_name_primitive_data_type] Pemetaan langsung.
propertyDataTypes.posture_deployment_name.primitiveDataType read_only_udm.security_result.detection_fields[posture_deployment_name_primitiveDataType] Pemetaan langsung.
propertyDataTypes.posture_deployment_resource.primitiveDataType read_only_udm.security_result.detection_fields[posture_deployment_resource_primitiveDataType] Pemetaan langsung.
propertyDataTypes.posture_name.primitiveDataType read_only_udm.security_result.detection_fields[posture_name_primitiveDataType] Pemetaan langsung.
propertyDataTypes.posture_revision_id.primitiveDataType read_only_udm.security_result.detection_fields[posture_revision_id_primitiveDataType] Pemetaan langsung.
resource.cloudProvider read_only_udm.target.resource.attribute.cloud.environment Pemetaan langsung.
resource.displayName read_only_udm.target.resource.attribute.labels[resource_displayName] Pemetaan langsung.
resource.gcpMetadata.organization read_only_udm.target.resource.attribute.labels[resource_organization] Pemetaan langsung.
resource.gcpMetadata.parent read_only_udm.target.resource.attribute.labels[resource_parent] Pemetaan langsung.
resource.gcpMetadata.parentDisplayName read_only_udm.target.resource.attribute.labels[resource_parentDisplayName] Pemetaan langsung.
resource.gcpMetadata.project read_only_udm.target.resource.attribute.labels[resource_project] Pemetaan langsung.
resource.gcpMetadata.projectDisplayName read_only_udm.target.resource.attribute.labels[resource_projectDisplayName] Pemetaan langsung.
resource.organization read_only_udm.target.resource.attribute.labels[resource_organization] Pemetaan langsung.
resource.resourcePath.nodes.displayName read_only_udm.target.resource_ancestors.name Pemetaan langsung.
resource.resourcePath.nodes.id read_only_udm.target.resource_ancestors.product_object_id Pemetaan langsung.
resource.resourcePath.nodes.nodeType read_only_udm.target.resource_ancestors.resource_subtype Pemetaan langsung.
resource.resourcePathString read_only_udm.target.resource.attribute.labels[resource_path_string] Pemetaan langsung.
resource.service read_only_udm.target.resource_ancestors[10].name Pemetaan langsung.
resource.type read_only_udm.target.resource.attribute.labels[resource_type] Pemetaan langsung.
resourceName read_only_udm.target.resource.name Pemetaan langsung.
securityPosture.changedPolicy read_only_udm.security_result.rule_labels[changed_policy] Pemetaan langsung.
securityPosture.name read_only_udm.security_result.detection_fields[security_posture_name] Pemetaan langsung.
securityPosture.policyDriftDetails[0].detectedValue read_only_udm.security_result.rule_labels[policy_drift_details_detected_value] Pemetaan langsung.
securityPosture.policyDriftDetails[0].expectedValue read_only_udm.security_result.rule_labels[policy_drift_details_expected_value] Pemetaan langsung.
securityPosture.policyDriftDetails[0].field read_only_udm.security_result.rule_labels[policy_drift_details_field] Pemetaan langsung.
securityPosture.policySet read_only_udm.security_result.rule_set Pemetaan langsung.
securityPosture.postureDeployment read_only_udm.security_result.detection_fields[posture_deployment] Pemetaan langsung.
securityPosture.postureDeploymentResource read_only_udm.security_result.detection_fields[posture_deployment_resource] Pemetaan langsung.
securityPosture.revisionId read_only_udm.security_result.detection_fields[security_posture_revision_id] Pemetaan langsung.
tingkat keseriusan, read_only_udm.security_result.severity Pemetaan langsung.
sourceProperties.categories[0] read_only_udm.security_result.detection_fields[source_properties_categories] Pemetaan langsung.
sourceProperties.changed_policy read_only_udm.security_result.rule_name Pemetaan langsung.
sourceProperties.name read_only_udm.target.application Pemetaan langsung.
sourceProperties.policy_drift_details[0].drift_details.detected_configuration read_only_udm.security_result.rule_labels[policy_drift_details_detected_configuration] Pemetaan langsung.
sourceProperties.policy_drift_details[0].drift_details.expected_configuration read_only_udm.security_result.rule_labels[policy_drift_details_expected_configuration] Pemetaan langsung.
sourceProperties.policy_drift_details[0].field_name read_only_udm.security_result.rule_labels[policy_drift_details_field_name] Pemetaan langsung.
sourceProperties.posture_deployment read_only_udm.security_result.detection_fields[source_properties_posture_deployment_name] Pemetaan langsung.
sourceProperties.posture_deployment_name read_only_udm.security_result.detection_fields[source_properties_posture_deployment_name] Pemetaan langsung.
sourceProperties.posture_deployment_resource read_only_udm.security_result.detection_fields[source_properties_posture_deployment_resource] Pemetaan langsung.
sourceProperties.posture_name read_only_udm.target.application Pemetaan langsung.
sourceProperties.posture_revision_id read_only_udm.security_result.detection_fields[source_properties_posture_revision_id] Pemetaan langsung.
sourceProperties.revision_id read_only_udm.security_result.detection_fields[source_properties_posture_revision_id] Pemetaan langsung.
state read_only_udm.security_result.detection_fields[state] Pemetaan langsung.
read_only_udm.metadata.vendor_name Parser memetakan nilai statis Google.
read_only_udm.metadata.product_name Parser memetakan nilai statis Security Command Center.
read_only_udm.target.resource.resource_type Parser memetakan nilai statis CLUSTER.
read_only_udm.security_result.about.investigation.status Parser memetakan nilai statis NEW.
read_only_udm.security_result.alert_state Parser memetakan nilai statis ALERTING.
read_only_udm.is_alert Parser memetakan nilai statis true.
read_only_udm.is_significant Parser memetakan nilai statis true.
read_only_udm.metadata.event_type Parser dipetakan ke GENERIC_EVENT sebagai nilai default. Jika kolom 'category' sama dengan 'SECURITY_POSTURE_DRIFT' dan 'client_device_present' dan 'token_target.application' tidak kosong, kolom tersebut akan dipetakan ke 'SERVICE_MODIFICATION'. Jika kolom 'category' sama dengan 'SECURITY_POSTURE_POLICY_DRIFT', 'SECURITY_POSTURE_POLICY_DELETE', 'SECURITY_POSTURE_DETECTOR_DRIFT', atau 'SECURITY_POSTURE_DETECTOR_DELETE' dan 'network_edr_not_present' bernilai salah dan 'client_device_present' bernilai benar, kolom tersebut akan dipetakan ke 'SCAN_UNCATEGORIZED'. Jika kolom 'token_metadata.event_type' sama dengan 'GENERIC_EVENT' dan 'network_edr_not_present' bernilai salah dan 'client_device_present' bernilai benar, kolom tersebut akan dipetakan ke 'STATUS_UPDATE'.
read_only_udm.target.resource_ancestors[1].resource_type Parser memetakan nilai statis CLOUD_PROJECT.
read_only_udm.target.resource.product_object_id Parser mengekstrak nilai dari kolom 'parent', antara karakter '/' kedua dan ketiga.
read_only_udm.target.resource_ancestors[1].name Parser mengekstrak nilai dari kolom 'resourceName', antara karakter '/' keempat dan kelima.
read_only_udm.security_result.url_back_to_product Parser membuat URL secara dinamis menggunakan ID organisasi, sumber, dan temuan yang diekstrak dari log.
securityMarks.name read_only_udm.security_result.detection_fields[securityMarks_name] Pemetaan langsung.

Perubahan

2025-02-07

  • Memperbarui pemetaan untuk kolom UDM security_result.url_back_to_product. Menambahkan nilai project ID dari nilai kolom log mentah resource.projectDisplayName ke akhir URL yang dipetakan ke kolom UDM security_result.url_back_to_product dengan awalan ;?project=.

2024-11-21

  • Menambahkan dukungan untuk SCC API versi v2, dan kolom berikut disertakan sebagai bagian dari update
  • 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 yang baru dibuat.

Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.