Mengumpulkan log Error Security Command Center
Dokumen ini menjelaskan cara mengekspor dan menyerap log Error Security Command Center ke Google Security Operations menggunakan Cloud Storage. Parser mengubah log berformat JSON mentah menjadi model data terpadu (UDM). Proses ini mengekstrak kolom yang relevan dari log mentah, melakukan pembersihan dan normalisasi data, serta menyusun output sesuai dengan skema UDM untuk analisis keamanan yang konsisten.
Sebelum memulai
Pastikan Anda memiliki 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-error-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 Anda.
- 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 Logging Export.
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 Error 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-error-logs-sink
. - Sink Destination: pilih Cloud Storage Storage dan masukkan URI untuk bucket Anda; misalnya,
gs://gcp-scc-error-logs
. Filter Log:
logName="projects/<your-project-id>/logs/cloudsecurityscanner.googleapis.com%2Ferror_logs" resource.type="security_command_center_error"
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
Ada dua titik entri berbeda untuk menyiapkan feed di platform Google SecOps:
- Setelan SIEM > Feed
- Hub Konten > Paket Konten
Menyiapkan feed dari Setelan SIEM > 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 Error Security Command Center.
- Pilih Google Cloud Storage sebagai Jenis sumber.
- Pilih Error Security Command Center 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-error-logs
. - URI Adalah: pilih Direktori yang menyertakan subdirektori.
Opsi penghapusan sumber: pilih opsi penghapusan sesuai preferensi Anda.
- URI Bucket Penyimpanan: URL bucket Cloud Storage; misalnya,
Klik Berikutnya.
Tinjau konfigurasi feed baru Anda di layar Selesaikan, lalu klik Kirim.
Menyiapkan feed dari Hub Konten
Tentukan nilai untuk kolom berikut:
- URI Bucket Penyimpanan: URL bucket Cloud Storage; misalnya,
gs://gcp-scc-error-logs
. - URI Adalah: pilih Direktori yang menyertakan subdirektori.
- Opsi penghapusan sumber: pilih opsi penghapusan sesuai preferensi Anda.
Opsi lanjutan
- Nama Feed: Nilai yang telah diisi otomatis yang mengidentifikasi feed.
- Jenis Sumber: Metode yang digunakan untuk mengumpulkan log ke Google SecOps.
- Namespace Aset: Namespace yang terkait dengan feed.
- Label Penyerapan: Label yang diterapkan ke semua peristiwa dari feed ini.
Tabel Pemetaan UDM
Kolom Log | Pemetaan UDM | Logika |
---|---|---|
access.principalEmail | about.user.email_addresses | Nilai diambil dari kolom access.principalEmail . |
category | metadata.product_event_type | Nilai diambil dari kolom category atau findings.category , bergantung pada format log. |
contacts.security.contacts.email | security_result.about.user.email_addresses | Nilai diambil dari kolom contacts.security.contacts.email . Peran disetel ke Security . |
contacts.technical.contacts.email | security_result.about.user.email_addresses | Nilai diambil dari kolom contacts.technical.contacts.email . Peran disetel ke Technical . |
createTime | security_result.detection_fields.value | Nilai diambil dari kolom createTime atau findings.createTime , bergantung pada format log. Kunci disetel ke createTime . |
deskripsi | security_result.description | Nilai diambil dari kolom description atau findings.description , bergantung pada format log. |
eventTime | metadata.event_timestamp | Nilai diambil dari kolom eventTime atau findings.eventTime , bergantung pada format log, dan dikonversi menjadi stempel waktu. |
externalUri | about.url | Nilai diambil dari kolom externalUri atau findings.externalUri , bergantung pada format log. |
findingClass | security_result.category_details | Nilai diambil dari kolom findingClass atau findings.findingClass , bergantung pada format log. |
findingProviderId | target.resource.attribute.labels.value | Nilai diambil dari kolom findingProviderId atau findings.findingProviderId , bergantung pada format log. Kunci disetel ke finding_provider_id . |
mute | security_result.detection_fields.value | Nilai diambil dari kolom mute atau findings.mute , bergantung pada format log. Kunci disetel ke mute . |
nextSteps | security_result.outcomes.value | Nilai diambil dari kolom nextSteps atau findings.nextSteps , bergantung pada format log. Kunci disetel ke nextSteps . |
resourceName | target.resource.name | Nilai diambil dari kolom resourceName , findings.resourceName , resource_name , atau findings.resource_name , bergantung pada format log. |
securityMarks.name | security_result.detection_fields.value | Nilai diambil dari kolom securityMarks.name atau findings.securityMarks.name , bergantung pada format log. Kunci disetel ke securityMarks_name . |
tingkat keseriusan, | security_result.severity | Nilai yang diambil dari kolom severity atau findings.severity , bergantung pada format log dan dipetakan ke tingkat keparahan UDM yang sesuai. |
sourceDisplayName | target.resource.attribute.labels.value | Nilai diambil dari kolom sourceDisplayName atau findings.sourceDisplayName , bergantung pada format log. Kunci disetel ke source_display_name . |
sourceProperties.ReactivationCount | target.resource.attribute.labels.value | Nilai diambil dari kolom sourceProperties.ReactivationCount atau findings.sourceProperties.ReactivationCount , bergantung pada format log. Kunci disetel ke sourceProperties_ReactivationCount . |
state | security_result.detection_fields.value | Nilai diambil dari kolom state atau findings.state , bergantung pada format log. Kunci disetel ke state . |
metadata.event_type | Tetapkan ke GENERIC_EVENT sebagai nilai default. |
|
metadata.log_type | Nilai yang dikodekan secara permanen GCP_SECURITYCENTER_ERROR . |
|
metadata.description | Nilai yang dikodekan secara permanen Security Command Center . |
|
metadata.product_name | Nilai yang dikodekan secara permanen Security Command Center . |
|
metadata.vendor_name | Nilai yang dikodekan secara permanen Google . |
|
target.resource.attribute.labels.key | Nilai yang dikodekan secara permanen finding_id . |
|
target.resource.attribute.labels.value | Diekstrak dari kolom name atau findings.name , mengambil bagian terakhir setelah karakter / terakhir. |
|
target.resource.product_object_id | Diekstrak dari kolom parent atau findings.parent , yang mengambil nilai setelah karakter / terakhir. |
|
target.resource.ancestors.name | Nilai diambil dari kolom parent atau findings.parent , bergantung pada format log. |
|
target.resource_ancestors.name | Diekstrak dari kolom resourceName atau findings.resourceName , yang mengambil nilai setelah awalan //cloudresourcemanager.googleapis.com/projects/ . |
|
target.resource_ancestors.resource_type | Nilai yang dikodekan secara permanen CLOUD_PROJECT . |
|
target.resource.attribute.labels.key | Nilai yang dikodekan secara permanen source_id . |
|
target.resource.attribute.labels.value | Diekstrak dari kolom parent atau findings.parent , mengambil nilai setelah karakter / kedua. |
|
security_result.alert_state | Dipetakan berdasarkan kolom state atau findings.state . Jika statusnya ACTIVE , alert_state akan disetel ke ALERTING , jika tidak, akan disetel ke NOT_ALERTING . |
|
about.user.email_addresses | Nilai diambil dari kolom iamBindings.member . |
|
about.user.attribute.roles.name | Nilai yang dikodekan secara permanen Security . |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.