将 Google 提醒中心与 Google SecOps 集成

本文档介绍了如何将 Google Workspace 提醒中心与 Google Security Operations 集成。

使用场景

Google 快讯中心集成使用 Google SecOps 功能来支持以下用例:

  • 钓鱼式攻击响应:提取有关针对贵组织的潜在钓鱼式攻击的提醒中心通知。触发自动化工作流,以调查电子邮件、屏蔽恶意网址并隔离受影响的账号。

  • 数据渗漏遏制:检测到可疑数据移动时触发自动突发事件响应。隔离受影响的系统并启动取证分析。

  • 自动修复恶意软件:隔离 Google Workspace 提醒识别出的受感染设备,并启动强制性恶意软件扫描或补丁部署。

  • 漏洞管理:自动处理有关影响 Google Workspace 环境的新发现漏洞的提醒,以便确定修补优先级并通知相关团队。

准备工作

在 Google SecOps 中配置 Google 提醒中心集成之前,请完成以下前提步骤:

  1. 启用 Google Workspace Alert Center API。

  2. 创建服务账号。

  3. 配置 JSON 密钥。

  4. 委托全网域授权。

  5. 向被模拟的用户授予提醒中心访问权限。

启用 Google Workspace Alert Center API

启用该 API 后,Google SecOps 即可与您的 Google Workspace 安全数据进行通信。

  1. 在 Google Cloud 控制台中,前往库页面。

    前往媒体库

  2. 点击启用。

创建服务账号

服务账号作为集成访问 Google Workspace 数据的安全身份。

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

    转到“服务账号”

  2. 点击 add 创建服务账号。

  3. 提供名称(例如“SecOps 提醒中心集成”)和说明。

  4. 点击创建并继续。

  5. 跳过可选的 IAM 角色分配步骤,然后点击完成。提醒中心权限会授予您网域的 Google 管理控制台中被模拟的 Google Workspace 用户,而不是 Google Cloud IAM 中的服务账号。

  6. 在列表中找到服务账号,然后复制其客户端 ID(唯一 ID)和电子邮件地址。

配置 JSON 密钥

此集成使用静态 JSON 密钥文件进行身份验证。

  1. 在 Google Cloud 控制台中选择您的服务账号,然后前往密钥标签页。

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

  3. 选择 JSON,然后点击创建。密钥文件会自动下载到您的计算机。

  4. 复制此文件的完整内容,并在集成配置期间将其粘贴到 Service Account JSON Secret 中。

委托全网域权限

授予全网域授权后,服务账号便可通过模拟管理员来访问用户的提醒。

  1. 在网域的 Google 管理控制台中,依次点击主菜单 > 安全性 > 访问权限和数据控制功能 > API 控件。

  2. 在全网域授权窗格中,选择管理全网域授权。

  3. 点击新增。

  4. 在客户端 ID 字段中,输入您从服务账号复制的唯一 ID(客户端 ID)。

  5. 在 OAuth 范围字段中,输入以下范围:

    https://www.googleapis.com/auth/apps.alerts
    
  6. 点击授权。

向被模拟的用户授予提醒中心访问权限

您在 Impersonation Email Address 参数中指定的 Google Workspace 用户必须在您网域的 Google 管理控制台中拥有提醒中心管理员权限。

如需在 Google 管理控制台中授予对“提醒中心”的访问权限,请为模拟用户分配以下角色之一:

  • 预先创建的管理员角色:分配超级用户或服务管理员角色,默认情况下,这些角色拥有对提醒中心的完整访问权限。

  • 自定义管理员角色:在账号 > 管理员角色中创建一个自定义管理员角色,并为其分配提醒中心 > 完整访问权限(执行“删除提醒”操作所需)或提醒中心 > 查看权限(足以进行只读提醒提取),然后将该角色分配给模拟用户。

如需详细了解如何配置提醒中心管理员权限和自定义角色,请参阅授予对提醒中心的访问权限。

集成参数

Google 快讯中心集成需要以下参数:

参数 说明
Service Account JSON Secret

必填。

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

Impersonation Email Address

必填。

在您的 Google Workspace 网域中拥有提醒中心管理员权限(例如超级用户或服务管理员角色,或拥有提醒中心权限的自定义管理员角色)的 Google Workspace 用户的电子邮件地址。

该集成会使用全网域授权来冒充此用户,并检索或管理提醒。

Verify SSL

可选。

如果选中,集成会在连接到 Google 提醒中心服务器时验证 SSL 证书。

默认处于启用状态。

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

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

操作

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

删除提醒

使用删除提醒操作可删除提醒中心内的提醒。

删除提醒后,您可以在接下来的 30 天内将其恢复。您无法恢复删除时间超过 30 天的提醒。

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

操作输入

删除提醒操作需要以下参数:

参数 说明
Alert ID 必需

要删除的提醒的 ID。

操作输出

删除提醒操作会提供以下输出:

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

删除提醒操作可能会返回以下输出消息:

输出消息 消息说明

Successfully deleted alert with ID RECORD_ID in the alert center.

Alert with ID RECORD_ID doesn't exist in the alert center.

操作成功。
Error executing action "Delete Alert". Reason: ERROR_REASON

操作失败。

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

脚本结果

下表列出了使用删除提醒操作时脚本结果输出的值:

脚本结果名称 值
is_success True 或 False

Ping

使用 Ping 操作测试与提醒中心的连接。

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

操作输入

无。

操作输出

Ping 操作提供以下输出:

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

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

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

操作失败。

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

脚本结果

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

脚本结果名称 值
is_success True 或 False

连接器

如需详细了解如何在 Google SecOps 中配置连接器,请参阅注入数据(连接器)。

Google 快讯中心 - 快讯连接器

使用 Google 快讯中心 - 快讯连接器从快讯中心检索有关快讯的信息。

动态列表过滤条件可与 type 参数搭配使用。

连接器输入

Google 快讯中心 - 快讯连接器需要以下参数:

参数 说明
Product Field Name 必需

存储商品名称的字段的名称。

默认值为 source。

Event Field Name 必需

用于确定事件名称(子类型)的字段名称。

默认值为 type。

Environment Field Name 可选

存储环境名称的字段的名称。

如果未找到环境字段,则环境会设置为默认环境。

默认值为 ""。

Environment Regex Pattern 可选

要对 Environment Field Name 字段中的值运行的正则表达式模式。此参数可让您使用正则表达式逻辑来操纵环境字段。

使用默认值 .* 检索所需的原始 Environment Field Name 值。

如果正则表达式模式为 null 或空,或者环境值为 null,则最终环境结果为默认环境。

PythonProcessTimeout 必需

运行当前脚本的 Python 进程的超时限制(以秒为单位)。

默认值为 180。

Service Account JSON Secret 必需

您用于向提醒中心进行身份验证的服务账号文件的完整 JSON 内容。

Impersonation Email Address 必需

具有提醒中心管理员权限(例如超级用户或服务管理员角色,或具有提醒中心权限的自定义管理员角色)的 Google Workspace 用户的电子邮件地址。

Verify SSL 可选

如果选中此选项,集成会验证用于连接到提醒中心的 SSL 证书是否有效。

默认处于选中状态。

Max Hours Backwards 可选

在第一次连接器迭代之前,要检索响应的小时数。此参数适用于您首次启用连接器后的初始连接器迭代,或已过期连接器时间戳的后备值。

默认值为 1 小时。

Max Alerts To Fetch 可选

每次连接器迭代要检索的提醒数量上限。

数量上限为 100。

Lowest Severity To Fetch 可选

要检索的提醒的最低严重级别。

Use whitelist as a blacklist 可选

如果选中,连接器会将动态列表用作屏蔽名单。

默认情况下不选择。

Proxy Server Address 可选

要使用的代理服务器的地址。

Proxy Username 可选

用于进行身份验证的代理用户名。

Proxy Password 可选

用于进行身份验证的代理密码。

连接器规则

以下规则定义了连接器的操作逻辑、数据处理行为和安全机制。

  • 代理:连接器支持代理。

  • 事件创建:如果提醒包含 data/messages 键(JSON 对象列表),则连接器会为列表中的每个对象创建一个单独的事件。

  • 安全超时:如果连接器达到其执行超时的 90%(基于 PythonProcessTimeout),它会停止,并且不会为该迭代创建新提醒,以防止部分数据注入。

  • 水印管理:连接器使用 alertId 跟踪已处理的提醒。它最多可在 ids.json 中存储 1,000 个 ID。超出上限后,系统会移除最早的 100 个 ID。

示例事件 JSON

以下 JSON 示例展示了 Google Alert Center API 的典型响应结构,说明了可供提取的特定数据字段。

{
    "customerId": "038judqw",
    "alertId": "e37415f1-7c39-44a5-b43c-4f8159638a2a",
    "createTime": "2020-07-22T11:50:08.353Z",
    "startTime": "2020-07-22T10:54:54.059475Z",
    "endTime": "2020-07-22T11:46:51.020063Z",
    "type": "User reported phishing",
    "source": "Gmail phishing",
    "data": {
        "@type": "[type.googleapis.com/google.apps.alertcenter.type.MailPhishing](https://type.googleapis.com/google.apps.alertcenter.type.MailPhishing)",
        "domainId": {
            "customerPrimaryDomain": "smplylab.com"
        },
        "maliciousEntity": {
            "fromHeader": "crazywiz7@abv.bg"
        },
        "messages": [
            {
                "messageId": "1753474999.350456.1595412914645@nm22.abv.bg",
                "messageBodySnippet": " eicar com http malware wicar org data ms14_064_ole_not_xp html",
                "md5HashSubject": "c93d4454877e844fdfcb4401472204f2",
                "subjectText": "Re: App Store - Support.      17/07/2020 12:50:36",
                "attachmentsSha256Hash": [
                    "77c2aed70c3b20c50dbf071f8688580e02463c213e7a65ccab1acc2f8a9769a3",
                    "f5e1b1bf12b71c54f68a719e0c45df5806a8b8d57bf3967d9bd4a071cfc5abbe"
                ],
                "recipient": "lab3@smplylab.com",
                "date": "2020-07-22T10:54:54.059475Z"
            }
        ]
    },
    "securityInvestigationToolLink": "[admin.google.com/ac/ac/investigate?alert=CiRlMzc0MTVmMS03YzM5LTQ0YTUtYjQzYy00ZjgxNTk2MzhhMmE](https://admin.google.com/ac/ac/investigate?alert=CiRlMzc0MTVmMS03YzM5LTQ0YTUtYjQzYy00ZjgxNTk2MzhhMmE)",
    "metadata": {
        "customerId": "038judqw",
        "alertId": "e37415f1-7c39-44a5-b43c-4f8159638a2a",
        "status": "NOT_STARTED",
        "updateTime": "2020-07-22T11:50:08.353Z",
        "severity": "HIGH",
        "etag": "rrXycg7VpUA="
    },
    "updateTime": "2020-07-22T11:50:08.353Z",
    "etag": "rrXycg7VpUA="
}

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