使用 Security Health Analytics

本页面介绍了如何使用 Security Command Center 管理 Security Health Analytics 发现结果。

Security Health Analytics 是 Security Command Center 中的内置服务。如需查看 Security Health Analytics 发现结果,必须在 Security Command Center 服务设置中启用该服务。

以下视频介绍了设置 Security Health Analytics 的步骤,并提供了有关如何使用信息中心的信息。本页面稍后部分将以文字介绍如何查看和管理 Analytics Health Analytics 发现结果。

在 Security Command Center 信息中心并使用 Security Command Center API 可以搜索 Security Command Analytics 检测器的发现结果。

Security Command Center 大约会在服务启用一小时后开始扫描并以批处理模式和实时模式运行:批处理模式每天自动运行两次扫描,相隔 12 小时;而实时模式则根据资源配置更改来运行扫描。Security Command Center 延迟时间概览中列出了不支持实时扫描模式的 Security Health Analytics 检测器。

Security Command Center 角色可以在组织、文件夹或项目级层授予。您能否查看、修改、创建或更新发现结果、资产和安全来源,取决于您被授予的访问权限级别。如需详细了解 Security Command Center 角色,请参阅访问权限控制

按价格层级划分的功能

Security Health Analytics 提供代管式漏洞评估扫描功能,能够自动检测您的 Google Cloud 资产中最严重的漏洞和配置错误。

在 Security Command Center 的标准层级中,Security Health Analytics 仅包含一组基本的高严重性检测器。高级层级包含所有 Security Health Analytics 检测器,并添加了行业最佳做法和基准的合规性报告

切换层级

大多数 Security Health Analytics 检测器仅在 Security Command Center 高级层级中提供。如果您是高级层级客户并计划改用标准层级,建议您在解析订阅之前解决所有发现结果。

标准检测器生成的发现结果无法在标准层级中自动解决,因为在降级后或高级层级试用结束时,Security Health Analytics 不再会在您的组织中运行高级层级检测器。这些发现结果不会更新,并且保持活跃。如需手动将发现结果标记为非活跃,请转到 Security Command Center 信息中心内的发现结果标签页。

启用和停用检测器

以下 Security Health Analytics 检测器默认不处于启用状态:

  • BIGQUERY_TABLE_CMEK_DISABLED
  • BUCKET_CMEK_DISABLED
  • DATASET_CMEK_DISABLED
  • DISK_CMEK_DISABLED
  • DISK_CSEK_DISABLED
  • NODEPOOL_BOOT_CMEK_DISABLED
  • PUBSUB_CMEK_DISABLED
  • SQL_CMEK_DISABLED
  • SQL_NO_ROOT_PASSWORD
  • SQL_WEAK_ROOT_PASSWORD

如需启用检测器(也称为模块),请在 Google Cloud CLI 中运行modules enable gcloud alpha 命令。

  gcloud alpha scc settings services modules enable \
    --organization=ORGANIZATION_ID \
    --service=SECURITY_HEALTH_ANALYTICS \
    --module=DETECTOR_NAME

请替换以下内容:

  • ORGANIZATION_ID:您的组织 ID。
  • DETECTOR_NAME:您要启用的检测器的名称

如需停用检测器,请运行 modules disable 命令。

  gcloud alpha scc settings services modules disable \
    --organization=ORGANIZATION_ID \
    --service=SECURITY_HEALTH_ANALYTICS \
    --module=DETECTOR_NAME

请替换以下内容:

  • ORGANIZATION_ID:您的组织 ID。
  • DETECTOR_NAME:要停用的检测器的名称

停用检测器可能会影响活跃的发现结果的状态。停用检测器后,现有发现结果会被标记为非活跃。

您还可以针对特定文件夹或项目停用 Security Health Analytics 或特定检测器。如果为文件夹和项目关闭 Security Health Analytics 或检测器,则与这些资源中的资产关联的任何现有发现结果都会被标记为非活跃。

在 Security Command Center 中过滤发现结果

大型组织在其部署过程中可能有很多漏洞发现结果,以进行审核、分类和跟踪。通过将 Security Command Center 与可用的过滤条件结合使用,您可以专注于整个组织内最严重的漏洞,并按资源类型、安全标记等审核漏洞。

如需查看 Security Health Analytics 检测器和发现结果的完整列表,请参阅 Security Health Analytics 发现结果页面。

按项目查看 Security Health Analytics 发现结果

如要按项目查看 Security Health Analytics 发现结果,请执行以下操作:

  1. 前往控制台中的 Security Command Center。

    前往 Security Command Center

  2. 要显示 Security Health Analytics 的发现结果,请点击漏洞标签页。

  3. 项目过滤条件下,点击将项目添加到项目过滤条件 ()。

  4. 在显示的搜索对话框中,选择要为其显示发现结果的项目。

漏洞标签页会显示您选择的项目的发现结果列表。

按发现结果类型查看 Security Health Analytics 发现结果

如要按类别查看 Security Health Analytics 发现结果,请执行以下操作:

  1. 前往控制台中的 Security Command Center。

    前往 Security Command Center

  2. 要显示 Security Health Analytics 的发现结果,请点击漏洞标签页。

  3. 类别列中,选择要显示其发现结果的发现结果类型。

发现结果标签页会加载并显示与您选择的类型匹配的发现结果列表。

按资源类型查看发现结果

如要查看针对特定资源类型的 Security Health Analytics 发现结果,请执行以下操作:

  1. 进入控制台中 Security Command Center 的发现结果页面。

    进入“发现结果”

  2. 点击查看方式旁边的来源类型,然后选择 Security Health Analytics

  3. 过滤条件框中,输入 resourceName: ASSET_TYPE。例如,要显示所有项目的 Security Health Analytics 发现结果,请输入 resourceName: projects

发现结果列表会更新,以显示您指定的资源类型的所有发现结果。

按严重性查看 Security Health Analytics 发现结果

如要按严重性查看 Security Health Analytics 发现结果,请执行以下操作:

  1. 前往控制台中的 Security Command Center。

    前往 Security Command Center

  2. 要显示 Security Health Analytics 的发现结果,请点击漏洞标签页。

  3. 要按严重级别对发现结果进行排序,请点击严重级别列标题。发现结果值为 HIGHMEDIUMLOW

如需详细了解发现结果类型,请参阅漏洞发现结果。Security Command Center 还提供许多内置属性,包括安全标记等自定义属性。

过滤出对您重要的漏洞之后,您可以在 Security Command Center 中选择漏洞,查看有关发现结果的详细信息。这些信息包括对漏洞和风险的说明以及修复建议。

忽略发现的结果

如需控制 Security Command Center 中的发现结果量,您可以手动或以编程方式忽略各个发现结果,或者创建根据您定义的过滤条件自动忽略当前和未来发现结果的忽略规则。

已忽略的发现结果会被隐藏和抑制,但会继续记录以用于审核和合规性目的。您可以随时查看已忽略的发现结果或将其取消忽略。如需了解详情,请参阅在 Security Command Center 中忽略发现结果

使用安全标记标记资源和发现结果

您可以使用安全标记在 Security Command Center 中将自定义属性添加到发现结果和资源。安全标记使您能够识别优先级高的感兴趣的地区,如生产项目、使用错误和突发事件跟踪编号标记发现结果等。

将资源添加到许可名单

忽略发现结果是推荐最有效的控制发现结果数量的方法。如果您不希望查看被隔离或在可接受的业务参数范围内的资源的安全发现结果,建议忽略发现结果。

或者,您可以为资源添加专用安全标记,这样检测器就不会为这些资源创建安全发现结果。

将专用标记应用于资源后,这些资源会添加到 Security Health Analytics 的许可名单中,并且在下次批量扫描时,这些资源的发现结果会标记为已解决。

专用安全标记必须直接应用于资源,而不是发现结果,如本页面稍后部分许可名单的工作原理中所述。如果您将标记应用于发现结果,则底层资源仍然可以生成发现结果。

许可名单的工作原理

每个 Security Health Analytics 检测器都有一个许可名单的专用标记类型,格式为 allow_FINDING_TYPE:true。通过将此专用标记添加到资源,您可以从检测政策中排除该资源。例如,如需排除发现结果类型 SSL_NOT_ENFORCED,请在相关 Cloud SQL 实例上设置安全标记 allow_ssl_not_enforced:true。指定的检测器不会为已标记资源创建发现结果。

如需查看发现结果类型的完整列表,请参阅本页前面提供的 Security Health Analytics 检测器列表。如需详细了解安全标记及其使用方法,请参阅使用安全标记

资源类型

本部分介绍如何将安全标记用于不同的资源。

  • 许可名单资源:当您向资源(如 Cloud Storage 存储分区或防火墙)添加专用标记时,系统会在下次批量扫描运行时将发现结果标记为已解决。在移除该标记之前,检测器不会为资源生成新的发现结果或更新现有发现结果。

  • 许可名单项目:向项目资源添加标记时,将解决扫描项目或目标资源本身的发现。但是,项目中包含的资源(例如虚拟机或加密密钥)仍然可以生成发现结果。

  • 许可名单文件夹:向文件夹资源添加标记时,将解决扫描文件夹或目标资源本身的发现。但是,包含在文件夹内的资源(包括项目)仍然可以生成发现结果。

  • 支持多个资源的检测器:如果检测器支持多种资源类型,那么您必须为每个资源应用专用标记。例如,检测器 KMS_PUBLIC_KEY 支持两个 Cloud Key Management Service 资源:CryptoKey 和 KeyRing。如果您将 allow_kms_public_key:true 标记应用于 CryptoKey 资源,则该资源的 KMS_PUBLIC_KEY 发现结果将得到解析,但仍会为 KeyRing 资源生成。

安全标记仅在批量扫描期间更新,不支持实时扫描更新。因此,如果移除了某个专用安全标记,而且该资源存在漏洞,且删除该标记并写入发现结果,可能需要最长 24 小时。

特殊案例检测器:客户提供的加密密钥

DISK_CSEK_DISABLED 检测器默认不启用。要使用此检测器,您必须标记要使用自行管理的加密密钥的资源。

如需为特定资源启用 DISK_CSEK_DISABLED 检测器,请将安全标记 enforce_customer_supplied_disk_encryption_keys 应用于值为 true 的资产。

按发现结果类型查看有效的发现结果数量

您可以使用控制台或 Google Cloud CLI 命令按发现结果类型查看有效的发现结果数量。

控制台

借助 Security Health Analytics 信息中心,您可以查看每种发现类型的有效发现结果数量。

如要按发现类型查看 Security Health Analytics 发现结果,请执行以下操作:

  1. 前往控制台中的 Security Command Center。

    前往 Security Command Center

  2. 要显示 Security Health Analytics 的发现结果,请点击漏洞标签页。

  3. 要按每种发现结果类型的有效发现结果数量对发现结果排序,请点击有效列标题。

gcloud

如需使用 gcloud CLI 获取所有有效发现结果的数量,请查询 Security Command Center 以获取 Security Health Analytics 来源 ID。然后使用来源 ID 来查询有效发现结果数量。

第 1 步:获取来源 ID

要完成此步骤,您需要提供您的组织 ID。要获取您的组织 ID,请运行 gcloud organizations list 并记下组织名称旁边的编号。

要获取 Security Health Analytics 来源 ID,请运行:

gcloud scc sources describe organizations/ORGANIZATION_ID \
  --source-display-name='Security Health Analytics'

如果您尚未启用 Security Command Center API,系统会提示您启用它。启用 Security Command Center API 后,再次运行上一个命令。该命令应显示如下输出:

description: Scans for deviations from a GCP security baseline.
displayName: Security Health Analytics
name: organizations/ORGANIZATION_ID/sources/SOURCE_ID

请记下要在下一步中使用的 SOURCE_ID

第 2 步:获取有效的发现结果数量

使用您在上一步中记下的 SOURCE_ID 以过滤来自 Security Health Analytics 的发现结果。以下 gcloud CLI 命令会按类别返回发现结果数:

gcloud scc findings group organizations/ORGANIZATION_ID/sources/SOURCE_ID \
 --group-by=category --page-size=PAGE_SIZE

您可以将页面大小设置为不超过 1000 的任意值。该命令应显示如下所示的输出,其中包含来自特定组织的结果:

groupByResults:
- count: '1'
  properties:
    category: MFA_NOT_ENFORCED
- count: '3'
  properties:
    category: ADMIN_SERVICE_ACCOUNT
- count: '2'
  properties:
    category: API_KEY_APIS_UNRESTRICTED
- count: '1'
  properties:
    category: API_KEY_APPS_UNRESTRICTED
- count: '2'
  properties:
    category: API_KEY_EXISTS
- count: '10'
  properties:
    category: AUDIT_CONFIG_NOT_MONITORED
- count: '10'
  properties:
    category: AUDIT_LOGGING_DISABLED
- count: '1'
  properties:
    category: AUTO_UPGRADE_DISABLED
- count: '10'
  properties:
    category: BUCKET_IAM_NOT_MONITORED
- count: '10'
  properties:
    category: BUCKET_LOGGING_DISABLED
nextPageToken: TOKEN
      readTime: '2019-08-05T21:56:13.862Z'
      totalSize: 50

以编程方式管理发现结果

通过将 Google Cloud CLI 与 Security Command Center SDK 配合使用,您可以自动在 Security Command Center 信息中心内执行任何操作。您还可以使用 gcloud CLI 修复许多发现结果。如需了解详情,请查看每个发现结果中所述资源类型的文档:

扫描受服务边界保护的项目

如果您的服务边界阻止对某些项目和服务的访问,那么您必须向 Security Command Center 服务帐号授予对该服务边界的入站访问权限。否则,Security Health Analytics 将无法生成与受保护项目和服务相关的发现结果。

服务帐号的标识符是具有以下格式的电子邮件地址:

service-org-ORGANIZATION_ID@security-center-api.iam.gserviceaccount.com

ORGANIZATION_ID 替换为组织的数字标识符。

如需向 Security Command Center 服务帐号授予入站访问权限,请按照以下步骤操作。

  1. 转到 VPC Service Controls。

    转到 VPC Service Controls

  2. 在工具栏中,选择您的 Google Cloud 组织。

    项目选择器

  3. 在下拉列表中,选择包含要授予访问权限的服务边界的访问权限政策。

    访问权限政策列表

    与访问权限政策关联的服务边界将显示在列表中。

  4. 点击服务边界的名称。

  5. 点击 修改边界

  6. 在导航菜单中,点击入站流量政策

  7. 点击添加规则

  8. 按如下方式配置规则:

    API 客户端的“来自于”特性

    1. 来源部分,选择所有来源
    2. 身份部分,选择选定的身份
    3. 添加用户/服务帐号字段中,点击选择
    4. 输入服务帐号电子邮件地址。
    5. 点击保存

    GCP 服务/资源的“至”特性

    1. 对于项目,选择所有项目

    2. 对于服务,请选择所有服务

  9. 在导航菜单中,点击保存

Security Health Analytics 需要访问的服务

以下是 Security Health Analytics 调用的服务。如果服务边界限制访问以下任何服务,则 Security Health Analytics 无法生成与这些服务相关的发现结果。

  • BigQuery API
  • Binary Authorization API
  • Cloud Logging API
  • Cloud Monitoring API
  • Compute Engine API
  • Kubernetes Engine API

如需了解详情,请参阅配置入站和出站政策

后续步骤