arrow_back

Security Command Center 使用入门

登录 加入
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Security Command Center 使用入门

Lab 1 小时 universal_currency_alt 1 个积分 show_chart 入门级
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP1124

Google Cloud 自定进度实验

概览

Security Command Center (SCC) 是一个安全监控平台,可帮助用户实现以下目的:

  • 发现 Google Cloud 资源与安全性相关的错误配置。
  • 报告 Google Cloud 环境中的活跃威胁。
  • 修复各 Google Cloud 资产中的漏洞。

在本实验中,您将探索 Security Command Center 的界面、配置和漏洞发现结果,以初步了解该服务。

您将执行的操作

在本实验中,您将学习如何完成以下操作:

  • 探索 SCC 界面元素。
  • 在项目级别配置 SCC 设置。
  • 分析 SCC 中的漏洞发现结果并修复漏洞。

前提条件

建议学员在满足以下条件后再开始此实验:

设置和要求

点击“开始实验”按钮前的注意事项

请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。

此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。我们会为您提供新的临时凭据,让您可以在实验规定的时间内用来登录和访问 Google Cloud。

为完成此实验,您需要:

  • 能够使用标准的互联网浏览器(建议使用 Chrome 浏览器)。
注意:请使用无痕模式或无痕浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。
  • 完成实验的时间 - 请注意,实验开始后无法暂停。
注意:如果您已有自己的个人 Google Cloud 账号或项目,请不要在此实验中使用,以避免您的账号产生额外的费用。

如何开始实验并登录 Google Cloud 控制台

  1. 点击开始实验按钮。如果该实验需要付费,系统会打开一个弹出式窗口供您选择付款方式。左侧是实验详细信息面板,其中包含以下各项:

    • 打开 Google 控制台按钮
    • 剩余时间
    • 进行该实验时必须使用的临时凭据
    • 帮助您逐步完成本实验所需的其他信息(如果需要)
  2. 点击打开 Google 控制台。 该实验会启动资源并打开另一个标签页,显示登录页面。

    提示:请将这些标签页安排在不同的窗口中,并将它们并排显示。

    注意:如果您看见选择帐号对话框,请点击使用其他帐号
  3. 如有必要,请从实验详细信息面板复制用户名,然后将其粘贴到登录对话框中。点击下一步

  4. 请从实验详细信息面板复制密码,然后将其粘贴到欢迎对话框中。点击下一步

    重要提示:您必须使用左侧面板中的凭据。请勿使用您的 Google Cloud Skills Boost 凭据。 注意:在本次实验中使用您自己的 Google Cloud 帐号可能会产生额外费用。
  5. 继续在后续页面中点击以完成相应操作:

    • 接受条款及条件。
    • 由于该帐号为临时帐号,请勿添加帐号恢复选项或双重验证。
    • 请勿注册免费试用。

片刻之后,系统会在此标签页中打开 Cloud 控制台。

注意:您可以点击左上角的导航菜单来查看列有 Google Cloud 产品和服务的菜单。 “导航菜单”图标

激活 Cloud Shell

Cloud Shell 是一种装有开发者工具的虚拟机。它提供了一个永久性的 5GB 主目录,并且在 Google Cloud 上运行。Cloud Shell 提供可用于访问您的 Google Cloud 资源的命令行工具。

  1. 点击 Google Cloud 控制台顶部的激活 Cloud Shell “激活 Cloud Shell”图标

如果您连接成功,即表示您已通过身份验证,且当前项目会被设为您的 PROJECT_ID 环境变量所指的项目。输出内容中有一行说明了此会话的 PROJECT_ID

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

gcloud 是 Google Cloud 的命令行工具。它已预先安装在 Cloud Shell 上,且支持 Tab 自动补全功能。

  1. (可选)您可以通过此命令列出活跃账号名称:
gcloud auth list
  1. 点击授权

  2. 现在,输出的内容应如下所示:

输出:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (可选)您可以通过此命令列出项目 ID:
gcloud config list project

输出

[core] project = <project_ID>

输出示例

[core] project = qwiklabs-gcp-44776a13dea667a6 Note: For full documentation of gcloud, in Google Cloud, refer to the gcloud CLI overview guide.

场景

5ce916afc496a60c.jpeg


Cymbal Bank 是一家美国零售银行,拥有 2,000 多个分支机构,遍布美国的 50 个州。它提供综合性借贷服务,这些服务在一个稳健的付款平台上运营。Cymbal Bank 是一家正在经历数字化转型的传统金融服务机构。

Cymbal Bank 成立于 1920 年,原名为 Troxler。Cymbal Group 在对该公司大力投资了自有的 ATM 后,于 1975 年收购了该公司。随着该银行发展成为美国的领先银行,他们制定了以实现客户体验现代化为重心的战略,此类体验既包括在分支机构中的线下体验,也包括使用他们于 2014 年发布的应用时的数字体验。Cymbal Bank 在全美有 42,000 名员工。据报道,其 2019 年的收入为 240 亿美元。

Cymbal Bank 有意集成一个集中式安全监控平台,帮助监控公司银行应用中的各种 Google Cloud 资源面临的威胁并修复漏洞。作为一名云安全工程师,您需要了解 Security Command Center 的领先功能,以便制作演示文稿来向首席技术官介绍该服务的优势。

任务 1. 探索 SCC 界面元素

在此任务中,您将探索 Security Command Center (SCC) 界面并了解该服务的主要功能。

  1. 打开导航菜单并选择安全 > Security Command Center > 风险概览
注意:如果看到提示您需要创建组织的消息,只需刷新浏览器即可。
  1. 向下滚动,分别查看“新威胁数随时间的变化情况”和“漏洞数(按资源类型)”信息面板。
  • 威胁信息让 Google Cloud 用户可以知道其 Google Cloud 环境中当前发生的可疑活动,例如服务账号调查自身的权限。
  • 漏洞信息与资源的错误配置或漏洞相关,例如 TCP 端口打开或虚拟机上运行的库已过时。

威胁和漏洞是两种不同类型的发现结果。SCC 使用这些发现结果对环境中的安全问题进行分类和报告。请查看此文档详细了解发现结果类别。

“发现结果”是 SCC 生成的记录,可在 Security Command Center 信息中心提供关于漏洞或威胁数据的详细信息。

  1. 在“新威胁数随时间的变化情况”卡片上,选择发现结果(按资源类型)标签页。

此卡片上枚举一段时间内(这段时间由信息面板右侧的“时间范围”下拉菜单决定)项目中发生且目前仍处于活跃状态的威胁。

注意:此处的威胁数应为零,因为您使用的是从未受到攻击的沙盒 Google Cloud 项目。您将在下一个实验“使用 Security Command Center 检测和调查威胁”中执行保护措施以抵御威胁。

默认情况下,“时间范围”下拉菜单会显示过去 7 天中出现的所有威胁,但您可以查看过去 180 内发生的所有威胁。

  1. 向下滚动至漏洞数(按资源类型)卡片。

  2. 从时间范围选择器中,选择过去 180 天。输出应该类似于以下内容:

180 天内的活跃漏洞图

您应该会看到大约列出了 76 个活跃漏洞。

这些发现结果中的大部分都是因使用默认的 VPC 网络而生成的,因为此网络本身的设计并不安全。例如,它包含允许从任意 IP 地址进行 SSH 和 RDP 访问的防火墙规则。

  1. 现在向下滚动到下面的活跃漏洞卡片。

  2. 选择发现结果(按类别)标签页。

这样会显示环境中的漏洞,按漏洞的不同类别及其严重级别整理。“严重级别”是发现结果的一个属性,有助于预估该问题会给 Google Cloud 环境带来的风险。

严重级别无法更改,每种发现结果都具有由 SCC 预先决定的严重级别。下面列出了不同类型的严重级别及其常见示例:

  • 严重 - 例如,从 GKE Pod 内部启动了反向 shell 会话。
  • - 例如,SSH 端口向整个互联网 (0.0.0.0/0) 开放;
  • - 例如,向某用户或服务账号授予了原初 IAM 角色 (Owner/Editor/Viewer);
  • - 例如,未收集 VPC 流日志
  • 未指定 - 可能出现在 SCC 中,但不常见。

请注意,这里我们仅给出了不同严重级别的发现结果的示例。发现结果严重级别分类页面上介绍了设置发现结果严重级别的详细标准。

注意:有关开放的 RDP 和 SSH 端口的发现结果的严重级别为“高”。
  1. 现在选择发现结果(按资源类型)标签页。这将显示按不同类型的可用 Google Cloud 资源分类的漏洞。
注意:此项目具有默认的 VPC 网络,因此这里大部分的发现结果都与网络组件(例如防火墙、网络或子网)相关。
  1. 最后,选择发现结果(按项目)标签页。如果您在文件夹或组织根节点级别使用 SCC,此标签页会提供更丰富的信息。
注意:在我们的实验中,我们只能访问一个项目,所以此标签页仅包含当前项目的名称。
  1. 在左侧菜单中的“Security Command Center”标题下,打开以下各个标签页并阅读下文对它们的说明:
  • 威胁:在这里可以一目了然地查看 SCC 中分类为威胁的发现结果。下面是一些示例:

    • 成功实施了 SSH BruteForce 攻击(链接)。
    • 计算资源上正在运行加密货币挖矿软件(链接)。
    • 从 GKE 容器内部启动了反向 shell 会话(链接)。
  • 漏洞:利用此标签页,您可以快速浏览当前范围内(项目内部、文件夹内部或组织内部)可能存在的所有软件错误配置或缺陷。这样,您可以更加精细地掌握漏洞情况,从而深入分析每个漏洞。以下是一些漏洞示例:

    • MySQL 端口对整个互联网开放(链接)。
    • Owner/Editor/Viewer 角色被分配给了某个用户或服务账号(链接)。
    • 网页或 Web 应用易受到 XSS 攻击(链接)。
  • 法规遵从:显示有关您的项目对最重要合规性标准(例如 CIS、PCI DSS、NIST 800-53 等)的遵从情况的信息。

  • 发现结果:利用此标签页可浏览 SCC 数据库中提供的所有发现结果。我们将在任务 3 中研究发现结果并学习如何处理它们。

  • 来源:这些软件模块会读取日志文件并检查当前运行的进程,以分析 Google Cloud 资源的配置并监控当前的活动。可以说“来源”是 SCC 的“检测器”,它们会分析资源的配置并将信息发布到 SCC。

  1. 现在,点击浏览器中的“返回”按钮。

任务 2:在项目级别配置 SCC 设置

在此任务中,您将学习如何在项目级别配置 SCC 设置。

  1. 从概览页面的右上角点击设置

  2. 确保您正位于服务标签页。

在此标签页中,您可以设置 SCC 的集成服务(也称为“来源”,是“SCC 的大脑”,在上一项任务中学过)的参数。在本实验中,术语“服务”与“来源”可互换使用。

服务会检测威胁和漏洞并向 SCC 提供相应信息。大多数服务仅在高级版 SCC 中可用,您在本实验中使用的便是高级版。

以下是您可以配置的内置服务:

  • Security Health Analytics (SHA):查找并报告资源的错误配置(停用了日志、额外的 IAM 权限、公开泄露的服务)。我们的项目目前已启用了此服务,它在项目中检测到了 76 个漏洞。
  • Web Security Scanner (WSS):扫描通过外部 IP 地址公开的公共 Web 应用,并检查是否存在 OWASP 十大风险中列出的漏洞。后面的实验中您将有机会使用此服务。
  • Container Threat Detection (CTD):能够检测 Container Optimized OS 中最常见的容器运行时攻击(将在后面的实验中展示)。
  • Event Threat Detection (ETD):是基于日志的威胁分析服务,可持续监控 Google Cloud 和 Google Workspace 日志以扫描是否存在潜在威胁。
  • Virtual Machine Threat Detection:在 Hypervisor 级别分析虚拟机实例的内存,还能够检测虚拟机内存中发生的可疑活动。比如非预期的内核模块或运行中的加密货币挖矿软件。
  • Rapid Vulnerability Detection (RVD):是零配置网络和 Web 应用扫描程序,能够主动扫描公共端点以检测很有可能被利用的漏洞。
  1. 点击 Security Health Analytics管理设置链接。

  2. 点击模块标签页。

“模块”是预定义或自定义的检测逻辑单元。如您所见,SCC 提供了许多种不同类型的模块,可帮助您检测资源的不同错误配置。您可以根据安全状况和有意监控的资源,轻松地在 SCC 中启用和停用不同类型的模块。

  1. 在过滤条件中,输入 VPC_FLOW_LOGS_SETTINGS_NOT_RECOMMENDED

  2. 从“状态”下拉菜单中选择启用

Security Health Analytics 现在将检查 VPC 子网的 enableFlowLogs 属性是否缺失或被设置为“false”。

注意:启用新模块后,需要过一些时间,SCC 才会开始使用新启用的模块扫描资源。

现在您已熟悉了 Security Command Center 的不同服务以及如何配置这些服务,接下来将使用 SCC 找出并修复漏洞。

任务 3. 分析 SCC 中的漏洞发现结果并修复漏洞

在此任务中,您将学习如何管理漏洞发现结果并缓解漏洞。

  1. 打开导航菜单并选择安全 > Security Command Center > 风险概览
  2. 从左侧菜单中,选择发现结果标签页。
  3. 将右上角的时间范围选择器设置为所有时间

  1. 在屏幕左上角,找到查询预览窗口,其中包含用于对所有可用发现结果进行排序的过滤条件。

默认情况下,您在发现结果标签页中可看到状态为活跃的未忽略的发现结果。

每个发现结果都有两个属性“state”“mute”,用于通过 SCC 中的各种过滤条件定义发现结果的可见性。

  • 如果安全分析员不希望在 SCC 界面中看到不相关的干扰性发现结果,可以为发现结果设置“Mute”值,或让系统自动设置此值。
  • State”属性指示发现结果是需要关注并且尚未解决,还是已被修复或解决且不再活跃。

建议使用“mute”属性来管理发现结果生命周期和隐藏发现结果。更改“state”属性的操作通常由软件来源处理。

  1. 在“快速过滤条件”卡片中,选择类别默认网络
  1. 请注意,“查询预览”中的查询字符串已更改(现在附加了 AND category="DEFAULT_NETWORK")。

  2. 选中“默认网络”旁边的复选框并选择更改活跃状态

  3. 将此发现结果的状态设置为非活跃状态。

现在此发现结果已被设为非活跃并从屏幕中隐藏,因为默认情况下您只能看到活跃且未被忽略的发现结果。

  1. 点击 SCC 标题下的风险概览,然后点击发现结果,重置发现结果标签页视图。

  1. 现在点击修改查询按钮。

  2. 将查询编辑器中的查询字符串更改为 category="DEFAULT_NETWORK"

  3. 修改好后,点击应用按钮。

  4. 确保您只看到一条“Default network”发现结果。

如果在“快速过滤条件”下查看左侧的菜单,您会看到“显示非活跃发现结果”已选中。SCC 让您可以灵活地搜索活跃或者非活跃发现结果。现在,您将反转此发现结果的状态。

  1. 选中“默认网络”旁边的复选框并选择更改活跃状态

  2. 将此发现结果的状态设置为活跃

用户可以手动将发现结果设置为活跃或非活跃,但永远无法将其删除。仅当扫描程序在 13 个月的时间内未刷新某条发现结果时,系统才会自动将其删除。

如果安全扫描程序检查该发现结果时未检测到先前触发此发现结果的错误配置,会将其标记为“非活跃”。如果该漏洞仍存在于系统中,则此发现结果仍会保持原来的“活跃”状态。

  1. 点击“快速过滤条件”旁的全部清除按钮,重置“发现结果”标签页。

  2. 在“查询预览”窗口中,点击修改查询

  3. 现在,复制并粘贴以下查询:

state="ACTIVE" AND NOT mute="MUTED" AND resource.type="google.compute.Subnetwork"
  1. 修改好后,点击应用按钮。

现在您应该会看到与子网相关的所有发现结果。我们默认的 VPC 网络是使用 --subnet-mode=auto 参数创建的,因此其所有子网均未启用专用 Google 访问通道,并且所有子网都不写入 VPC 流日志。

假设我们在测试环境中工作,因此不希望看到此网络中有关专用 Google 访问通道的 SCC 发现结果。

  1. 在“快速过滤条件”窗口中,选择类别专用 Google 访问通道已停用

  2. 现在点击类别复选框,这样所有“专用 Google 访问通道已停用”发现结果都处于选中状态:

选中了“类别”复选框
  1. 现在点击忽略选项按钮。

  2. 然后点击忽略。此操作会忽略现有发现结果。

  3. 依次点击风险概览发现结果,重置发现结果查询。

现在,“专用 Google 访问通道已停用”发现结果已被忽略,您将不会再在控制台中看到它们。如您所见,忽略是过滤 Security Command Center 结果的一种有效方法,可让您精细地控制感兴趣的资源和发现结果。

默认网络的另一个错误配置是该网络中的子网的 VPC 流日志也被停用了。由于是在测试环境中工作,我们无需启用 VPC 流日志,因此将忽略与此类别相关的所有现有和未来发现结果。

  1. 点击按钮忽略选项 > 创建忽略规则
注意:您将创建 SCC 配置来忽略满足“发现结果查询”字段中所指定的条件的现有发现结果和所有新发现结果。请注意,我们之前忽略了现有的“专用 Google 访问通道已停用”(PGA) 发现结果。

这属于一次性操作,报告 PGA 已停用的新发现结果仍会出现在 SCC 中。 如果您创建忽略规则,则可以有效地忽略所有现有和新出现的发现结果。
  1. 在新窗口中,输入一个新的忽略规则 ID:muting-pga-findings

  2. 对于忽略规则描述,请输入 Mute rule for VPC Flow Logs(针对 VPC 流日志的忽略规则)。

  3. 在“发现结果查询”中,输入以下过滤条件:

category="FLOW_LOGS_DISABLED"
  1. 现在点击保存按钮。

您应该会在控制台底部看到一条通知,说明创建了一条忽略规则。

创建忽略规则
  1. 现在,请从左侧菜单中选择发现结果,刷新 SCC 主信息中心。

  2. 确保您没有再看到任何“专用 Google 访问通道已停用”或“流日志已停用”发现结果。

注意:如果这些发现结果中有一些仍在显示,请刷新浏览器标签页。

现在我们将再创建一个具有自动配置的子网的网络。

  1. 打开一个新 Cloud Shell 会话 (“激活 Cloud Shell”图标) 并运行以下命令来创建此网络:
gcloud compute networks create scc-lab-net --subnet-mode=auto
  1. 确保您看到类似以下内容的输出:
Created [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-c6821aef4c0f/global/networks/SCC-lab-net]. NAME: SCC-lab-net SUBNET_MODE: AUTO BGP_ROUTING_MODE: REGIONAL IPV4_RANGE: GATEWAY_IPV4: 创建网络
  1. 验证以上信息后,关闭此 Cloud Shell 窗口。

  2. 刷新 SCC 发现结果窗口,注意可以看到新的“专用 Google 访问通道已停用”发现结果,但没有与 VPC 流日志相关的发现结果(这是因为前面创建了忽略规则)。

  3. 虽然我们针对 VPC 流日志创建了忽略规则,SCC 仍支持使用查询编辑器来查看它们。

  4. 点击修改查询按钮并粘贴以下内容:

category="FLOW_LOGS_DISABLED"
  1. 现在点击应用

  2. 检查发现结果查询结果表,您会发现,“资源显示名称”列中显示了“defaults”和“SCC-lab-net”这两个网络。

注意:如果您未看到默认网络,请确保“每页行数”参数设置为 100。您可以在该页面的右下角看到此参数。另请查看“时间范围”参数的值是否设置为“所有时间”。
  1. 在“查询预览”窗口中,点击修改查询

  2. 现在,复制并粘贴以下查询:

state="ACTIVE" AND NOT mute="MUTED"
  1. 修改好后,点击应用按钮。

  2. 现在我们将调查严重级别为“高”的两个发现结果,并进行相应修复。

  3. 在“快速过滤条件”部分,从严重性选项列表中选择

您应该会看到两个发现结果:“开放的 RDP 端口”和“开放的 SSH 端口”。生成这两个结果的原因在于“default”网络包含的两条防火墙规则,它们允许从整个互联网向此网络中的所有实例传输 SSH 和 RDP 流量。

  1. 点击开放的 RDP 端口发现结果。

一个新窗口即会显示。在此窗口中,您将看到关于问题本身的详细说明,受影响的资源列表以及可帮助您修复问题的后续步骤。

  1. 点击相应链接前往防火墙规则页面。此操作将打开一个新的标签页。

  2. 点击 default-allow-rdp 防火墙规则。

  3. 点击修改

  4. 删除来源 IP 范围 0.0.0.0/0

  5. 添加 35.235.240.0/20 作为来源 IP 范围并按 Enter 键。

注意:此 IP 地址范围用于通过 Identity Aware Proxy 安全地连接到虚拟机实例。如需了解详情,可参考使用 IAP 进行 TCP 转发页面。
  1. 切勿更改任何其他参数!

  2. 点击保存

  3. 保存之后,关闭在其中修改此防火墙规则的浏览器标签页。

  4. 刷新 SCC 发现结果浏览器标签页。

  5. 您现在应该只看到一条严重级别为“高”的发现结果,即“开放的 SSH 端口”。

  6. 点击开放的 SSH 端口发现结果。

  7. 点击相应链接前往防火墙规则页面,此页面将在新的标签页中打开。

  8. 点击 default-allow-ssh 防火墙规则。

  9. 点击修改

  10. 删除来源 IP 范围 0.0.0.0/0

  11. 添加 35.235.240.0/20 作为来源 IP 范围并按 Enter 键。

  12. 切勿更改任何其他参数!

  13. 点击保存

  14. 保存之后,关闭在其中修改此防火墙规则的浏览器标签页。

更新防火墙规则
  1. 现在关闭有打开的发现结果说明的窗口,然后刷新浏览器窗口。

  2. 您现在应该看不到严重级别为“高”的发现结果。

现在您已成功使用 Security Command Center 找出并修复了 Google Cloud 环境中的严重安全漏洞。

恭喜!

通过本实验,您学习了如何探索 SCC 界面元素、在项目级别配置 SCC 设置以及分析和修复 SCC 漏洞。

后续步骤/了解详情

Google Cloud 培训和认证

…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。

上次更新手册的时间:2024 年 4 月 29 日

上次测试实验的时间:2024 年 4 月 29 日

版权所有 2024 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。