Mengumpulkan log Pengamatan Cloud Security Command Center

Didukung di:

Dokumen ini menjelaskan cara mengekspor dan menyerap log Pengamatan Security Command Center ke Google Security Operations menggunakan Cloud Storage. Parser mengubah data JSON mentah menjadi Unified Data Model (UDM). Proses ini akan menormalisasi struktur data, menangani potensi variasi dalam input, lalu mengekstrak dan memetakan kolom yang relevan ke skema UDM, memperkaya data dengan konteks dan tanda tambahan untuk analisis downstream.

Sebelum memulai

  • Pastikan Google Cloud Security Command Center diaktifkan dan dikonfigurasi 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-observation-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 Pengamatan 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-observation-logs-sink.
    • Sink Destination: pilih Cloud Storage Storage dan masukkan URI untuk bucket Anda; misalnya, gs://gcp-scc-observation-logs.
    • Filter Log:

      logName="projects/<your-project-id>/logs/cloudsecurityscanner.googleapis.com%2Fobservations"
      resource.type="security_command_center_observation"
      logName="projects/<your-project-id>/logs/cloudsecurityscanner.googleapis.com%2Ffindings"
       resource.type="security_center_findings"
      
    • 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 Pengamatan Security Command Center

  1. Buka Setelan SIEM > Feed.
  2. Klik Tambahkan baru.
  3. Di kolom Nama feed, masukkan nama untuk feed; misalnya, Google Cloud Log Pengamatan Security Command Center.
  4. Pilih Google Cloud Storage sebagai Source type.
  5. Pilih Pengamatan Security Command Center sebagai Jenis log.
  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-observation-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
access.callerIp read_only_udm.principal.ip Pemetaan langsung.
access.callerIpGeo.regionCode read_only_udm.principal.location.country_or_region Pemetaan langsung.
access.methodName read_only_udm.additional.fields.value.string_value Pemetaan langsung. Juga dipetakan ke read_only_udm.target.labels.value.
access.principalEmail read_only_udm.principal.user.email_addresses Pemetaan langsung.
access.principalSubject read_only_udm.principal.user.attribute.labels.value Pemetaan langsung.
assetDisplayName read_only_udm.target.resource.attribute.labels.value Pemetaan langsung.
assetId read_only_udm.target.asset.asset_id Nilai setelah assets/ diekstrak dari kolom assetId dan dipetakan sebagai AssetID:<extracted_value>.
kategori read_only_udm.metadata.product_event_type Pemetaan langsung.
contacts.security.contacts.email read_only_udm.security_result.about.user.email_addresses Pemetaan langsung. Objek about dapat diulang beberapa kali berdasarkan jumlah kontak. Kolom roles.name ditetapkan ke Security untuk kolom ini.
contacts.technical.contacts.email read_only_udm.security_result.about.user.email_addresses Pemetaan langsung. Objek about dapat diulang beberapa kali berdasarkan jumlah kontak. Kolom roles.name ditetapkan ke Technical untuk kolom ini.
createTime read_only_udm.security_result.detection_fields.value Pemetaan langsung. Objek detection_fields dapat diulang beberapa kali berdasarkan kolom yang tersedia. Kolom key ditetapkan ke createTime untuk kolom ini.
eventTime read_only_udm.metadata.event_timestamp Dikonversi ke format stempel waktu.
externalUri read_only_udm.about.url Pemetaan langsung.
findingClass read_only_udm.security_result.category_details Pemetaan langsung.
findingProviderId read_only_udm.target.resource.attribute.labels.value Pemetaan langsung.
mitreAttack.primaryTactic read_only_udm.security_result.detection_fields.value Pemetaan langsung. Objek detection_fields dapat diulang beberapa kali berdasarkan kolom yang tersedia. Kolom key ditetapkan ke primary_tactic untuk kolom ini.
mitreAttack.primaryTechniques read_only_udm.security_result.detection_fields.value Pemetaan langsung. Objek detection_fields dapat diulang beberapa kali berdasarkan jumlah teknik. Kolom key ditetapkan ke primary_technique untuk kolom ini.
mute read_only_udm.security_result.detection_fields.value Pemetaan langsung. Objek detection_fields dapat diulang beberapa kali berdasarkan kolom yang tersedia. Kolom key ditetapkan ke mute untuk kolom ini.
nama read_only_udm.metadata.product_log_id Pemetaan langsung.
parentDisplayName read_only_udm.metadata.description Pemetaan langsung.
resource.display_name read_only_udm.target.resource.attribute.labels.value Pemetaan langsung.
resource.name read_only_udm.target.resource.name, read_only_udm.principal.resource.name Pemetaan langsung. Saat kolom ini digunakan untuk mengisi kolom principal.resource.name, parser akan memeriksa apakah resource.project_name kosong. Jika tidak kosong, SDK akan menggunakan resource.project_name.
resource.parent_display_name read_only_udm.target.resource.attribute.labels.value Pemetaan langsung.
resource.parent_name read_only_udm.target.resource.attribute.labels.value Pemetaan langsung.
resource.project_display_name read_only_udm.target.resource.attribute.labels.value Pemetaan langsung.
resource.project_name read_only_udm.target.resource.attribute.labels.value Pemetaan langsung.
resource.type read_only_udm.target.resource.attribute.labels.value Pemetaan langsung.
resourceName read_only_udm.target.resource.name Pemetaan langsung.
securityMarks.name read_only_udm.security_result.detection_fields.value Pemetaan langsung. Objek detection_fields dapat diulang beberapa kali berdasarkan kolom yang tersedia. Kolom key ditetapkan ke securityMarks_name untuk kolom ini.
tingkat keseriusan, read_only_udm.security_result.severity, read_only_udm.security_result.priority_details Pemetaan langsung.
sourceDisplayName read_only_udm.target.resource.attribute.labels.value Pemetaan langsung.
sourceProperties.contextUris.mitreUri.displayName read_only_udm.security_result.detection_fields.key Pemetaan langsung. Objek detection_fields dapat diulang beberapa kali berdasarkan kolom yang tersedia.
sourceProperties.contextUris.mitreUri.url read_only_udm.security_result.detection_fields.value Pemetaan langsung. Objek detection_fields dapat diulang beberapa kali berdasarkan kolom yang tersedia.
sourceProperties.detectionCategory.ruleName read_only_udm.security_result.rule_name Pemetaan langsung.
sourceProperties.detectionCategory.subRuleName read_only_udm.security_result.detection_fields.value Pemetaan langsung. Objek detection_fields dapat diulang beberapa kali berdasarkan kolom yang tersedia. Kolom key ditetapkan ke sourceProperties_detectionCategory_subRuleName untuk kolom ini.
sourceProperties.detectionPriority read_only_udm.security_result.priority_details Pemetaan langsung.
sourceProperties.findingId read_only_udm.target.resource.attribute.labels.value Pemetaan langsung.
state read_only_udm.security_result.detection_fields.value Pemetaan langsung. Objek detection_fields dapat diulang beberapa kali berdasarkan kolom yang tersedia. Kolom key ditetapkan ke state untuk kolom ini.
T/A is_alert Tetapkan ke true jika log berhasil diuraikan.
T/A is_significant Tetapkan ke true jika log berhasil diuraikan.
T/A read_only_udm.metadata.log_type Di-hardcode ke GCP_SECURITYCENTER_OBSERVATION.
T/A read_only_udm.metadata.product_name Di-hardcode ke Security Command Center.
T/A read_only_udm.metadata.vendor_name Di-hardcode ke Google.
T/A read_only_udm.principal.user.account_type Tetapkan ke CLOUD_ACCOUNT_TYPE jika email akun utama ada.
T/A read_only_udm.security_result.alert_state Di-hardcode ke ALERTING.
T/A read_only_udm.security_result.priority Tetapkan ke LOW_PRIORITY jika tingkat keparahannya adalah LOW.
T/A read_only_udm.target.application Diekstrak dari kolom resourceName.
T/A read_only_udm.target.resource.product_object_id Diekstrak dari kolom induk.
T/A read_only_udm.target.resource.resource_type Setel ke CLUSTER secara default. Tetapkan ke VIRTUAL_MACHINE jika kategorinya adalah Impact: GPU Instance Created atau Impact: Many Instances Created. Tetapkan ke SETTING jika kategorinya Persistence: Add Sensitive Role.
T/A read_only_udm.target.resource_ancestors.name Diekstrak dari kolom parent dan resourceName.
T/A read_only_udm.target.resource_ancestors.product_object_id Diekstrak dari kolom induk, resource.project_name, dan resourceName.
T/A read_only_udm.target.resource_ancestors.resource_type Tetapkan ke CLOUD_PROJECT jika resource.type adalah google.compute.Project.
T/A read_only_udm.target.labels.key Nilai ditetapkan ke access_methodName jika access.methodName ada.
T/A read_only_udm.target.labels.value Nilai ditetapkan dari access.methodName.
T/A read_only_udm.target.resource.attribute.labels.key Kunci ditetapkan ke salah satu nilai berikut berdasarkan kolom yang tersedia: resource_parentDisplayName, resource_type, resource_parentName, resource_projectDisplayName, resource_displayName, finding_id, source_id, FindingProviderId, sourceDisplayName, asset_display_name.
T/A read_only_udm.target.resource.attribute.labels.value Nilai ditetapkan dari salah satu kolom berikut berdasarkan kolom yang tersedia: parentDisplayName, resource.type, resource.parent_name, resource.project_display_name, resource.display_name, sourceProperties.findingId, sourceProperties.sourceId, findingProviderId, sourceDisplayName, assetDisplayName.

Perubahan

2023-11-29

  • Memperbaiki inkonsistensi dalam cara nama host ditangani di parser.

2023-05-02

  • Memastikan bahwa kolom security_result.url_back_to_product kini berisi alamat web yang diformat dengan benar.

2023-04-12

  • Memperbarui parser GCP_SECURITYCENTER_OBSERVATION sebagai default.

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