本页面介绍如何自动将 Security Command Center 发现结果、资产、审核日志和安全来源发送到 Splunk。还介绍了如何管理导出的数据。Splunk 是一个安全信息和事件管理 (SIEM) 平台,可从一个或多个来源注入安全数据,并使安全团队能够管理对突发事件的响应并执行实时分析。
在本指南中,您需要确保正确配置所需的 Security Command Center 和 Google Cloud 服务,并使 Splunk 能够访问 Security Command Center 环境中的发现结果、审核日志和资产信息。
准备工作
本指南假定您使用的是以下任一设备:
Splunk Enterprise 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
) 点击保存。该服务账号会显示在 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 网页界面中,点击 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 文件。
如果显示 Credential Configuration(凭据配置)字段,请找到您在设置工作负载身份联合时下载的凭据配置文件。
如果您在 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 和 Container 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