Mengumpulkan log Tidak Ditentukan Security Command Center
Dokumen ini menjelaskan cara mengekspor dan menyerap log Tidak Ditentukan Security Command Center ke Google Security Operations menggunakan Cloud Storage. Parser mengubah temuan keamanan berformat JSON mentah menjadi model data terpadu (UDM). Secara khusus, alat ini menangani inkonsistensi dalam struktur data input, mengekstrak kolom yang relevan seperti detail kerentanan dan informasi pengguna, serta memperkaya output dengan label dan metadata untuk meningkatkan analisis dan korelasi.
Sebelum memulai
Pastikan Anda memenuhi prasyarat berikut:
- Security Command Center diaktifkan dan dikonfigurasi di lingkungan Google Cloud Anda.
- Instance Google SecOps.
- Akses istimewa ke Security Command Center dan Cloud Logging.
Membuat bucket Cloud Storage
- Login ke konsolGoogle Cloud .
Buka halaman Cloud Storage Buckets.
Klik Buat.
Di halaman Buat bucket, masukkan informasi bucket Anda. Setelah setiap langkah berikut, klik Lanjutkan untuk melanjutkan ke langkah berikutnya:
Di bagian Mulai, lakukan tindakan berikut:
- Masukkan nama unik yang memenuhi persyaratan nama bucket; misalnya, gcp-scc-unspecified-logs.
Untuk mengaktifkan namespace hierarkis, klik panah peluas untuk meluaskan bagian Optimalkan untuk beban kerja berorientasi file dan intensif data, lalu pilih Aktifkan namespace Hierarkis di bucket ini.
Untuk menambahkan label bucket, klik panah peluas untuk meluaskan bagian Label.
Klik Tambahkan label, lalu tentukan kunci dan nilai untuk label Anda.
Di bagian Pilih lokasi untuk menyimpan data Anda, lakukan hal berikut:
- Pilih Jenis lokasi.
Gunakan menu jenis lokasi untuk memilih Lokasi tempat data objek dalam bucket Anda akan disimpan secara permanen.
Untuk menyiapkan replikasi lintas bucket, luaskan bagian Siapkan replikasi lintas bucket.
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.
Di bagian Pilih cara mengontrol akses ke objek, pilih tidak untuk menerapkan pencegahan akses publik, dan pilih model kontrol akses untuk objek bucket Anda.
Di bagian Pilih cara melindungi data objek, lakukan tindakan berikut:
- Pilih salah satu opsi di bagian Perlindungan data yang ingin Anda tetapkan untuk bucket.
- Untuk memilih cara mengenkripsi data objek Anda, klik panah peluas berlabel Enkripsi data, lalu pilih Metode enkripsi data.
Klik Buat.
Mengonfigurasi logging Security Command Center
- Login ke konsolGoogle Cloud .
Buka halaman Security Command Center.
Pilih organisasi Anda.
Klik Setelan.
Klik tab Ekspor Berkelanjutan.
Di bagian Nama ekspor, klik Ekspor Logging.
Di bagian Sink, aktifkan Log Temuan ke Logging.
Di bagian Project logging, masukkan atau cari project tempat Anda ingin mencatat temuan.
Klik Simpan.
Mengonfigurasi Ekspor Log Tidak Ditentukan Security Command Center
- Login ke konsolGoogle Cloud .
- Buka Logging > Log Router.
- Klik Create Sink.
Berikan parameter konfigurasi berikut:
- Sink Name: masukkan nama yang bermakna; misalnya,
scc-unspecified-logs-sink
. - Sink Destination: pilih Cloud Storage Storage dan masukkan URI untuk bucket Anda; misalnya,
gs://gcp-scc-unspecified-logs
. Filter Log:
logName="projects/<your-project-id>/logs/cloudsecurityscanner.googleapis.com%2Funspecified" resource.type="security_command_center_unspecified"
Tetapkan Opsi Ekspor: Menyertakan semua entri log.
- Sink Name: masukkan nama yang bermakna; misalnya,
Klik Buat.
Mengonfigurasi izin untuk Cloud Storage
- Buka IAM & Admin > IAM.
- Temukan akun layanan Cloud Logging.
- Berikan roles/storage.admin pada bucket.
Menyiapkan feed
Untuk mengonfigurasi feed, ikuti langkah-langkah berikut:
- Buka Setelan SIEM > Feed.
- Klik Tambahkan Feed Baru.
- Di halaman berikutnya, klik Konfigurasi satu feed.
- Di kolom Nama feed, masukkan nama untuk feed; misalnya, Log yang tidak ditentukan Security Command Center.
- Pilih Google Cloud Storage V2 sebagai Source type.
- Pilih Security Command Center Tidak Ditentukan sebagai Jenis log.
- Klik Dapatkan Akun Layanan di samping kolom Akun Layanan Chronicle.
- Klik Berikutnya.
Tentukan nilai untuk parameter input berikut:
- URI Bucket Penyimpanan: URL bucket Cloud Storage; misalnya,
gs://gcp-scc-unspecified-logs
. Opsi penghapusan sumber: pilih opsi penghapusan sesuai preferensi Anda.
Usia File Maksimum: Menyertakan file yang diubah dalam beberapa hari terakhir. Defaultnya adalah 180 hari.
- URI Bucket Penyimpanan: URL bucket Cloud Storage; misalnya,
Klik Berikutnya.
Tinjau konfigurasi feed baru Anda di layar Selesaikan, lalu klik Kirim.
Tabel Pemetaan UDM
Kolom Log | Pemetaan UDM | Logika |
---|---|---|
canonicalName | read_only_udm.target.resource_ancestors.name | Dipetakan langsung dari kolom log mentah canonicalName . Ini merepresentasikan ancestor resource target. |
category | read_only_udm.metadata.product_event_type | Dipetakan langsung dari kolom log mentah category . |
category | read_only_udm.metadata.event_type | Diperoleh dari kolom category . Jika kategorinya adalah OPEN_FIREWALL dan kondisi tertentu terpenuhi, maka kategori tersebut dipetakan ke SCAN_VULN_HOST . Jika tidak, nilai defaultnya adalah GENERIC_EVENT . |
category | read_only_udm.security_result.category | Dipetakan dari kolom log mentah category . Jika kategorinya adalah OPEN_FIREWALL , maka akan dipetakan ke POLICY_VIOLATION . |
complies.ids | read_only_udm.additional.fields.value.string_value | Dipetakan langsung dari kolom log mentah complies.ids . Mewakili ID kepatuhan. |
complies.standard | read_only_udm.additional.fields.value.string_value | Dipetakan langsung dari kolom log mentah complies.standard . Mewakili standar kepatuhan. |
complies.standard | read_only_udm.about.labels.value | Dipetakan langsung dari kolom log mentah complies.standard . Mewakili standar kepatuhan. |
contacts.security.contacts.email | read_only_udm.security_result.about.user.email_addresses | Dipetakan langsung dari kolom log mentah contacts.security.contacts.email . Mewakili alamat email kontak keamanan. |
contacts.technical.contacts.email | read_only_udm.security_result.about.user.email_addresses | Dipetakan langsung dari kolom log mentah contacts.technical.contacts.email . Mewakili alamat email kontak teknis. |
createTime | read_only_udm.security_result.detection_fields.value | Dipetakan langsung dari kolom log mentah createTime . |
eventTime | read_only_udm.metadata.event_timestamp | Dipetakan langsung dari kolom log mentah eventTime setelah dikonversi menjadi stempel waktu. |
externalUri | read_only_udm.about.url | Dipetakan langsung dari kolom log mentah externalUri . |
mute | read_only_udm.security_result.detection_fields.value | Dipetakan langsung dari kolom log mentah mute . |
muteInitiator | read_only_udm.security_result.detection_fields.value | Dipetakan langsung dari kolom log mentah muteInitiator . |
muteUpdateTime | read_only_udm.security_result.detection_fields.value | Dipetakan langsung dari kolom log mentah muteUpdateTime . |
nama | read_only_udm.target.resource.attribute.labels.value | Dipetakan langsung dari kolom log mentah name . Nama ini akan digunakan sebagai ID temuan. |
parent | read_only_udm.target.resource_ancestors.name | Dipetakan langsung dari kolom log mentah parent . |
parentDisplayName | read_only_udm.metadata.description | Dipetakan langsung dari kolom log mentah parentDisplayName . |
resourceName | read_only_udm.target.resource.name | Dipetakan langsung dari kolom log mentah resourceName . |
tingkat keseriusan, | read_only_udm.security_result.severity | Dipetakan langsung dari kolom log mentah severity . |
sourceDisplayName | read_only_udm.target.resource.attribute.labels.value | Dipetakan langsung dari kolom log mentah sourceDisplayName . |
sourceProperties.AllowedIpRange | read_only_udm.target.resource.attribute.labels.value | Dipetakan langsung dari kolom log mentah sourceProperties.AllowedIpRange . |
sourceProperties.ExternallyAccessibleProtocolsAndPorts.IPProtocol | read_only_udm.target.resource.attribute.labels.value | Dipetakan langsung dari kolom log mentah sourceProperties.ExternallyAccessibleProtocolsAndPorts.IPProtocol . |
sourceProperties.ExternallyAccessibleProtocolsAndPorts.ports | read_only_udm.target.resource.attribute.labels.value | Dipetakan langsung dari kolom log mentah sourceProperties.ExternallyAccessibleProtocolsAndPorts.ports . |
sourceProperties.ReactivationCount | read_only_udm.target.resource.attribute.labels.value | Dipetakan langsung dari kolom log mentah sourceProperties.ReactivationCount . |
sourceProperties.ResourcePath | read_only_udm.target.resource.attribute.labels.value | Dipetakan langsung dari kolom log mentah sourceProperties.ResourcePath . Nilai digabungkan menjadi satu string. |
sourceProperties.ScannerName | read_only_udm.additional.fields.value.string_value | Dipetakan langsung dari kolom log mentah sourceProperties.ScannerName . |
sourceProperties.ScannerName | read_only_udm.principal.labels.value | Dipetakan langsung dari kolom log mentah sourceProperties.ScannerName . |
state | read_only_udm.security_result.detection_fields.value | Dipetakan langsung dari kolom log mentah state . |
read_only_udm.metadata.log_type | Di-hardcode ke GCP_SECURITYCENTER_UNSPECIFIED dalam kode parser. |
|
read_only_udm.metadata.product_log_id | Diekstrak dari kolom name , yang merepresentasikan ID temuan. |
|
read_only_udm.metadata.product_name | Di-hardcode ke Security Command Center dalam kode parser. |
|
read_only_udm.metadata.vendor_name | Di-hardcode ke Google dalam kode parser. |
|
read_only_udm.security_result.about.investigation.status | Di-hardcode ke NEW dalam kode parser. |
|
read_only_udm.security_result.alert_state | Di-hardcode ke NOT_ALERTING dalam kode parser. |
|
read_only_udm.security_result.url_back_to_product | Dibuat dalam kode parser menggunakan format: 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 | Diekstrak dari kolom parent dalam log mentah, yang merepresentasikan ID sumber. |
|
read_only_udm.target.resource.resource_type | Tetapkan ke CLUSTER dalam kode parser. |
|
read_only_udm.target.resource_ancestors.resource_type | Di-hardcode ke CLOUD_PROJECT dalam kode parser. |
|
read_only_udm.target.resource_ancestors.name | Diekstrak dari kolom resourceName di log mentah, yang merepresentasikan project ID. |
|
read_only_udm.additional.fields.key | Beberapa instance dibuat dengan kunci yang dikodekan secara permanen: compliances_id_0_0 , compliances_standard_0 , sourceProperties_ScannerName . |
|
read_only_udm.about.labels.key | Di-hardcode ke compliances_standard dan compliances_id dalam kode parser. |
|
read_only_udm.principal.labels.key | Di-hardcode ke sourceProperties_ScannerName dalam kode parser. |
|
read_only_udm.target.resource.attribute.labels.key | Beberapa instance dibuat dengan kunci yang dikodekan secara permanen: 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 | Dua instance dibuat, satu dengan nilai Security dan yang lainnya dengan Technical , berdasarkan kolom contacts dalam log mentah. |
|
read_only_udm.security_result.detection_fields.key | Beberapa instance dibuat dengan kunci hard code: mute , mute_update_time , mute_initiator , createTime , state . |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.