收集 Wiz 記錄
支援以下發布途徑:
Google secops
Siem
本文說明如何將 Wiz 記錄匯入 Google Security Operations。剖析器會將 Wiz 的原始 JSON 格式記錄轉換為統一資料模型 (UDM)。首先會為 UDM 欄位初始化預設值,然後剖析 JSON 訊息,並擷取相關欄位,例如使用者資訊、位置、裝置詳細資料和安全性結果。Wiz 是雲端安全平台,可在Google Cloud、AWS、Azure、OCI 和 Kubernetes 環境中提供無代理程式端對端可視性和風險優先順序。
事前準備
請確認您已具備下列必要條件:
- Google SecOps 執行個體
- 取得 Wiz 的特殊存取權
取得 Google SecOps 客戶 ID
- 登入 Google SecOps 控制台。
- 依序前往「SIEM 設定」>「設定檔」。
- 複製並儲存「機構詳細資料」部分中的客戶 ID。
取得 Google SecOps 擷取驗證檔案
- 登入 Google SecOps 控制台。
- 依序前往「SIEM 設定」>「收集代理程式」。
- 下載擷取驗證檔案。請在將要安裝 Bindplane 的系統上,安全地儲存檔案。
在 Wiz 中設定整合
- 登入 Wiz 網頁 UI。
- 前往「連結至 Wiz」頁面。
- 按一下「Google Cloud Chronicle」。
- 選取「範圍」。
- 輸入 Google SecOps 客戶 ID。
輸入 Google SecOps [Chronicle] 執行個體的端點地址:
- 加拿大:https://northamerica-northeast2-malachiteingestion-pa.googleapis.com
- Dammam:https://me-central2-malachiteingestion-pa.googleapis.com
- 歐洲多區域:https://europe-malachiteingestion-pa.googleapis.com
- 法蘭克福:https://europe-west3-malachiteingestion-pa.googleapis.com
- 倫敦:https://europe-west2-malachiteingestion-pa.googleapis.com
- 孟買:https://asia-south1-malachiteingestion-pa.googleapis.com
- 新加坡:https://asia-southeast1-malachiteingestion-pa.googleapis.com
- 雪梨:https://australia-southeast1-malachiteingestion-pa.googleapis.com
- 特拉維夫:https://me-west1-malachiteingestion-pa.googleapis.com
- 東京:https://asia-northeast1-malachiteingestion-pa.googleapis.com
- 美國多區域:https://malachiteingestion-pa.googleapis.com
- 蘇黎世:https://europe-west6-malachiteingestion-pa.googleapis.com
上傳 Google 服務帳戶金鑰。
按一下 [儲存]。
UDM 對應表
記錄欄位 | UDM 對應 | 邏輯 |
---|---|---|
動作 | metadata.product_event_type | 當 eventType 為空時,直接對應。 |
動作 | principal.application | 當動作為 Report 且 serviceAccount.name 不為空白時,直接對應。 |
actionParameters.groups | security_result.detection_fields.value | 剖析器會逐一檢查 actionParameters.groups 中的每個群組,並將其對應至鍵為 service_account_group 的個別 detection_fields 項目。 |
actionParameters.input.patch.portalVisitHistory.dateTime | additional.fields.value.string_value | 剖析器會逐一檢查 actionParameters.input.patch.portalVisitHistory 中的每個項目,並擷取 dateTime 欄位,將其對應至鍵為 dateTime {index} 的個別 additional.fields 項目。 |
actionParameters.input.patch.portalVisitHistory.id | principal.resource.attribute.labels.value | 剖析器會逐一檢查 actionParameters.input.patch.portalVisitHistory 中的每個項目,並擷取 ID 欄位,將其對應至索引鍵為 id {index} 的個別 principal.resource.attribute.labels 項目。 |
actionParameters.input.patch.portalVisitHistory.name | principal.resource.attribute.labels.value | 剖析器會逐一檢查 actionParameters.input.patch.portalVisitHistory 中的每個項目,並擷取 name 欄位,將其對應至以 name {index} 做為索引鍵的個別 principal.resource.attribute.labels 項目。 |
actionParameters.input.patch.portalVisitHistory.resourceName | principal.resource.attribute.labels.value | 剖析器會逐一檢查 actionParameters.input.patch.portalVisitHistory 中的每個項目,並擷取 resourceName 欄位,將其對應至以 resourceName {index} 做為索引鍵的個別 principal.resource.attribute.labels 項目。 |
actionParameters.input.patch.portalVisitHistory.resourceType | principal.resource.attribute.labels.value | 剖析器會逐一檢查 actionParameters.input.patch.portalVisitHistory 中的每個項目,並擷取 resourceType 欄位,將其對應至以 resourceType {index} 做為索引鍵的個別 principal.resource.attribute.labels 項目。 |
actionParameters.input.patch.portalVisitHistory.ruleType | principal.resource.attribute.labels.value | 剖析器會逐一檢查 actionParameters.input.patch.portalVisitHistory 中的每個項目,並擷取 ruleType 欄位,將其對應至以 ruleType {index} 為鍵的個別 principal.resource.attribute.labels 項目。 |
actionParameters.input.patch.portalVisitHistory.type | additional.fields.value.string_value | 剖析器會逐一檢查 actionParameters.input.patch.portalVisitHistory 中的每個項目,並擷取 type 欄位,將其對應至鍵為 type {index} 的個別 additional.fields 項目。 |
actionParameters.name | target.user.user_display_name | 當 actionParameters.name 不為空白時,直接對應。 |
actionParameters.products | security_result.detection_fields.value | 剖析器會逐一檢查 actionParameters.products 中的每項產品 (不含空字串和 * ),並將其對應至以 service_account_product 做為鍵的個別 detection_fields 項目。 |
actionParameters.role | target.user.attribute.roles.name | 當 actionParameters.role 不為空白時,直接對應。 |
actionParameters.scopes | security_result.detection_fields.value | 剖析器會逐一檢查 actionParameters.scopes 中的每個範圍,並將其對應至鍵為 service_account_scope 的個別 detection_fields 項目。 |
actionParameters.selection | additional.fields.value.list_value.values.string_value | 剖析器會逐一檢查 actionParameters.selection.preferences 中的每個項目,並將其對應至 additional.fields.value.list_value.values 中的個別 string_value 項目。 |
actionParameters.userEmail | target.user.email_addresses | 使用 grok 模式擷取,並在非空白時對應。 |
actionParameters.userID | target.user.userid | 當 actionParameters.userID 不為空時,直接對應。 |
actor.displayName | target.user.user_display_name | 當 actor.displayName 不為空白且非 unknown 時,直接對應。 |
actor.id | target.user.userid | 當 actor.id 不為空白時,直接對應。 |
authenticationContext.authenticationProvider | security_result.detection_fields.value | 當不為空白時,會對應至 detection_fields 項目,鍵為 authenticationProvider 。 |
authenticationContext.credentialProvider | security_result.detection_fields.value | 當不為空白時,會對應至 detection_fields 項目,鍵為 credentialProvider 。 |
authenticationContext.credentialType | extensions.auth.mechanism | 用於根據特定值推導 extensions.auth.mechanism 的值。 |
authenticationContext.externalSessionId | network.parent_session_id | 在非空白且非 unknown 時,直接對應。 |
client.device | principal.asset.type | 用於根據特定值推導 principal.asset.type 的值。 |
client.geographicalContext.city | principal.location.city | 非空值時直接對應。 |
client.geographicalContext.country | principal.location.country_or_region | 非空值時直接對應。 |
client.geographicalContext.geolocation.lat | principal.location.region_latitude | 非空值時直接對應。 |
client.geographicalContext.geolocation.lon | principal.location.region_longitude | 非空值時直接對應。 |
client.geographicalContext.postalCode | additional.fields.value.string_value | 當非空白時,會對應至鍵為 Postal code 的 additional.fields 項目。 |
client.geographicalContext.state | principal.location.state | 非空值時直接對應。 |
client.ipAddress | principal.asset.ip | 與 principal.ip 和 principal.asset.ip 合併 (如果不為空白)。 |
client.ipAddress | principal.ip | 與 principal.ip 和 principal.asset.ip 合併 (如果不為空白)。 |
client.userAgent.browser | target.resource.attribute.labels.value | 對應至 target.resource.attribute.labels 項目,鍵為 Browser (如果不為空白)。 |
client.userAgent.os | principal.platform | 用於根據特定值推導 principal.platform 的值。 |
client.userAgent.rawUserAgent | network.http.user_agent | 非空值時直接對應。 |
debugContext.debugData.behaviors | security_result.description | 非空值時直接對應。 |
debugContext.debugData.deviceFingerprint | target.asset.asset_id | 當不為空白時,會對應至前置字串 device_finger_print: 的 target.asset.asset_id。 |
debugContext.debugData.dtHash | security_result.detection_fields.value | 當不為空白時,會對應至 detection_fields 項目,鍵為 dtHash 。 |
debugContext.debugData.factor | security_result.detection_fields.value | 當不為空白時,會對應至 detection_fields 項目,鍵為 factor 。 |
debugContext.debugData.promptingPolicyTypes | security_result.detection_fields.value | 當不為空白時,會對應至 detection_fields 項目,鍵為 promptingPolicyTypes 。 |
debugContext.debugData.requestUri | extensions.auth.auth_details | 非空值時直接對應。 |
eventType | metadata.event_type | 用於根據特定值推導 metadata.event_type 的值。 |
eventType | metadata.product_event_type | 非空值時直接對應。 |
outcome.reason | security_result.category_details | 非空值時直接對應。 |
outcome.result | security_result.action | 經過標準化處理後,會對應至特定值的 security_result.action。 |
requestId | metadata.product_log_id | 非空值時直接對應。 |
serviceAccount.name | principal.application | 當動作為 Report 且 serviceAccount.name 不為空白時,直接對應。 |
sourceIP | principal.asset.ip | 使用 grok 模式擷取,並與 principal.ip 和 principal.asset.ip 合併 (如果不為空白且有效)。 |
sourceIP | principal.ip | 使用 grok 模式擷取,並與 principal.ip 和 principal.asset.ip 合併 (如果不為空白且有效)。 |
狀態 | security_result.summary | 非空值時直接對應。 |
時間戳記 | metadata.event_timestamp | 已轉換為時間戳記格式,且在非空白時已對應。 |
user.id | target.user.userid | 當 actionParameters.userID 為空白,而 user.id 不為空白時,直接對應。 |
user.name | target.user.user_display_name | 當 actionParameters.name 為空白,而 user.name 不為空白時,直接對應。 |
userAgent | network.http.user_agent | 當 client.userAgent.rawUserAgent 為空白,而 userAgent 不為空白時,直接對應。 |
extensions.auth.type | 如果 has_user 為 true,且 action 為 Login ,請設為 AUTHTYPE_UNSPECIFIED 。 |
|
metadata.product_name | 設為 WIZ_IO 。 |
|
metadata.vendor_name | 設為 WIZ_IO 。 |
|
network.http.parsed_user_agent | 從 user_agent_value 衍生而來,並轉換為已剖析的 user_agent。 | |
security_result.severity | 根據特定值計算嚴重程度,預設為 LOW 。 |
還有其他問題嗎?向社群成員和 Google SecOps 專家尋求解答。