收集 Wiz 日志
支持的平台:
Google secops
Siem
本文档介绍了如何将 Wiz 日志注入到 Google 安全运营中心。解析器会将 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 网页界面。
- 前往连接到 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 | 当 action 为 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 | 如果不为空,则映射到键为 authenticationProvider 的 detection_fields 条目。 |
authenticationContext.credentialProvider | security_result.detection_fields.value | 如果不为空,则映射到键为 credentialProvider 的 detection_fields 条目。 |
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 | 如果不为空,则映射到键为 Browser 的 target.resource.attribute.labels 条目。 |
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 | 如果不为空,则映射到键为 dtHash 的 detection_fields 条目。 |
debugContext.debugData.factor | security_result.detection_fields.value | 如果不为空,则映射到键为 factor 的 detection_fields 条目。 |
debugContext.debugData.promptingPolicyTypes | security_result.detection_fields.value | 如果不为空,则映射到键为 promptingPolicyTypes 的 detection_fields 条目。 |
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 | 当 action 为 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 转换为 parseduseragent 派生而来。 | |
security_result.severity | 根据特定值派生自严重程度,默认为 LOW 。 |
需要更多帮助?向社区成员和 Google SecOps 专业人士寻求解答。