Mengumpulkan log Wiz
Dokumen ini menjelaskan cara menyerap log Wiz ke Google Security Operations. Parser mengubah log berformat JSON mentah dari Wiz menjadi Model Data Terpadu (UDM). Pertama-tama, UDM 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 tanpa agen dan prioritas risiko di seluruh lingkungan AWS, Azure, OCI, dan Kubernetes. Google Cloud
Sebelum memulai
Pastikan Anda memenuhi prasyarat berikut:
- Instance Google SecOps
- Akses 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 Penyerapan dan simpan file di lokasi yang aman.
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 Anda.
- 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 File Autentikasi Penyerapan.
- 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 memetakannya 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, memetakannya 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, memetakannya 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, memetakannya 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, memetakannya 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, memetakannya 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, memetakannya 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 jenis, memetakannya 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 memetakannya ke entri detection_fields terpisah dengan kunci service_account_product . |
actionParameters.role | target.user.attribute.roles.name | Pemetaan langsung saat actionParameters.role tidak kosong. |
actionParameters.scopes | security_result.detection_fields.value | Parser melakukan iterasi melalui setiap cakupan di actionParameters.scopes dan memetakannya 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 memetakannya 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 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 mendapatkan nilai principal.asset.type berdasarkan nilai tertentu. |
client.geographicalContext.city | principal.location.city | Pemetaan langsung saat tidak kosong. |
client.geographicalContext.country | principal.location.country_or_region | Pemetaan langsung saat tidak kosong. |
client.geographicalContext.geolocation.lat | principal.location.region_latitude | Pemetaan langsung saat tidak kosong. |
client.geographicalContext.geolocation.lon | principal.location.region_longitude | Pemetaan langsung saat 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 saat tidak kosong. |
client.ipAddress | principal.asset.ip | Digabungkan dengan principal.ip dan principal.asset.ip jika tidak kosong. |
client.ipAddress | principal.ip | Digabungkan 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 principal.platform berdasarkan nilai tertentu. |
client.userAgent.rawUserAgent | network.http.user_agent | Pemetaan langsung saat tidak kosong. |
debugContext.debugData.behaviors | security_result.description | Pemetaan langsung saat 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 saat tidak kosong. |
eventType | metadata.event_type | Digunakan untuk mendapatkan nilai metadata.event_type berdasarkan nilai tertentu. |
eventType | metadata.product_event_type | Pemetaan langsung saat tidak kosong. |
outcome.reason | security_result.category_details | Pemetaan langsung saat tidak kosong. |
outcome.result | security_result.action | Dipetakan ke security_result.action setelah normalisasi berdasarkan nilai tertentu. |
requestId | metadata.product_log_id | Pemetaan langsung saat 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 saat 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 | Disetel ke AUTHTYPE_UNSPECIFIED jika has_user benar dan tindakan adalah Login . |
|
metadata.product_name | Tetapkan ke WIZ_IO . |
|
metadata.vendor_name | Tetapkan ke WIZ_IO . |
|
network.http.parsed_user_agent | Diperoleh dari user_agent_value dengan mengonversinya menjadi parseduseragent. | |
security_result.severity | Diperoleh dari tingkat keparahan berdasarkan nilai tertentu, dengan nilai default LOW . |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.