本页面介绍如何自动将 Security Command Center 发现结果、资产、审核日志和安全来源发送到 Splunk。还介绍了如何管理导出的数据。Splunk 是一个安全信息和事件管理 (SIEM) 平台,可从一个或多个来源注入安全数据,并使安全团队能够管理对突发事件的响应并执行实时分析。
在本指南中,您需要确保正确配置所需的 Security Command Center 和 Google Cloud 服务,并使 Splunk 能够访问 Security Command Center 环境中的发现结果、审核日志和资产信息。
准备工作
本指南假定您使用的是下列其中一种浏览器:
Splunk 企业版 版本 8.1、8.2 或 9.0
在 Google Cloud、Amazon Web Services 或 Microsoft Azure 中托管 Splunk
配置身份验证和授权
在连接到 Splunk 之前,您需要在要连接的每个 Google Cloud 组织中创建一个 Identity and Access Management (IAM) 服务账号,并为该账号授予适用于 Splunk 的 Google SCC 插件所需的组织级和项目级 IAM 角色。
创建服务账号并授予 IAM 角色
以下步骤使用 Google Cloud 控制台。对于其他方法,请参阅本部分末尾的链接。
对您要从中导入 Security Command Center 数据的每个 Google Cloud 组织完成以下步骤。
- 在创建 Pub/Sub 主题的同一项目中,使用 Google Cloud 控制台的服务账号页面创建一个服务账号。如需查看相关说明,请参阅创建和管理服务账号。
授予该服务账号以下角色:
- Pub/Sub Editor (
roles/pubsub.editor
)
- Pub/Sub Editor (
复制您刚刚创建的服务账号的名称。
使用 Google Cloud 控制台中的项目选择器切换到组织级层。
打开组织的 IAM 页面:
在 IAM 页面上,点击授予访问权限。此时将打开授予访问权限面板。
在授予访问权限面板中,完成以下步骤:
- 在新的主账号字段的添加主账号部分,粘贴服务账号的名称。
在分配角色部分中,使用角色字段向服务账号授予以下 IAM 角色:
- Security Center Admin Editor (
roles/securitycenter.adminEditor
) - Security Center Notification Configurations Editor (
roles/securitycenter.notificationConfigEditor
) - Organization Viewer (
roles/resourcemanager.organizationViewer
) - Cloud Asset Viewer (
roles/cloudasset.viewer
)
- Security Center Admin Editor (
点击保存。安全账号会显示在 IAM 页面的权限标签页上的按主账号查看下方。
通过继承,该服务账号也会成为组织的所有子项目中的主账号,并且适用于项目级层的角色被列为继承的角色。
如需详细了解如何创建服务账号并授予角色,请参阅以下主题:
向 Splunk 提供凭据
向 Splunk 提供 IAM 凭据的方式有所不同,具体取决于您托管 Splunk 的位置。
如果您要在 Google Cloud 中托管 Splunk,请考虑以下事项:
您创建的服务账号以及 如果您授予该角色,则系统会自动沿用父级选项 组织。如果您使用多个 Google Cloud 组织,请将此服务账号添加到其他组织,并为其授予 IAM 角色(请参阅创建服务账号并授予 IAM 角色中的第 5 步到第 7 步)。
如果您在服务边界中部署 Splunk,请创建入站和出站规则。如需查看相关说明,请参阅在 VPC Service Controls 中授予边界访问权限。
如果您是 Splunk Enterprise 的托管者 在本地环境中,为每个 Google Cloud 组织创建一个服务账号。 您需要使用 JSON 格式的服务账号密钥来完成本指南。
如果您在其他云中托管 Splunk,请配置工作负载身份联合并下载凭据配置文件。如果您使用多个 Google Cloud 组织,请将此服务账号添加到其他组织,并为其授予 IAM 角色(请参阅创建服务账号并授予 IAM 角色中的第 5 步到第 7 步)。
配置通知
对您要从中导入 Security Command Center 数据的每个 Google Cloud 组织完成以下步骤。
您需要使用此任务中的组织 ID、Pub/Sub 主题名称和 Pub/Sub 订阅名称来配置 Splunk。
为 Pub/Sub 启用发现结果通知,包括以下步骤:
- 启用 Security Command Center API。
创建三个 Pub/Sub 主题:
- 发现结果主题
- 资产的主题
- 审核日志的主题
在 Security Command Center 中为发现结果创建
notificationConfig
。notificationConfig
会导出 Security Command Center 根据您指定的过滤条件将发现结果导出到 Pub/Sub。
为您的项目启用 Cloud Asset API。
为您的资产创建 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"
为审核日志创建目标接收器。此集成使用 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 搜索头上安装适用于 Splunk 的 Google SCC 插件。
如需完成安装,请执行以下操作:
在 Splunk 网页界面中,点击 Apps(应用)齿轮图标。
选择 Manage Apps > Browse more apps(管理应用 > 浏览更多应用)。
搜索并安装以下应用:
- Google SCC Add-on for Splunk
- Google SCC App for Splunk
这两个应用都会显示在“应用”列表中。 继续执行将 Splunk 连接到 Google Cloud 来配置应用。
升级适用于 Splunk 的 Google SCC 应用和适用于 Splunk 的 Google SCC 插件
停用所有现有输入:
在 Splunk 网页界面中,点击 Apps > Google SCC Add-on for Splunk(应用 > 适用于 Splunk 的 Google SCC 插件)。
选择 Inputs(输入)标签页。
对于每个输入,点击 Action(操作)> Disable(停用)。
移除 Security Command Center 编入索引的数据。您可以使用 Splunk CLI clean 命令 在删除应用之前,先从应用中移除已编入索引的数据。
执行升级:
在 Splunk 网页界面中,点击 Apps(应用)齿轮图标。
选择 Manage Apps > Browse more apps(管理应用 > 浏览更多应用)。
搜索并升级以下应用:
- Google SCC Add-on for Splunk
- Google SCC App for Splunk
如果出现提示,请重启 Splunk。
对于每个新的 Google Cloud 组织,请完成将 Splunk 连接到 Google Cloud 部分。
按照添加 Security Command Center 数据输入中所述创建新输入。
将 Splunk 连接到 Google Cloud
您必须在 Splunk 中拥有 admin_all_objects
功能才能完成此任务。
如果您在 Amazon Web Services 或 Microsoft Azure 上安装了 Splunk,请执行以下操作:
打开一个终端窗口。
进入适用于 Splunk 的 Google SCC 应用目录:
cd $SPLUNK_HOME$/etc/apps/TA_GoogleSCC/local/
在文本编辑器中打开
ta_googlescc_settings.conf
:sudo vim ta_googlescc_settings.conf
将以下几行代码添加到文件末尾:
[additional_parameters] scheme = http
保存并关闭文件。
重启 Splunk 平台。
在 Splunk 网页界面中,点击 Apps(应用)> Google SCC Add-on for Splunk(适用于 Splunk 的 Google SCC 插件)> Configuration(配置)> Google SCC Account(Google SCC 账号)。
选择 Configuration(配置)标签页。
点击添加。
根据显示的字段,执行下列操作之一:
如果显示 Service Account JSON(服务账号 JSON)字段,请找到包含服务账号密钥的 JSON 文件。
如果系统显示凭据配置字段,请浏览到您在设置工作负载身份联合时下载的凭据配置文件。
如果您在 Google Cloud 中部署了 Splunk 或完成了第 1 步,则系统将自动检测服务账号配置。
在 Organization(字段)中,添加您的 Google Cloud 组织 ID。
如果您使用代理服务器将 Splunk 与 Google Cloud 连接,请执行以下操作:
- 点击 Proxy(代理)标签页。
- 选择 Enable(启用)。
- 选择您的代理类型(HTTPS、SOCKS4 或 SOCKS5)。
- 添加代理主机名和端口,以及用户名和密码(可选)。
在 Logging(日志记录)标签页中,为插件选择日志记录级别。
点击保存。
对要集成的每个 Google Cloud 组织完成第 2 步到第 9 步。
按照添加 Security Command Center 数据输入中所述,为您的 Google Cloud 组织创建数据输入。
添加 Security Command Center 数据输入
在 Splunk 网页界面中,点击 Apps > Google SCC Add-on for Splunk(应用 > 适用于 Splunk 的 Google SCC 插件)。
选择 Inputs(输入)标签页。
点击 Create New Input(创建新输入)。
选择以下输入之一:
- 来源输入
- 发现结果输入
- 资产输入
- 审核日志输入
点击 Edit(修改)图标。
输入以下信息:
字段 说明 输入名称 数据输入的默认名称 间隔时间 两次数据调用之间的等待时间,以秒为单位 索引 Security Command Center 数据流向的 Splunk 索引 资产订阅 ID 仅适用于资产输入,资源的 Pub/Sub 订阅名称 审核日志订阅 ID 仅适用于审核日志输入,审核日志的 Pub/Sub 订阅名称 发现结果订阅 ID 仅适用于发现结果输入,发现结果的 Pub/Sub 订阅名称 最大提取 一次调用中可提取的最大资产数 点击 Update(更新)。
对您要添加的每个输入重复第 3 步到第 7 步。
对要集成的每个 Google Cloud 组织重复第 3 步到第 8 步。
在 Status(状态)行中,启用要转发到 Splunk 的数据输入。
更新 Splunk 索引
如果您不使用主 Splunk 索引,请完成此任务:
- 在 Splunk 网页界面中,点击 Settings > Advanced Search > Search macros(设置 > 高级搜索 > 搜索宏)。
- 选择 Google SCC App for Splunk(适用于 Splunk 的 Google SCC 应用)。
- 选择 googlescc_index。
- 更新
index=main
以使用您的索引。 - 点击 Save(保存)。
在 Splunk 中查看 Security Command Center 数据
在 Splunk 网页界面中,点击 Apps > Google SCC Add-on for Splunk(应用 > 适用于 Splunk 的 Google SCC 插件)。
选择 Search(搜索)标签页。
设置搜索查询,例如
index="main"
。选择时间范围。
点击 Search(搜索)图标。
根据需要,按来源类型(来源、资产、审核日志、IAM 资产或发现结果之一)过滤数据。
查看信息中心
借助适用于 Splunk 的 Google SCC 应用,您可以直观呈现来自 Security Command Center 的数据。它包含五个信息中心:概览、来源、发现结果、资产、审核日志和搜索。
您可以从 Splunk 网页界面中的 Apps > Google SCC Apps for Splunk(应用 > 适用于 Splunk 的 Google SCC 应用)页面查看的这些信息中心。
概览信息中心
概览信息中心包含一系列图表,其中按严重级别、类别和状态显示组织中发现结果的总数。发现结果是基于 Security Command Center 的内置服务编译的,例如 Security Health Analytics, Web Security Scanner、 Event 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 数据时,请卸载应用。
在 Splunk 网页界面中,依次点击 Apps > Manage Apps(应用 > 管理应用)。
搜索
Google SCC App for Splunk
。在 Status(状态)列中,点击 Disable(停用)。
搜索
Google SCC Add-on for Splunk
。在 Status(状态)列中,点击 Disable(停用)。
(可选)移除 Security Command Center 编入索引的数据。您可以使用 Splunk CLI clean 命令 在删除应用之前,先从应用中移除已编入索引的数据。
在 Splunk 独立环境中,执行以下操作:
打开终端并登录 Splunk。
在
$SPLUNK_HOME/etc/apps/APPNAME
中删除应用及其目录:./splunk remove app APPNAME -auth USERNAME:PASSWORD
将 APPNAME 替换为
GoogleSCCAppforSplunk
或TA_GoogleSCC
。对其他应用重复步骤 b。
(可选)通过删除
$SPLUNK_HOME/etc/users/*/GoogleSCCAppforSplunk
和$SPLUNK_HOME/etc/users/*/TA_GoogleSCC
中的所有文件来移除特定于用户的目录。重启 Splunk 平台。
在分布式 Splunk 环境中,执行以下操作:
- 登录 deployer manager。
在
$SPLUNK_HOME/etc/apps/APPNAME
中删除应用及其目录:./splunk remove app APPNAME -auth USERNAME:PASSWORD
将 APPNAME 替换为
GoogleSCCAppforSplunk
或TA_GoogleSCC
。对其他应用重复步骤 b。
运行
splunk apply shcluster-bundle
命令:splunk apply shcluster-bundle -target URI:MANAGEMENT_PORT -auth USERNAME:PASSWORD