Mengumpulkan log Wiz
Dokumen ini menjelaskan cara menyerap log Wiz ke Google Security Operations. Parser mengubah log mentah berformat JSON dari Wiz menjadi Unified Data Model (UDM). Pertama, ini menginisialisasi nilai default untuk kolom UDM, lalu mengurai pesan JSON, mengekstrak kolom yang relevan seperti informasi pengguna, lokasi, detail perangkat, dan hasil keamanan. Wiz adalah platform keamanan cloud yang memberikan visibilitas menyeluruh dan prioritas risiko tanpa agen di seluruh lingkunganGoogle Cloud, AWS, Azure, OCI, dan Kubernetes.
Sebelum memulai
Pastikan Anda memiliki prasyarat berikut:
- Instance Google SecOps
- Akses dengan hak istimewa ke Wiz
Mendapatkan ID pelanggan Google SecOps
- Login ke konsol Google SecOps.
- Buka Setelan SIEM > Profil.
- Salin dan simpan ID Pelanggan dari bagian Detail Organisasi.
Mendapatkan file autentikasi penyerapan Google SecOps
- Login ke konsol Google SecOps.
- Buka Setelan SIEM > Agen Pengumpulan.
- Download File Autentikasi Proses Transfer. Simpan file dengan aman di sistem tempat Bindplane akan diinstal.
Mengonfigurasi integrasi di Wiz
- Login ke UI web Wiz.
- Buka halaman Connect to Wiz.
- Klik Google Cloud Chronicle.
- Pilih Cakupan.
- Masukkan ID Pelanggan Google SecOps Anda.
Masukkan alamat Endpoint instance Google SecOps [Chronicle]:
- Kanada: https://northamerica-northeast2-malachiteingestion-pa.googleapis.com
- Dammam: https://me-central2-malachiteingestion-pa.googleapis.com
- Multi-Region Eropa: https://europe-malachiteingestion-pa.googleapis.com
- Frankfurt: https://europe-west3-malachiteingestion-pa.googleapis.com
- London: https://europe-west2-malachiteingestion-pa.googleapis.com
- Mumbai: https://asia-south1-malachiteingestion-pa.googleapis.com
- Singapura: https://asia-southeast1-malachiteingestion-pa.googleapis.com
- Sydney: https://australia-southeast1-malachiteingestion-pa.googleapis.com
- Tel Aviv: https://me-west1-malachiteingestion-pa.googleapis.com
- Tokyo: https://asia-northeast1-malachiteingestion-pa.googleapis.com
- Multi-Region Amerika Serikat: https://malachiteingestion-pa.googleapis.com
- Zurich: https://europe-west6-malachiteingestion-pa.googleapis.com
Upload Kunci Akun Layanan Google.
Klik Simpan.
Tabel pemetaan UDM
Kolom log | Pemetaan UDM | Logika |
---|---|---|
tindakan | metadata.product_event_type | Pemetaan langsung saat eventType kosong. |
tindakan | principal.application | Pemetaan langsung saat tindakan adalah Report dan serviceAccount.name tidak kosong. |
actionParameters.groups | security_result.detection_fields.value | Parser melakukan iterasi melalui setiap grup di actionParameters.groups dan memetakan ke entri detection_fields terpisah dengan kunci service_account_group . |
actionParameters.input.patch.portalVisitHistory.dateTime | additional.fields.value.string_value | Parser melakukan iterasi melalui setiap item di actionParameters.input.patch.portalVisitHistory dan mengekstrak kolom dateTime, memetakan ke entri additional.fields terpisah dengan kunci dateTime {index} . |
actionParameters.input.patch.portalVisitHistory.id | principal.resource.attribute.labels.value | Parser melakukan iterasi melalui setiap item di actionParameters.input.patch.portalVisitHistory dan mengekstrak kolom id, memetakan ke entri principal.resource.attribute.labels terpisah dengan kunci id {index} . |
actionParameters.input.patch.portalVisitHistory.name | principal.resource.attribute.labels.value | Parser melakukan iterasi melalui setiap item di actionParameters.input.patch.portalVisitHistory dan mengekstrak kolom nama, yang memetakan ke entri principal.resource.attribute.labels terpisah dengan kunci name {index} . |
actionParameters.input.patch.portalVisitHistory.resourceName | principal.resource.attribute.labels.value | Parser melakukan iterasi melalui setiap item di actionParameters.input.patch.portalVisitHistory dan mengekstrak kolom resourceName, yang memetakan ke entri principal.resource.attribute.labels terpisah dengan kunci resourceName {index} . |
actionParameters.input.patch.portalVisitHistory.resourceType | principal.resource.attribute.labels.value | Parser melakukan iterasi melalui setiap item di actionParameters.input.patch.portalVisitHistory dan mengekstrak kolom resourceType, memetakan ke entri principal.resource.attribute.labels terpisah dengan kunci resourceType {index} . |
actionParameters.input.patch.portalVisitHistory.ruleType | principal.resource.attribute.labels.value | Parser melakukan iterasi melalui setiap item di actionParameters.input.patch.portalVisitHistory dan mengekstrak kolom ruleType, yang memetakan ke entri principal.resource.attribute.labels terpisah dengan kunci ruleType {index} . |
actionParameters.input.patch.portalVisitHistory.type | additional.fields.value.string_value | Parser melakukan iterasi melalui setiap item di actionParameters.input.patch.portalVisitHistory dan mengekstrak kolom type, memetakan ke entri additional.fields terpisah dengan kunci type {index} . |
actionParameters.name | target.user.user_display_name | Pemetaan langsung saat actionParameters.name tidak kosong. |
actionParameters.products | security_result.detection_fields.value | Parser melakukan iterasi melalui setiap produk di actionParameters.products (tidak termasuk string kosong dan * ) dan memetakan ke entri detection_fields terpisah dengan kunci service_account_product . |
actionParameters.role | target.user.attribute.roles.name | Pemetaan langsung jika actionParameters.role tidak kosong. |
actionParameters.scopes | security_result.detection_fields.value | Parser melakukan iterasi melalui setiap cakupan di actionParameters.scopes dan memetakan ke entri detection_fields terpisah dengan kunci service_account_scope . |
actionParameters.selection | additional.fields.value.list_value.values.string_value | Parser melakukan iterasi melalui setiap item di actionParameters.selection.preferences dan memetakan ke entri string_value terpisah dalam additional.fields.value.list_value.values. |
actionParameters.userEmail | target.user.email_addresses | Diekstrak menggunakan pola grok dan dipetakan jika tidak kosong. |
actionParameters.userID | target.user.userid | Pemetaan langsung saat actionParameters.userID tidak kosong. |
actor.displayName | target.user.user_display_name | Pemetaan langsung saat actor.displayName tidak kosong dan bukan unknown . |
actor.id | target.user.userid | Pemetaan langsung saat actor.id tidak kosong. |
authenticationContext.authenticationProvider | security_result.detection_fields.value | Dipetakan ke entri detection_fields dengan kunci authenticationProvider jika tidak kosong. |
authenticationContext.credentialProvider | security_result.detection_fields.value | Dipetakan ke entri detection_fields dengan kunci credentialProvider jika tidak kosong. |
authenticationContext.credentialType | extensions.auth.mechanism | Digunakan untuk mendapatkan nilai untuk extensions.auth.mechanism berdasarkan nilai tertentu. |
authenticationContext.externalSessionId | network.parent_session_id | Pemetaan langsung jika tidak kosong dan bukan unknown . |
client.device | principal.asset.type | Digunakan untuk memperoleh nilai untuk principal.asset.type berdasarkan nilai tertentu. |
client.geographicalContext.city | principal.location.city | Pemetaan langsung jika tidak kosong. |
client.geographicalContext.country | principal.location.country_or_region | Pemetaan langsung jika tidak kosong. |
client.geographicalContext.geolocation.lat | principal.location.region_latitude | Pemetaan langsung jika tidak kosong. |
client.geographicalContext.geolocation.lon | principal.location.region_longitude | Pemetaan langsung jika tidak kosong. |
client.geographicalContext.postalCode | additional.fields.value.string_value | Dipetakan ke entri additional.fields dengan kunci Postal code jika tidak kosong. |
client.geographicalContext.state | principal.location.state | Pemetaan langsung jika tidak kosong. |
client.ipAddress | principal.asset.ip | Digabung dengan principal.ip dan principal.asset.ip jika tidak kosong. |
client.ipAddress | principal.ip | Digabung dengan principal.ip dan principal.asset.ip jika tidak kosong. |
client.userAgent.browser | target.resource.attribute.labels.value | Dipetakan ke entri target.resource.attribute.labels dengan kunci Browser jika tidak kosong. |
client.userAgent.os | principal.platform | Digunakan untuk mendapatkan nilai untuk principal.platform berdasarkan nilai tertentu. |
client.userAgent.rawUserAgent | network.http.user_agent | Pemetaan langsung jika tidak kosong. |
debugContext.debugData.behaviors | security_result.description | Pemetaan langsung jika tidak kosong. |
debugContext.debugData.deviceFingerprint | target.asset.asset_id | Dipetakan ke target.asset.asset_id dengan awalan device_finger_print: jika tidak kosong. |
debugContext.debugData.dtHash | security_result.detection_fields.value | Dipetakan ke entri detection_fields dengan kunci dtHash jika tidak kosong. |
debugContext.debugData.factor | security_result.detection_fields.value | Dipetakan ke entri detection_fields dengan kunci factor jika tidak kosong. |
debugContext.debugData.promptingPolicyTypes | security_result.detection_fields.value | Dipetakan ke entri detection_fields dengan kunci promptingPolicyTypes jika tidak kosong. |
debugContext.debugData.requestUri | extensions.auth.auth_details | Pemetaan langsung jika tidak kosong. |
eventType | metadata.event_type | Digunakan untuk memperoleh nilai untuk metadata.event_type berdasarkan nilai tertentu. |
eventType | metadata.product_event_type | Pemetaan langsung jika tidak kosong. |
outcome.reason | security_result.category_details | Pemetaan langsung jika tidak kosong. |
outcome.result | security_result.action | Dipetakan ke security_result.action setelah normalisasi berdasarkan nilai tertentu. |
requestId | metadata.product_log_id | Pemetaan langsung jika tidak kosong. |
serviceAccount.name | principal.application | Pemetaan langsung saat tindakan adalah Report dan serviceAccount.name tidak kosong. |
sourceIP | principal.asset.ip | Diekstrak menggunakan pola grok dan digabungkan dengan principal.ip dan principal.asset.ip jika tidak kosong dan valid. |
sourceIP | principal.ip | Diekstrak menggunakan pola grok dan digabungkan dengan principal.ip dan principal.asset.ip jika tidak kosong dan valid. |
status | security_result.summary | Pemetaan langsung jika tidak kosong. |
timestamp | metadata.event_timestamp | Dikonversi ke format stempel waktu dan dipetakan jika tidak kosong. |
user.id | target.user.userid | Pemetaan langsung saat actionParameters.userID kosong dan user.id tidak kosong. |
user.name | target.user.user_display_name | Pemetaan langsung saat actionParameters.name kosong dan user.name tidak kosong. |
userAgent | network.http.user_agent | Pemetaan langsung saat client.userAgent.rawUserAgent kosong dan userAgent tidak kosong. |
extensions.auth.type | Tetapkan ke AUTHTYPE_UNSPECIFIED jika has_user bernilai benar dan tindakan adalah Login . |
|
metadata.product_name | Tetapkan ke WIZ_IO . |
|
metadata.vendor_name | Tetapkan ke WIZ_IO . |
|
network.http.parsed_user_agent | Diambil dari user_agent_value dengan mengonversinya menjadi parseduseragent. | |
security_result.severity | Berasal dari tingkat keparahan berdasarkan nilai tertentu, yang ditetapkan secara default ke LOW . |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.