将 Security Command Center 数据发送到 Splunk

本页面介绍如何自动将 Security Command Center 发现结果、资产、审核日志和安全来源发送到 Splunk。还介绍了如何管理导出的数据。Splunk 是一个安全信息和事件管理 (SIEM) 平台,可从一个或多个来源注入安全数据,并使安全团队能够管理对突发事件的响应并执行实时分析。

在本指南中,您需要确保正确配置所需的 Security Command Center 和 Google Cloud 服务,并使 Splunk 能够访问 Security Command Center 环境中的发现结果、审核日志和资产信息。

准备工作

本指南假定您使用的是以下任一设备:

配置身份验证和授权

在连接到 Splunk 之前,您需要在要连接的每个 Google Cloud 组织中创建一个 Identity and Access Management (IAM) 服务账号,并为该账号授予适用于 Splunk 的 Google SCC 插件所需的组织级和项目级 IAM 角色。

创建服务账号并授予 IAM 角色

以下步骤使用 Google Cloud 控制台。对于其他方法,请参阅本部分末尾的链接。

对您要从中导入 Security Command Center 数据的每个 Google Cloud 组织完成以下步骤。

  1. 在创建 Pub/Sub 主题的同一项目中,使用 Google Cloud 控制台的服务账号页面创建一个服务账号。如需查看相关说明,请参阅创建和管理服务账号
  2. 授予该服务账号以下角色:

    • Pub/Sub Editor (roles/pubsub.editor)
  3. 复制您刚刚创建的服务账号的名称。

  4. 使用 Google Cloud 控制台中的项目选择器切换到组织级层。

  5. 打开组织的 IAM 页面:

    转到 IAM

  6. 在 IAM 页面上,点击授予访问权限。此时将打开授予访问权限面板。

  7. 授予访问权限面板中,完成以下步骤:

    1. 新的主账号字段的添加主账号部分,粘贴服务账号的名称。
    2. 分配角色部分中,使用角色字段向服务账号授予以下 IAM 角色:

    3. Security Center Admin Editor (roles/securitycenter.adminEditor)
    4. Security Center Notification Configurations Editor (roles/securitycenter.notificationConfigEditor)
    5. Organization Viewer (roles/resourcemanager.organizationViewer)
    6. Cloud Asset Viewer (roles/cloudasset.viewer)
    7. 点击保存。该服务账号会显示在 IAM 页面的权限标签页上的按主账号查看下方。

      通过继承,该服务账号也会成为组织的所有子项目中的主账号。适用于项目级层的角色会列为继承的角色。

如需详细了解如何创建服务账号并授予角色,请参阅以下主题:

向 Splunk 提供凭据

向 Splunk 提供 IAM 凭据的方式有所不同,具体取决于您托管 Splunk 的位置。

配置通知

对您要从中导入 Security Command Center 数据的每个 Google Cloud 组织完成以下步骤。

您需要使用此任务中的组织 ID、Pub/Sub 主题名称和 Pub/Sub 订阅名称来配置 Splunk。

  1. 为 Pub/Sub 启用发现结果通知,包括以下步骤:

    1. 启用 Security Command Center API。
    2. 创建三个 Pub/Sub 主题:

      • 用于发现结果的主题
      • 资产的主题
      • 审核日志的主题
    3. 在 Security Command Center 中为发现结果创建 notificationConfignotificationConfig 会根据您指定的过滤条件将 Security Command Center 发现结果导出到 Pub/Sub。

  2. 为您的项目启用 Cloud Asset API

  3. 为您的资产创建 Feed。 您必须在同一 Pub/Sub 主题中创建两个 Feed,一个用于资源,另一个用于 Identity and Access Management (IAM) 政策。

    • 资产的 Pub/Sub 主题必须与用于发现结果的主题不同。
    • 对于资源的 Feed,请使用以下过滤条件:

      content-type=resource

    • 对于 IAM 政策 Feed,请使用以下过滤条件:

      content-type=iam-policy --asset-types="cloudresourcemanager.googleapis.com/Project"

  4. 为审核日志创建目标接收器。此集成使用 Pub/Sub 主题作为目标位置。

安装适用于 Splunk 的 Google SCC 应用和适用于 Splunk 的 Google SCC 插件

在本部分中,您将安装适用于 Splunk 的 Google SCC 应用和适用于 Splunk 的 Google SCC 插件。这些应用由 Security Command Center 维护,它们会自动安排 Security Command Center API 调用,定期检索 Security Command Center 数据以在 Splunk 中使用,并设置信息中心以允许您在 Splunk 中查看 Security Command Center 数据。

应用安装需要访问 Splunk 网页界面。

如果您有分布式 Splunk 部署,请按如下所示安装应用:

  • 在 Splunk 重型级转发器和 Splunk 搜索头上安装 Google SCC 应用。
  • 在 Splunk 搜索头上安装适用于 Splunk 的 Google SCC 插件。

如需完成安装,请执行以下操作:

  1. 在 Splunk 网页界面中,点击 Apps(应用)齿轮图标。

  2. 选择 Manage Apps > Browse more apps(管理应用 > 浏览更多应用)。

  3. 搜索并安装以下应用:

    • Google SCC Add-on for Splunk
    • Google SCC App for Splunk

这两个应用都会显示在“应用”列表中。 继续执行将 Splunk 连接到 Google Cloud 来配置应用。

升级适用于 Splunk 的 Google SCC 应用和适用于 Splunk 的 Google SCC 插件

  1. 停用所有现有输入:

    1. 在 Splunk 网页界面中,点击 Apps > Google SCC Add-on for Splunk(应用 > 适用于 Splunk 的 Google SCC 插件)。

    2. 选择 Inputs(输入)标签页。

    3. 对于每个输入,点击 Action(操作)> Disable(停用)

  2. 移除 Security Command Center 编入索引的数据。您可以使用 Splunk CLI clean 命令从应用中移除编入索引的数据,然后再删除应用。

  3. 执行升级:

    1. 在 Splunk 网页界面中,点击 Apps(应用)齿轮图标。

    2. 选择 Manage Apps > Browse more apps(管理应用 > 浏览更多应用)。

    3. 搜索并升级以下应用:

      • Google SCC Add-on for Splunk
      • Google SCC App for Splunk
    4. 如果出现提示,请重启 Splunk。

  4. 对于每个新的 Google Cloud 组织,请完成将 Splunk 连接到 Google Cloud 部分。

  5. 按照添加 Security Command Center 数据输入中所述创建新输入。

将 Splunk 连接到 Google Cloud

您必须在 Splunk 中拥有 admin_all_objects 功能才能完成此任务。

  1. 如果您在 Amazon Web Services 或 Microsoft Azure 上安装了 Splunk,请执行以下操作:

    1. 打开一个终端窗口。

    2. 进入适用于 Splunk 的 Google SCC 应用目录:

      cd $SPLUNK_HOME$/etc/apps/TA_GoogleSCC/local/
      
    3. 在文本编辑器中打开 ta_googlescc_settings.conf

      sudo vim ta_googlescc_settings.conf
      
    4. 将以下几行代码添加到文件末尾:

      [additional_parameters]
      scheme = http
      
    5. 保存并关闭文件。

    6. 重启 Splunk 平台。

  2. 在 Splunk 网页界面中,点击 Apps(应用)> Google SCC Add-on for Splunk(适用于 Splunk 的 Google SCC 插件)> Configuration(配置)> Google SCC Account(Google SCC 账号)

  3. 选择 Configuration(配置)标签页。

  4. 点击添加

  5. 根据显示的字段,执行下列操作之一:

    • 如果显示 Service Account JSON(服务账号 JSON)字段,请找到包含服务账号密钥的 JSON 文件。

    • 如果显示 Credential Configuration(凭据配置)字段,请找到您在设置工作负载身份联合时下载的凭据配置文件。

    如果您在 Google Cloud 中部署了 Splunk 或完成了第 1 步,则系统将自动检测服务账号配置。

  6. Organization(字段)中,添加您的 Google Cloud 组织 ID。

  7. 如果您使用代理服务器将 Splunk 与 Google Cloud 连接,请执行以下操作:

    1. 点击 Proxy(代理)标签页。
    2. 选择 Enable(启用)。
    3. 选择您的代理类型(HTTPS、SOCKS4 或 SOCKS5)。
    4. 添加代理主机名和端口,以及用户名和密码(可选)。
  8. Logging(日志记录)标签页中,为插件选择日志记录级别。

  9. 点击保存

  10. 对要集成的每个 Google Cloud 组织完成第 2 步到第 9 步。

按照添加 Security Command Center 数据输入中所述,为您的 Google Cloud 组织创建数据输入。

添加 Security Command Center 数据输入

  1. 在 Splunk 网页界面中,点击 Apps > Google SCC Add-on for Splunk(应用 > 适用于 Splunk 的 Google SCC 插件)。

  2. 选择 Inputs(输入)标签页。

  3. 点击 Create New Input(创建新输入)。

  4. 选择以下输入之一:

    • 来源输入
    • 发现结果输入
    • 资产输入
    • 审核日志输入
  5. 点击 Edit(修改)图标。

  6. 输入以下信息:

    字段 说明
    输入名称 数据输入的默认名称
    间隔时间 两次数据调用之间的等待时间,以秒为单位
    索引 Security Command Center 数据流向的 Splunk 索引
    资产订阅 ID 仅适用于资产输入,资源的 Pub/Sub 订阅名称
    审核日志订阅 ID 仅适用于审核日志输入,审核日志的 Pub/Sub 订阅名称
    发现结果订阅 ID 仅适用于发现结果输入,发现结果的 Pub/Sub 订阅名称
    最大提取 一次调用中可提取的最大资产数

  7. 点击 Update(更新)。

  8. 对您要添加的每个输入重复第 3 步到第 7 步。

  9. 对要集成的每个 Google Cloud 组织重复第 3 步到第 8 步。

  10. Status(状态)行中,启用要转发到 Splunk 的数据输入。

更新 Splunk 索引

如果您不使用主 Splunk 索引,请完成此任务:

  1. 在 Splunk 网页界面中,点击 Settings > Advanced Search > Search macros(设置 > 高级搜索 > 搜索宏)。
  2. 选择 Google SCC App for Splunk(适用于 Splunk 的 Google SCC 应用)。
  3. 选择 googlescc_index
  4. 更新 index=main 以使用您的索引。
  5. 点击 Save(保存)。

在 Splunk 中查看 Security Command Center 数据

  1. 在 Splunk 网页界面中,点击 Apps > Google SCC Add-on for Splunk(应用 > 适用于 Splunk 的 Google SCC 插件)。

  2. 选择 Search(搜索)标签页。

  3. 设置搜索查询,例如 index="main"

  4. 选择时间范围。

  5. 点击 Search(搜索)图标。

  6. 根据需要,按来源类型(来源、资产、审核日志、IAM 资产或发现结果之一)过滤数据。

查看信息中心

借助适用于 Splunk 的 Google SCC 应用,您可以直观呈现来自 Security Command Center 的数据。它包含五个信息中心:概览来源发现结果资产审核日志搜索

您可以从 Splunk 网页界面中的 Apps > Google SCC Apps for Splunk(应用 > 适用于 Splunk 的 Google SCC 应用)页面查看的这些信息中心。

概览信息中心

概览信息中心包含一系列图表,其中按严重级别、类别和状态显示组织中发现结果的总数。发现结果是根据 Security Command Center 的内置服务(例如 Security Health AnalyticsWeb Security ScannerEvent Threat DetectionContainer Threat Detection)以及您启用的任何集成服务进行编译的。

如需过滤内容,您可以设置时间范围和组织 ID。

其他图表显示哪些类别、项目和资产生成最多的发现结果。

资产信息中心

资产信息中心显示一个表格,其中包含最近创建或修改的 1000 个 Google Cloud 资产。表格显示了资产名称、资产类型、资源所有者和上次更新时间。

您可以按时间范围、组织 ID 和资产类型来过滤资产数据。如果点击 Redirect To SCC(重定向到 SCC)列中的 View(查看),系统会将您重定向到 Google Cloud 控制台中的 Security Command Center 资产页面,其中显示所选资产的详细信息。

审核日志信息中心

审核日志信息中心显示一系列图表和表格,其中显示审核日志信息。信息中心中包含的审核日志包括管理员活动、数据访问、系统事件和政策拒绝审核日志。表格包括时间、日志名称、严重程度、服务名称、资源名称和资源类型。

您可以按时间范围、组织 ID 和日志名称来过滤数据。

发现结果信息中心

发现结果信息中心显示一个表格,其中包含最近的 1000 个发现结果。表格列包括类别、资产名称、来源名称、安全标记、发现结果类和严重程度等。

您可以按时间范围、组织 ID、类别、严重程度、来源名称、资产名称、项目名称或发现结果类来过滤数据。此外,在 Update Status(更新状态)列中,您可以更新发现结果的状态。要表明您正在查看发现结果,请点击 Mark as ACTIVE(标记为有效)。如果您没有在查看发现结果,请点击 Mark as INACTIVE(标记为无效)。

如果您点击发现结果名称,系统会将您重定向到 Google Cloud 控制台中的 Security Command Center 的发现结果页面,并显示所选发现结果的详细信息。

来源信息中心

来源信息中心显示一个包含所有安全来源的表格。表列包括名称、显示名称和说明。

如需过滤内容,您可以设置时间范围。

卸载应用

不再需要检索 Splunk 的 Security Command Center 数据时,请卸载应用。

  1. 在 Splunk 网页界面中,依次点击 Apps > Manage Apps(应用 > 管理应用)。

  2. 搜索 Google SCC App for Splunk

  3. Status(状态)列中,点击 Disable(停用)。

  4. 搜索 Google SCC Add-on for Splunk

  5. Status(状态)列中,点击 Disable(停用)。

  6. (可选)移除 Security Command Center 编入索引的数据。您可以使用 Splunk CLI clean 命令从应用中移除编入索引的数据,然后再删除应用。

  7. 在 Splunk 独立环境中,执行以下操作:

    1. 打开终端并登录 Splunk。

    2. $SPLUNK_HOME/etc/apps/APPNAME 中删除应用及其目录:

      ./splunk remove app APPNAME -auth USERNAME:PASSWORD
      

      APPNAME 替换为 GoogleSCCAppforSplunkTA_GoogleSCC

    3. 对其他应用重复步骤 b。

    4. (可选)通过删除 $SPLUNK_HOME/etc/users/*/GoogleSCCAppforSplunk$SPLUNK_HOME/etc/users/*/TA_GoogleSCC 中的所有文件来移除特定于用户的目录。

    5. 重启 Splunk 平台。

  8. 在分布式 Splunk 环境中,执行以下操作:

    1. 登录 Deployer Manager
    2. $SPLUNK_HOME/etc/apps/APPNAME 中删除应用及其目录:

      ./splunk remove app APPNAME -auth USERNAME:PASSWORD
      

      APPNAME 替换为 GoogleSCCAppforSplunkTA_GoogleSCC

    3. 对其他应用重复步骤 b。

    4. 运行 splunk apply shcluster-bundle 命令:

      splunk apply shcluster-bundle -target URI:MANAGEMENT_PORT -auth USERNAME:PASSWORD
      

后续步骤