跳至内容

如何在 Security Hub 中解决安全分数为空或 "0%" 或“无数据”合规状态的问题?

2 分钟阅读
0

我想在 AWS Security Hub CSPM 中查看某个标准的安全分数,但看到 "0%" 或 "-"。或者,有一些控制或所有控制的合规状态显示“无数据”。

简短描述

有多种原因会导致您可能无法在 Security Hub CSPM 中查看某个标准的安全分数或总体分数。在这些情况下,您会看到以下两个指标中的一个或两个:

  • 至少有一个安全分数显示连字符 (-) 或 0%。
  • 在此标准下,任何或所有激活的控制的合规状态为无数据。在这种情况下,安全分数可能无法生成。

由于以下任一原因,Security Hub CSPM 可能无法生成某项控制的数据以及某个标准的分数:

  • Security Hub CSPM 第一次运行控制评估。
  • 您第一次检查标准。
  • AWS 账户是新转换账户,或聚合区域是新配置的区域。
  • 该标准处于 INCOMPLETE 状态。
  • Security Hub CSPM 没有任何关于该控制的有效调查发现。
  • AWS Config 配置记录器的配置不正确。
  • AWS Config 服务角色没有必要的权限。
  • 该控制是新发布的。
  • AWS 区域行为存在差异。

解决方法

**注意:**如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI

等待初始控制评估完成

激活 Security Hub CSPM 或特定安全标准后, Security Hub CSPM 会在 2 小时内运行所有初始检查。大多数检查会在 25 分钟内开始运行。在控制完成第一轮检查之前,其合规状态为无数据

留出时间计算初始安全分数

当您第一次在 Security Hub CSPM 控制台中查看 Summary(摘要)或 Security standards(安全标准)页面时,Security Hub CSPM 会计算标准的初始安全分数。此过程通常需要 30 分钟完成。此时,标准没有分数,其控制的合规状态为无数据

验证账户转换或聚合区域配置

如果您之前看到过安全分数和合规状态,但现在未显示任何数据,这可能是由于新配置的原因。Security Hub CSPM 会为组织的管理员账户生成聚合区域内所有关联的 AWS 区域的分数。

因此,Security Hub CSPM 控制台会将新配置的聚合区域或新转换的账户视为等同于新创建的账户。这包括在独立账户和管理员账户之间转换的账户。在这种情况下,会适用相同的等待期,新的综合分数和合规状态会在 30 分钟内显示。

检查标准是否处于 INCOMPLETE 状态

如果某个特定标准的所有控制均导致出现无数据,则运行 get-enabled-standards AWS CLI 命令来检查该标准的状态是否为 INCOMPLETE:

aws securityhub get-enabled-standards --standards-subscription-arn STANDARDS_SUBSCRIPTION_ARN

**注意:**将 STANDARDS_SUBSCRIPTION_ARN 替换为您的标准订阅的 ARN

当 Security Hub CSPM 无法在标准中创建所有已激活的控制时,就会出现 INCOMPLETE 状态。Security Hub CSPM 大约每 12 小时重试一次处于 INCOMPLETE 状态的标准,直到状态变为 READY。由于以下任一原因,Security Hub CSPM 会继续尝试:

  • 您的账户中未激活配置记录器。
  • 创建控制时,节流或 API 故障等暂时性问题可能会导致标准进入 INCOMPLETE 状态。

要解决此问题,请首先检查配置记录器,确保您已激活并正确配置了配置记录器。然后,停用重新激活安全标准订阅。

验证控制是否有调查发现

如果 Security Hub CSPM 运行超过 2 个小时且控制的合规状态为无数据,则该控制不会有任何调查发现。以下情况是没有调查发现的原因:

  • 在开始生成调查发现之前,新控制的状态为无数据。新激活的控制通常需要 2 个小时生成调查发现,最长可能需要 18 个小时。在控制生成调查发现后,分数最长可能需要 24 小时完成更新。
  • 控制的所有调查发现都被禁止。
  • 控制未生成任何调查发现。当您没有用于控制的资源时,会出现这种情况。

配置 AWS Config 配置记录器

Security Hub CSPM 使用与服务关联的 AWS Config 规则来执行大部分控制安全检查。要支持这些控制,您必须在所有账户上激活 AWS Config。包括已激活 Security Hub CSPM 的每个 AWS 区域的管理员账户和成员账户。

如果激活的控制未生成任何调查发现,请检查位于同一 AWS 区域的配置记录器是否正确配置。要生成必要的调查发现,请配置配置记录器来获取 Security Hub CSPM 所需的资源合规性。

完成以下步骤:

  1. 打开 AWS Config 和配置记录器。将配置记录器配置为使用已激活 Security Hub CSPM 的每个 AWS 区域正确配置的传输通道记录所需的资源类型。
    **注意:**在继续执行步骤 2 之前,请留出时间让配置记录器清点所有清单。要检查状态,请转到 AWS Config 控制台上的 Settings(设置)页面。如果配置记录器仍处于 Taking inventory(正在清点清单)状态,说明传输通道的配置不正确。在这种情况下,重新创建传输通道
  2. 打开 Security Hub CSPM 控制台
  3. 关闭分数没有显示为 0%- 的标准
  4. 等待 20–30 分钟以防止出现任何暂时性问题,然后重新启用安全标准。这会提示 Security Hub CSPM 创建所有必需的 AWS Config 规则。
    **注意:**Security Hub CSPM 只能在您激活标准后的 31 天内创建 AWS Config 规则。

验证 AWS Config 服务角色权限

大多数 Security Hub CSPM 控制都与 AWS Config 规则关联。如果控制返回无数据,AWS Config 可能会使用没有必要权限的服务角色(而不是服务关联角色)

要检查 AWS Config 是否评估了相关规则,请运行以下 describe-config-rule-evaluation-status AWS CLI 命令。

aws configservice describe-config-rule-evaluation-status --config-rule-names my-config-rule

如果服务角色没有评估规则所需的必要权限,您会看到输出信息,其中包含提供其他信息的错误消息。例如,您会看到一条消息,如需要额外权限

检查控制是否为最近发布

如果 AWS 在最近启动了一组控制,这些控制在一段时间内会没有分数。如果分数评估在控制发布时启动,下一次成功的分数评估最长可能需要 24 小时完成。

有关 Security Hub CSPM 的最新更新,请参阅 AWS Security Hub 用户指南文档历史记录

查看控制的区域行为

在某些情况下,由于存在区域差异,标准会显示无数据

某些标准(如 CIS 2.3 和 CIS 2.6)有时会显示无数据。当 AWS CloudTrail 将日志聚合并存储在单个集中式 Amazon Simple Storage Service (Amazon S3) 存储桶中时,会发生此情况。在这种情况下,Security Hub CSPM 只会对集中式 Amazon S3 存储桶所在的账户和 AWS 区域进行检查。因此,数据仅在集中式 S3 存储桶所在的位置可用,控制将在其他区域显示无数据

对于几乎所有的 CIS 3.1-3.14 ** 和 CIS 1.1 控制,Security Hub CSPM 会在以下情况下检查控制状态为无数据**的结果。如果多区域跟踪位于另一个区域,则 Security Hub CSPM 只能在该跟踪所在的区域生成调查发现。如果多区域跟踪属于另一个账户,则 Security Hub CSPM 只能为拥有该跟踪的账户生成调查发现。Security Hub CSPM 不支持特定区域的控制。只有当您激活聚合区域(跨区域或跨账户)时,这些控制才会在不支持的区域中列出。要检查特定区域是否支持控制,请参阅按区域划分的控制可用性

AWS 官方已更新 9 个月前