将 Web Risk 与 Google SecOps 集成

本文档介绍了如何将 Web Risk 与 Google Security Operations 集成。

使用场景

Web Risk 集成使用 Google SecOps 功能来支持以下用例:

  • 网址信誉查询:对照 Google 的已知恶意资源列表检查网址,以识别钓鱼式攻击、恶意软件和垃圾软件。

  • 突发事件丰富:使用来自 Web Risk 的威胁情报自动丰富安全提醒,帮助分析师确定威胁的优先级并做出响应。

  • 恶意网址缓解:将 Web Risk 检查纳入 playbook,以自动屏蔽或标记调查期间发现的高风险网域。

  • 自动执行钓鱼式攻击响应:验证从用户报告的邮件中提取的可疑链接,以确认钓鱼式攻击企图,并触发自动遏制措施,例如用户通知或凭据重置。

  • 验证外部情报:将来自第三方威胁情报源的网址与 Google的高保真列表进行交叉对比,以减少误报,并在采取破坏性操作之前确认恶意意图。

准备工作

在 Google SecOps 中配置 Web Risk 集成之前,请先完成以下前提条件:

  1. 创建服务账号。

  2. 选择并配置以下身份验证方法之一:

    • 方法 1:Workload Identity(推荐):此方法通过服务账号模拟使用短期有效的临时访问令牌,因此您无需存储密钥。

    • 方法 2:服务账号 JSON 密钥:此方法依赖于静态、长期有效的密钥文件。仅当您的环境中无法使用 Workload Identity 身份验证时,才使用此方法。

创建服务账号

如需为集成创建服务账号,请完成以下步骤:

  1. 在 Google Cloud 控制台中,前往 IAM 和管理 > 服务账号。

    转到“服务账号”

  2. 点击add创建服务账号,然后提供名称和说明。

  3. 点击完成以完成账号的创建。此服务账号的邮箱会在身份验证配置过程中使用。

配置 Workload Identity 凭证

请选择此方法或 JSON 密钥方法来对集成进行身份验证。 Workload Identity 是推荐且更安全的方法,因为它通过服务账号模拟使用短期有效的临时访问令牌,从而无需存储或轮替长期有效的密钥。

识别唯一实例身份

如需使用 Workload Identity 进行身份验证,您必须向 Google SecOps 实例授予模拟服务账号的权限。这样,实例就可以安全地访问 Google Cloud 资源。

  1. 在 Google SecOps 中,前往内容中心 > 响应集成。

  2. 选择 Web Risk 集成,然后在 Workload Identity 邮箱中输入您的服务账号邮箱。

  3. 在配额项目 ID 中输入有效的项目 ID。

  4. 依次点击保存 > 测试。测试预计会失败。

  5. 点击测试右侧的 close_small,然后在出错提示中搜索以 gke-init-python@... 或 soar-python@... 开头的身份电子邮件。

  6. 复制此唯一邮箱。

在 Google Cloud中授权实例身份

检索 Google SecOps 实例的唯一身份后,您必须授权该实例访问您的Google Cloud 资源。此步骤会启用服务账号模拟,让平台能够生成短期有效的令牌并代表您执行操作,而无需使用静态密钥。

  1. 在 Google Cloud 控制台中,前往 IAM 和管理 > 服务账号。

    转到“服务账号”

  2. 选择目标服务账号,然后依次前往权限 > 授予访问权限。

  3. 将唯一邮箱粘贴到新的主账号字段中,并分配 Service Account Token Creator 角色 (roles/iam.serviceAccountTokenCreator)。

授予配额项目访问权限

使用 Workload Identity 进行身份验证时,您必须在集成设置中指定 Quota Project ID,以跟踪 API 使用情况和结算信息。

如需授权,您必须向服务账号授予指定配额项目的以下角色:

  1. 在 Google Cloud 控制台中,前往 IAM 和管理 > IAM,然后选择您的项目。

    转到 IAM

  2. 在主账号列表中找到您的服务账号,然后点击该账号的修改(修改主账号)。

  3. 点击添加其他角色,然后选择 Service Usage Consumer 角色 (roles/serviceusage.serviceUsageConsumer)。

  4. 点击保存。

配置 JSON 密钥

选择此方法或 Workload Identity 方法来对集成进行身份验证。仅当您的环境中无法使用 Workload Identity 时,才使用 JSON 密钥方法。Workload Identity 是推荐且更安全的方法。此方法依赖于静态、长期有效的密钥文件,需要手动管理和轮替。

请按照以下步骤生成对集成进行身份验证所需的 JSON 密钥文件:

  1. 在 Google Cloud 控制台中,前往 IAM 和管理 > 服务账号,然后选择您创建的服务账号。

    转到“服务账号”

  2. 前往密钥标签页。

  3. 依次点击添加密钥 > 创建新密钥。

  4. 选择 JSON 作为密钥类型,然后点击创建。浏览器会将 JSON 文件下载到您的计算机。

  5. 复制此文件的全部内容,并在集成配置期间将其粘贴到 Service Account JSON File Content 中。

集成参数

Web Risk 集成需要以下参数:

参数 说明
Workload Identity Email

可选。

服务账号的客户端邮箱。

仅当您使用 Workload Identity 进行身份验证时,才需要配置此参数。

如果您配置此参数,则还必须配置 Quota Project ID。

Service Account JSON File Content

可选。

服务账号 JSON 密钥文件的完整内容。

仅当您使用 JSON 密钥进行身份验证时,才需要配置此参数。

Quota Project ID

可选。

用于 API 使用和结算目的的 Google Cloud 项目 ID。

如果您使用 Workload Identity 进行身份验证,则此参数是必需的。

Project ID

可选。

要在集成中使用的 Google Cloud 项目 ID。

如果未提供任何值,则集成会从服务账号凭证中检索 ID。

Verify SSL

必填。

如果选中,集成会在连接到 Web Risk 服务器时验证 SSL 证书。

默认处于启用状态。

如需了解如何在 Google SecOps 中配置集成,请参阅配置集成。

如有需要,您可以在后续阶段进行更改。配置集成实例后,您可以在 playbook 中使用该实例。如需详细了解如何配置和支持多个实例,请参阅支持多个实例。

操作

如需详细了解操作,请参阅 在工作桌上响应待处理的操作和在案例中运行手动操作。

丰富实体

使用丰富实体操作可从 Web Risk 返回有关 Google SecOps 实体的相关信息。

此操作在 Google SecOps URL 实体上运行。

操作输入

无。

操作输出

丰富实体操作提供以下输出:

操作输出类型 可用性
案例墙附件 不可用
案例墙链接 不可用
案例墙表格 不可用
实体丰富化表 可用
JSON 结果 可用
输出消息 可用
脚本结果 可用
实体丰富化表

丰富实体操作可以丰富 URL 实体并提供以下丰富结果:

扩充项字段名称 来源(JSON 密钥) 适用性
threatTypes 威胁类型的 CSV 文件。 当 JSON 结果中提供时。
JSON 结果

以下示例展示了使用丰富实体操作时收到的 JSON 结果输出:

{
   "Entity": "Entity",
   "EntityResult": [
       {
           "expireTime": "2024-12-20T13:47:20.786242980Z",
           "threatTypes": [
               "SOCIAL_ENGINEERING_EXTENDED_COVERAGE"
           ]
       }
   ]
}
输出消息

Enrich Entities 操作可能会返回以下输出消息:

输出消息 消息说明

Successfully enriched the following entities in Web Risk: ENTITY_ID.

The action wasn't able to enrich the following entities in Web Risk: ENTITY_ID.

No information was found for the provided entities.

操作成功。
Error executing action "Enrich Entities". Reason: ERROR_REASON

操作失败。

请检查与服务器的连接、输入参数或凭据。

脚本结果

下表列出了使用丰富实体操作时脚本结果输出的值:

脚本结果名称 值
is_success True 或 False

Ping

使用 Ping 操作测试与 Web Risk 的连接性。

此操作不会在 Google SecOps 实体上运行。

操作输入

无。

操作输出

Ping 操作提供以下输出:

操作输出类型 可用性
案例墙附件 不可用
案例墙链接 不可用
案例墙表格 不可用
丰富化表 不可用
JSON 结果 不可用
输出消息 可用
脚本结果 可用
输出消息

Ping 操作可能会返回以下输出消息:

输出消息 消息说明
Successfully connected to the Web Risk server with the provided connection parameters! 操作成功。
Failed to connect to the Web Risk server! Error is ERROR_REASON

操作失败。

请检查与服务器的连接、输入参数或凭据。

脚本结果

下表列出了使用 Ping 操作时脚本结果输出的值:

脚本结果名称 值
is_success True 或 False

提交实体

使用提交实体操作将实体提交到 Web Risk 进行分析。

此操作是异步的。根据需要,在 Google SecOps 集成开发环境 (IDE) 中调整操作的脚本超时值。

此操作在 Google SecOps URL 实体上运行。

操作输入

Submit Entities 操作需要以下参数:

参数 说明
Abuse Type

可选。

与提交内容关联的滥用行为类型。

如需详细了解滥用行为类型,请参阅 AbuseType。

可能的值如下:

  • Select One
  • Malware
  • Social Engineering
  • Unwanted Software

默认值为 Select One。

Confidence Level

可选。

提交内容的置信度。

如需详细了解置信度,请参阅置信度和 ConfidenceLevel。

可能的值如下:

  • Select One
  • Low
  • Medium
  • High

默认值为 Select One。

Justification

可选。

提交理由。

如需详细了解理由选项,请参阅 JustificationLabel。

可能的值如下:

  • Manual Verification
  • User Report
  • Automated Report

默认值为 User Report。

Comment

可选。

说明提交原因的评论。

Region Code

可选。

与提交内容关联的国家或地区的通用语言区域数据仓库 (CLDR) 代码的英文逗号分隔列表。如需详细了解提交内容,请参阅提交内容。

Platform

可选。

检测到提交内容的平台类型。

可能的值如下:

  • Select One
  • Android
  • iOS
  • MacOS
  • Windows

默认值为 Select One。

Skip Waiting

可选。

如果选中,操作会初始化提交,而不会等待其完成。

默认值为 True。

需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。