CISAmazon 基金会基准控制 - Amazon Security Hub
1.1 — 避免使用根用户1.2 — 确保为具有控制台密码的所有 IAM 用户启用多重验证 (MFA) 1.3 — 确保禁用 90 天或更长时间未使用的证书1.4 — 确保每隔 90 天或更短时间轮换一次访问密钥 1.5 — 确保 IAM 密码策略要求至少一个大写字母1.6 — 确保 IAM 密码策略要求至少一个小写字母1.7 — 确保 IAM 密码策略要求至少一个符号1.8 — 确保 IAM 密码策略要求至少一个数字1.9 — 确保 IAM 密码策略要求的最小长度为 14 或更长1.10 — 确保 IAM 密码策略防止密码重复使用1.11 — 确保 IAM 密码策略在 90 天或更短时间内使密码过期1.12 — 确保不存在根用户访问密钥1.13 — 确保为根用户启用 MFA 1.14 — 确保为根用户启用硬件 MFA 1.16 — 确保 IAM 策略仅附加到群组或角色1.20 - 确保已创建支持角色来管理与 Amazon Support 相关的事件 1.22 — 确保未创建允许完全 “*: *” 管理权限的 IAM 策略 2.1 — 确保 CloudTrail 在所有区域均已启用2.2 — 确保启用 CloudTrail 日志文件验证 2.3 — 确保上传到的 S3 存储桶 CloudTrail 日志不可公开访问2.4 — 确保 CloudTrail 跟踪与亚马逊 CloudWatch 日志集成2.5 — 确保Amazon Config已启用2.6 — 确保在 S3 存储桶上启用 CloudTrail S3 存储区访问日志记录 2.7 — 确保使用静态加密 CloudTrail 日志Amazon KMS keys2.8 — 确保启用客户创建的 KMS 密钥的轮换2.9 — 确保在所有 VPC 中启用 VPC 流量记录 3.1 — 确保针对未授权的 API 调用存在日志指标筛选条件和警报 3.2 — 确保在没有 MFA 的情况下Amazon Web Services Management Console登录时存在日志指标筛选条件和警报 3.3 — 确保存在使用根用户的日志指标筛选条件和警报 3.4 — 确保存在针对 IAM 策略更改的日志指标筛选条件和警报 3.5 — 确保存在日志指标筛选条件和 CloudTrail 配置更改警报 3.6 — 确保存在日志指标筛选条件和Amazon Web Services Management Console身份验证失败警报 3.7 — 确保存在禁用或计划删除客户管理密钥的日志指标筛选器和警报 3.8 — 确保存在针对 S3 存储桶策略更改的日志指标筛选条件和警报3.9 — 确保存在日志指标筛选条件和Amazon Config配置更改警报 3.10 — 确保存在日志指标筛选条件和安全组更改警报 3.11 — 确保存在网络访问控制列表 (NACL) 更改的日志指标筛选器和警报3.12 — 确保存在日志指标筛选条件和网络网关变更警报 3.13 — 确保存在路由表更改的日志指标筛选条件和警报 3.14 — 确保 VPC 更改存在日志指标筛选条件和警报 4.1 — 确保没有安全组允许从 0.0.0.0.0.0.0.0.0 进入端口 22 4.2 — 确保没有安全组允许从 0.0.0.0.0.0.0.0.0 进入端口 3389 4.3 — 确保每个 VPC 的默认安全组限制所有流量
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

CISAmazon 基金会基准控制

对于 CISAmazon 基础标准,Security Hub 支持以下控件。对于每个控制,该信息包括所需的 Amazon Config 规则和修复步骤。

1.1 — 避免使用根用户

严重性:

Amazon Config规则:无(自定义Security Hub 规则)

时间表类型:定期

根Amazon账户中的所有服务和资源具有不受限制的访问权限。我们强烈建议您避免使用 root 用户执行日常任务。尽量减少 root 用户的使用并采用最小权限原则进行访问管理,可降低意外更改和意外泄露高权限凭证的风险。

作为最佳做法,请仅在需要时使用 root 用户凭证访问。将 IAM 策略直接应用于群组和角色,但不适用于用户。有关如何设置管理员以供日常使用的教程,请参阅 IAM 用户指南中的创建您的第一个 IAM 管理员用户和群组

为了运行此检查,Security Hub 使用自定义逻辑来执行 CISAmazon Foundations Benchmark v1.2 中为控制 3.3 规定的确切审计步骤。如果不使用 CIS 规定的确切度量筛选条件,则此控制将会失败。不能向指标筛选条件中添加附加其他字段或搜索词。

注意

当 Security Hub 对此控件执行检查时,它会查找当前账户使用的 CloudTrail 跟踪。这些跟踪可能是属于另一个账户的组织跟踪。多区域路线也可能位于不同的区域。

在以下情况下,检查FAILED结果是不明的:

  • 未配置任何跟踪。

  • 当前区域内且由往来账户拥有的可用跟踪不符合控制要求。

在以下情况下,检查会导致控制状态为:NO_DATA

  • 多区域路线位于不同的区域。Security Hub 只能在跟踪所在的区域生成调查结果。

  • 多区域跟踪属于不同的账户。Security Hub 只能为拥有跟踪的账户生成调查结果。

对于警报,当前账户必须拥有引用的 Amazon SNS 主题,或者必须通过调用获得对 Amazon SNS 主题的访问权限ListSubscriptionsByTopic。否则,Security Hub 会生成控件的WARNING调查结果。

修复

修复此问题的步骤包括设置 Amazon SNS 主题、 CloudTrail跟踪、指标筛选条件和指标筛选条件警报。

创建 Amazon SNS 主题
  1. 通过以下网址打开 Amazon SNS 控制台:https://console.aws.amazon.com/sns/v3/home

  2. 创建 Amazon SNS 主题接收所有 CIAmazon SNS 主题。

    为该主题创建至少一个订阅者。有关更多信息,请参阅 Amazon Simple Notification Service 开发人员指南中的 Amazon SNS 入门

接下来,设置适用于所有地区的活动 CloudTrail 。为此,请按照2.1 — 确保 CloudTrail 在所有区域均已启用中的修复步骤进行操作。

记下与 CloudTrail 跟踪关联的 CloudWatch 日志日志组的名称。您可以为该日志组创建指标筛选条件。

最后,创建指标筛选条件和警报。

创建指标筛选条件和警报
  1. 通过 https://console.aws.amazon.com/cloudwatch/ 打开 CloudWatch 控制台。

  2. 在导航窗格中,选择 Log groups(日志组)

  3. 选中与您创建的 CloudTrail 跟踪关联的 CloudWatch 日志日志组对应的复选框。

  4. 操作中,选择创建指标筛选条件

  5. 定义模式下,执行以下操作:

    1. 复制以下模式,然后将其粘贴到 Filter Pattern (筛选条件模式) 字段中。

      {$.userIdentity.type="Root" && $.userIdentity.invokedBy NOT EXISTS && $.eventType !="AwsServiceEvent"}
    2. 选择 Next(下一步)

  6. 分配指标下,执行以下操作:

    1. 筛选条件名称中,输入指标筛选条件的名称。

    2. 对于指标命名空间,输入LogMetrics

      如果您对所有 CIS 日志指标筛选器使用相同的命名空间,则所有 CIS Benchmark 指标将组合在一起。

    3. 对于 M etric nam e(指标名称),为其输入指标名称。记住指标的名称。您需要在创建警报时选择指标s。

    4. 对于 Metric value(指标值),输入 1

    5. 选择 Next(下一步)

  7. 在 “查看并创建” 下,验证您为新指标筛选条件提供的信息。然后,选择创建指标筛选条件

  8. 在导航窗格中,选择日志组,然后选择您在指标筛选器下创建的筛选条件

  9. 选中筛选的复选框。选择Create alarm(创建警报)

  10. 在 C onget (指定指标和条件) 下,执行以下操作:

    1. 在 “条件” 下,为 “阈值” 选择静态

    2. 对于 “定义警报条件”,选择 “大于/等于”。

    3. 定义阈值中,输入1

    4. 选择 Next(下一步)

  11. 配置操作下,执行以下操作:

    1. 在 “警报状态触发器” 下,选择 “警报中”。

    2. Select an SNS topic (选择 SNS 主题) 下,选择 Select an existing SNS topic (选择现有的 SNS 主题)

    3. 对于 Sname(向发送通知),输入您在上一流程中创建的 SNS 主题名称。

    4. 选择 Next(下一步)

  12. 添加名称和描述下,输入警报的名称描述,例如CIS-1.1-RootAccountUsage。然后选择下一步

  13. 在 “预览并创建” 下,查看警报配置。然后选择 Create alarm (创建警报)

1.2 — 确保为具有控制台密码的所有 IAM 用户启用多重验证 (MFA)

严重性:

Amazon Config 规则:mfa-enabled-for-iam-console-access

时间表类型:定期

多重身份验证 (MFA) 在用户名和密码之上增加了一层额外的防护。启用 MFA 后,当用户登录 Amazon 网站时,系统会提示他们输入用户名和密码以及 Amazon MFA 设备的验证码。

CIS 建议您为所有拥有控制台密码的账户启用 MFA。MFA 为控制台访问提供更高的安全保护。它要求身份验证负责人拥有一台发出时间敏感密钥的设备并知道证书。

重要

用于该检查的 Amazon Config 规则最多可能需要 4 个小时才能准确报告 MFA 的结果。在启用 CIS 安全检查后的前 4 小时内生成的任何发现都可能不准确。修复此问题后,最多可能需要 4 个小时才能通过检查。

注意

Amazon Config应在您使用 Security Security Hub p 的所有区域中启用。但是,可以在单个区域中启用全局资源记录。如果您仅在一个区域中记录全局资源,则可以在所有区域(记录全局资源的区域除外)中禁用此控件。

修复

要为 IAM 用户添加 MFA,请参阅 IA M 用户指南Amazon中的使用多重身份验证 (MFA)

1.3 — 确保禁用 90 天或更长时间未使用的证书

严重性:

Amazon Config 规则:iam-user-unused-credentials-check

时间表类型:定期

IAM 用户可以使用不同类型的证书(例如密码或访问密钥)访问Amazon资源。

CIS 建议您删除或停用在 90 天或更长时间内未使用的所有证书。禁用或删除不必要的凭证可减少他人使用遭盗用账户或已弃用账户的关联凭证的风险。

此控件的 Amazon Config 规则使用 GetCredentialReportGenerateCredentialReport API 操作,这些操作每四小时才更新一次。对 IAM 用户所做的更改最多可能需要四个小时才能被该控件看到。

注意

Amazon Config应在您使用 Security Security Hub p 的所有区域中启用。但是,可以在单个区域中启用全局资源记录。如果您仅在一个区域中记录全局资源,则可以在所有区域(记录全局资源的区域除外)中禁用此控件。

修复

要获取监控账户是否有过期证书所需的一些信息,请使用 IAM 控制台。例如,当您查看账户中的用户时,会显示 Access key age (访问密钥使用期限)Password age (密码使用期限)Last activity (上次活动时间)。如果上述列中的任何一个中的值大于 90 天,请停用这些用户的凭证。

您还可以使用凭证报告来监控用户账户和识别 90 天或更长时间没有活动的账户。您可以从 IAM 控制台下载 .csv 格式的证书报告。有关凭证报告的更多信息,请参阅获取您 Amazon 账户的凭证报告

确定非活动账户或未使用的凭证后,请使用以下步骤禁用它们。

  1. 通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 选择 Users(用户)。

  3. 选择凭证超过 90 天的用户的名称。

  4. 选择 Security credentials (安全凭证),然后为 90 天或更长时间未使用的所有登录凭证和访问密钥选择转为非活跃

1.4 — 确保每隔 90 天或更短时间轮换一次访问密钥

严重性:

Amazon Config 规则:access-keys-rotated

时间表类型:定期

访问密钥包含访问密钥 ID 和秘密访问密钥,用于签署对发出的编程请求Amazon。 Amazon用户需要自己的访问密钥才能Amazon从Amazon Command Line Interface (Amazon CLI)、Windows 工具、Amazon SDK 进行编程调用 PowerShell,或者使用单个Amazon服务的 API 进行直接 HTTP 调用。

定期轮换访问密钥时,可以减少使用与泄漏或终止账户相关的访问密钥的可能性。轮换访问密钥以确保无法使用可能已丢失、遭破解或被盗用的旧密钥访问数据。

注意

非洲(开普敦)或欧洲(米兰)不支持此控件。

Amazon Config应在您使用 Security Security Hub p 的所有区域中启用。但是,可以在单个区域中启用全局资源记录。如果您仅在一个区域中记录全局资源,则可以在所有区域(记录全局资源的区域除外)中禁用此控件。

修复

确保访问密钥的使用时长不超过 90 天
  1. 通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 选择 Users(用户)。

  3. 对于显示 Access key age (访问密钥使用期限) 超出 90 天的每个用户,选择用户名来打开该用户的设置。

  4. 选择 Security credentials (安全凭证)

  5. 为用户创建新的密钥:

    1. 选择创建访问密钥

    2. 要保存密钥内容,请下载秘密访问密钥,或者选择 Show (显示),然后从页面中复制该密钥。

    3. 将密钥存储在安全位置以提供给用户。

    4. 选择 Close(关闭)。

  6. 更新使用上一个密钥的所有应用程序以使用新密钥。

  7. 对于上一个密钥,请选择 Make inactive (转为非活跃) 来使访问密钥转为非活动状态。现在,用户无法使用该密钥发出请求。

  8. 确认使用新密钥的所有应用程序都能按预期工作。

  9. 确认所有应用程序都使用新密钥后,删除以前的密钥。访问密钥一经删除,就无法恢复。

    要删除上一个密钥,请在行末尾选择 X,然后选择 Delete (删除)

1.5 — 确保 IAM 密码策略要求至少一个大写字母

严重性:

Amazon Config 规则:iam-password-policy

时间表类型:定期

密码策略在某种程度上强制实施密码复杂性要求。使用 IAM 密码策略确保密码使用不同的字符集。

CIS 建议密码策略至少要求一个大写字母。设置密码复杂性策略可提高账户抵抗暴力登录尝试的弹性。

修复

修改密码策略
  1. 通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 选择 Account settings (账户设置)

  3. 选择至少需要一个大写字母,然后选择 Apply password policy (应用密码策略)

1.6 — 确保 IAM 密码策略要求至少一个小写字母

严重性:

Amazon Config 规则:iam-password-policy

时间表类型:定期

密码策略在某种程度上强制实施密码复杂性要求。使用 IAM 密码策略确保密码使用不同的字符集。CIS 建议密码策略至少要求一个小写字母。设置密码复杂性策略可提高账户抵抗暴力登录尝试的弹性。

修复

修改密码策略
  1. 通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 选择 Account settings (账户设置)

  3. 选择 至少需要一个小写字母 (Requires at least one lowercase letter),然后选择 Apply password policy (应用密码策略)

1.7 — 确保 IAM 密码策略要求至少一个符号

严重性:

Amazon Config 规则:iam-password-policy

时间表类型:定期

密码策略在某种程度上强制实施密码复杂性要求。使用 IAM 密码策略确保密码使用不同的字符集。

CIS 建议密码策略至少要求一个符号。设置密码复杂性策略可提高账户抵抗暴力登录尝试的弹性。

修复

修改密码策略
  1. 通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 选择 Account settings (账户设置)

  3. 选择 Require at least one non-alphanumeric character (至少需要一个非字母数字字符),然后选择 Apply password policy (应用密码策略)

1.8 — 确保 IAM 密码策略要求至少一个数字

严重性:

Amazon Config 规则:iam-password-policy

时间表类型:定期

密码策略在某种程度上强制实施密码复杂性要求。使用 IAM 密码策略确保密码使用不同的字符集。

CIS 建议密码策略至少要求一个数字。设置密码复杂性策略可提高账户抵抗暴力登录尝试的弹性。

修复

修改密码策略
  1. 通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 选择 Account settings (账户设置)

  3. 选择 Requires at least one number (至少需要一个数字),然后选择 Apply password policy (应用密码策略)

1.9 — 确保 IAM 密码策略要求的最小长度为 14 或更长

严重性:

Amazon Config 规则:iam-password-policy

时间表类型:定期

密码策略在某种程度上强制实施密码复杂性要求。使用 IAM 密码策略确保密码的长度至少为给定长度。

CIS 建议密码策略要求最小密码长度为 14 个字符。设置密码复杂性策略可提高账户抵抗暴力登录尝试的弹性。

修复

修改密码策略
  1. 通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 选择 Account settings (账户设置)

  3. 最短密码长度 (Minimum password length)字段中,输入 14,然后选择 Apply password policy (应用密码策略)

1.10 — 确保 IAM 密码策略防止密码重复使用

严重性:

Amazon Config 规则:iam-password-policy

时间表类型:定期

此控件检查要记住的密码数量是否设置为 24。如果值不是 24,则控制失败。

IAM 密码策略可以防止同一个用户重复使用给定密码。

CIS 建议密码策略防止重复使用密码。阻止重复使用密码可提高账户抵抗暴力登录尝试的弹性。

修复

修改密码策略
  1. 通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 选择 Account settings (账户设置)

  3. 选择 “防止重复使用密码”,然后输入24要记住的密码数量”。

  4. 选择 Apply password policy (应用密码策略)

1.11 — 确保 IAM 密码策略在 90 天或更短时间内使密码过期

严重性:

Amazon Config 规则:iam-password-policy

时间表类型:定期

IAM 密码策略可以要求密码在给定天数后轮换或过期。

CIS 建议密码策略在 90 天或更短时间后过期。缩短密码生存期可提高账户抵抗暴力登录尝试的弹性。在以下情况下,要求定期更改密码也是非常有用的:

  • 密码可能会在您不知情的情况下被窃取或泄露。系统遭受攻击、软件漏洞或内部威胁都可能导致发生这种情况。

  • 某些公司和政府的 Web 过滤器或代理服务器能够拦截和记录流量(即使流量已加密)。

  • 很多用户对于许多系统(例如工作系统、电子邮件和个人系统)都使用相同的密码。

  • 遭受攻击的最终用户工作站可能存在击键记录器。

修复

修改密码策略
  1. 通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 选择 Account settings (账户设置)

  3. 选择 “启用密码过期时间”,然后输入 “密码有效期(以天90为单位)”。

  4. 选择 Apply password policy (应用密码策略)

1.12 — 确保不存在根用户访问密钥

严重性:重大

Amazon Config 规则:iam-root-access-key-check

时间表类型:定期

根账户具有对Amazon账户中所有服务和资源的完全访问权限。 Amazon访问密钥提供对给定账户的编程访问权限。

CIS 建议删除所有与 root 用户关联的访问密钥。移除与 root 用户关联的访问密钥限制了账户可能被入侵的矢量。移除 root 用户访问密钥还会鼓励创建和使用权限最低的基于角色的账户。

注意

亚太地区(大阪)不支持此控件。

修复

要删除根用户访问密钥,请参阅 IAM 用户指南中的删除根用户的访问密钥。

1.13 — 确保为根用户启用 MFA

严重性:重大

Amazon Config 规则:root-account-mfa-enabled

时间表类型:定期

根账户具有对Amazon账户中所有服务和资源的完全访问权限。MFA 在用户名和密码之上增加了一层额外的防护。启用 MFA 后,当用户登录 Amazon 网站时,系统会提示他们输入用户名和密码以及 Amazon MFA 设备的验证码。

当您为 root 用户使用虚拟 MFA 时,CIS 建议使用的设备不是个人设备。请改用与任何个人设备分开付费和保护的专用移动设备(平板电脑或手机)。这可降低因设备丢失、设备换购或拥有设备的个人离开公司而导致无法访问 MFA 的风险。

注意

以下区域不支持此控制。

  • China (Beijing)

  • China (Ningxia)

  • Amazon GovCloud (美国东部)

  • Amazon GovCloud (美国西部)。

修复

要将 MFA 添加到根用户,请参阅 IAM 用户指南中的在中使用 Multi-Factor AuthAmazon entication (MFA)

1.14 — 确保为根用户启用硬件 MFA

严重性:重大

Amazon Config 规则:root-account-hardware-mfa-enabled

时间表类型:定期

根账户具有对Amazon账户中所有服务和资源的完全访问权限。MFA 在用户名和密码之上增加了一层额外的防护。启用 MFA 后,当用户登录 Amazon 网站时,系统会提示他们输入用户名和密码以及 Amazon MFA 设备的验证码。

对于级别 2,CIS 建议您使用硬件 MFA 保护根用户证书。硬件 MFA 的攻击面小于虚拟 MFA。例如,硬件 MFA 不受虚拟 MFA 所在的移动智能手机引入的攻击面影响。

对大量账户使用硬件 MFA 可能会产生物流设备管理问题。如果发生这种情况,请考虑有选择性地对安全性最高的账户实施此第 2 级别的建议。然后,您可以将第 1 级别的建议应用于其余账户。

基于时间的一次性密码 (TOTP) 和通用第二要素 (U2F) 令牌均可作为硬件 MFA 选项。

注意

以下区域不支持此控制。

  • China (Beijing)

  • China (Ningxia)

  • Amazon GovCloud (美国东部)

  • Amazon GovCloud (美国西部)。

修复

要为根用户添加硬件 MFA 设备,请参阅 IAM 用户指南中的为Amazon账户根用户启用硬件 MFA 设备(控制台)

1.16 — 确保 IAM 策略仅附加到群组或角色

严重性:

Amazon Config 规则:iam-user-no-policies-check

时间表类型:触触触触更改

默认情况下,IAM 用户、组和角色没有对Amazon资源的访问权限。IAM policy 是向用户、组或角色授予权限的方式。

CIS 建议您将 IAM 策略直接应用于群组和角色,但不适用于用户。随着用户数量的增长,在组或角色级别分配权限可降低访问管理的复杂性。降低访问管理的复杂性有助于减少委托人意外收到或保留过多权限的机会。

注意

由亚马逊简单电子邮件服务创建的 IAM 用户是使用内联策略自动创建的。Security Hub 会自动免除这些用户的此控制。

Amazon Config应在您使用 Security Security Hub p 的所有区域中启用。但是,可以在单个区域中启用全局资源记录。如果您仅在一个区域中记录全局资源,则可以在所有区域(记录全局资源的区域除外)中禁用此控件。

修复

要解决此问题,请创建 IAM 群组并将策略附加到该群组。然后,将用户添加到群组中。策略将应用于组中的每一位用户。要删除直接附加到用户的策略,请参阅 IAM 用户指南中的添加和删除 IAM 身份权限

1.20 - 确保已创建支持角色来管理与 Amazon Support 相关的事件

严重性:

Amazon Config 规则:iam-policy-in-use

时间表类型:定期

Amazon 提供了可用于事件通知和响应的支持中心,以及技术支持和客户服务。

创建 IAM 角色以允许授权用户通过 SupportAmazon 管理事件。通过实现访问控制的最小权限,IAM 角色将需要适当的 IAM 策略来允许Support 中心访问,以便管理Amazon支持人员的事件。

注意

以下区域不支持此控制。

  • 非洲(开普敦)

  • 亚太地区(大阪)

  • 欧洲(米兰)

修复

要纠正此问题,请创建一个角色以允许授权用户管理 Amazon Support 事件。

创建要用于 Amazon Support 访问的角色
  1. 通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 在 IAM 导航窗格中,选择角色,然后选择创建角色

  3. 对于 “角色类型”,选择 “其他Amazon账户”。

  4. 对于 Account ID (账户 ID),输入您希望向其授予对资源的访问权限的 Amazon 账户的 Amazon 账户 ID。

    如果将代入此角色的用户或组位于同一账户中,则输入本地账户号码。

    注意

    指定账户的管理员可向该账户中的任何 IAM 用户授予担任该角色的权限。为此,管理员需要将策略附加到用户或组来授予 sts:AssumeRole 操作的权限。在该策略中,资源必须是角色 ARN。

  5. 选择 Next:。Permissions (下一步:权限)

  6. 搜索托管策略 AWSSupportAccess

  7. 选中 AWSSupportAccess 托管策略的复选框。

  8. 选择 Next:。标签

  9. (可选)要向角色添加元数据,请以键值对的形式附加标签。

    有关在 IAM 中使用标签的更多信息,请参阅《IAM 用户指南》中的标记 IAM 用户和角色

  10. 选择 Next:。审核

  11. 对于 Role name (角色名称),为您的角色输入一个名称。

    角色名称在您的 Amazon 账户内必须是唯一的。它们不区分大小写。

  12. (可选)对于 Role description (角色描述),输入新角色的描述。

  13. 检查该角色,然后选择Create role (创建角色)

1.22 — 确保未创建允许完全 “*: *” 管理权限的 IAM 策略

严重性:

Amazon Config 规则:iam-policy-no-statements-with-admin-access

时间表类型:触触触触更改

此控件通过添加带"Effect": "Allow"有 over 的语句来检查默认版本的 IAM 策略(也称为客户托管策略)是否具有管理员访问权限"Resource": "*""Action": "*"如果您的 IAM 策略包含此类语句,则控制会失败。

该控制仅检查您创建的客户托管策略。它不检查内联和Amazon托管策略。

IAM 策略定义了授予用户、群组或角色的一组权限。建议遵循标准安全建议来授予最小权限,即仅授予执行任务所需的权限。首先,确定用户需要执行的任务,然后,拟定仅限用户执行这些任务的策略,而不是允许完全管理权限。

应先尽量授予一组具有最小许可的许可,然后根据需要授予额外许可,而不应先授予过于宽松的许可,而后再试图收紧。提供完全管理权限而不是限制用户执行任务所需的最小权限集会将资源暴露给可能有害的操作。

您应该删除带"Effect": "Allow"有 over 语句的 IAM 策略"Resource": "*""Action": "*"

注意

Amazon Config应在您使用 Security Security Hub p 的所有区域中启用。但是,可以在单个区域中启用全局资源记录。如果您仅在一个区域中记录全局资源,则可以在所有区域(记录全局资源的区域除外)中禁用此控件。

修复

要修改您的 IAM 策略使其不允许完整的 “*” 管理权限,请参阅 IAM 用户指南中的编辑 IAM 策略

2.1 — 确保 CloudTrail 在所有区域均已启用

严重性:

Amazon Config 规则:multi-region-cloudtrail-enabled

时间表类型:定期

此控件检查是否存在至少一条多区域 CloudTrail 跟踪。它还会检查其中至少一条跟踪的ExcludeManagementEventSources参数是否为空。

CloudTrail 是一项服务,用于记录您的账户Amazon的 API 调用并将日志文件传送给您。记录的信息包括 API 调用者的身份、API 调用的时间、API 调用方的源 IP 地址、请求参数和Amazon服务返回的响应元素。 CloudTrail 提供账户的Amazon API 调用历史记录,包括通过、Amazon SDKAmazon Web Services Management Console、命令行工具和更高级别的Amazon服务(例如Amazon CloudFormation)进行的 API 调用。

生成的Amazon API 调用历史记录 CloudTrail 支持安全分析、资源变更跟踪和合规性审计。此外:

  • 确保存在多区域跟踪可确保检测到在其他未使用区域中发生的意外活动

  • 确保存在多区域跟踪可确保默认情况下为跟踪启用全局服务日志记录,以捕获在 Amazon 全局服务上生成的事件的记录

  • 对于多区域跟踪,确保为所有类型的读取/写入配置管理事件可确保记录对 Amazon 账户中的所有资源执行的管理操作

默认情况下,使用创建的 CloudTrail 跟踪Amazon Web Services Management Console是多区域跟踪。

修复

要在中创建新路线 CloudTrail
  1. 登录Amazon Web Services Management Console并通过 https://console.aws.amazon.com/cloudtrail/ 打开主 CloudTrail 机。

  2. 如果您 CloudTrail 之前没有使用过,请选择 “立即开始”。

  3. 选择 Trails (跟踪),然后选择 Create trail (创建跟踪)

  4. 输入跟踪的名称。

  5. Storage location (存储位置) 下,执行下列操作之一:

    • 要为 CloudTrail 日志创建新的 S3 存储桶,请选择创建新的 S3 存储桶,然后输入存储桶的名称。

    • 选择使用现有 S3 存储桶,然后选择要使用的存储桶。

  6. 选择 “其他设置”,然后在 “日志文件验证” 中选择 “启用” 即可通过2.2 — 确保启用 CloudTrail 日志文件验证

  7. 要通过2.4 — 确保 CloudTrail 跟踪与亚马逊 CloudWatch 日志集成,必须启用 CloudWatch 日志。

    1. 在 “ CloudWatch 日志” 下,选中 “启用” 复选框。

    2. 对于日志组,请执行以下操作之一:

      • 要使用现有的日志组,请选择 Exi st ing(现有),然后输入要使用的日志组的名称。

      • 要创建新的日志组,请选择 New(新建),然后输入要创建的日志组的名称。

    3. 对于 IAM role (IAM 角色),执行以下操作之一:

      • 要使用现有角色,请选择 Exi st ing(现有),然后从下拉列表中选择角色。

      • 要创建新角色,请选择建,然后输入要创建的角色的名称。将为新角色分配一个策略以授予所需的权限。

        要查看授予该角色的权限,请展开策略文档

  8. 选择 Create(创建)

要在中更新现有跟踪,请执行以下操作 CloudTrail
  1. 登录Amazon Web Services Management Console并通过 https://console.aws.amazon.com/cloudtrail/ 打开主 CloudTrail 机。

  2. 选择 Trails (跟踪)

  3. Name (名称) 列中选择跟踪的名称。

  4. 根据需要更新跟踪配置。

    要更新特定部分中的配置,请执行以下操作:

    1. 为该分区选择 “编辑”。

    2. 对配置进行必要的更新。

    3. 选择 Save changes(保存更改)。

2.2 — 确保启用 CloudTrail 日志文件验证

严重性:

Amazon Config 规则:cloud-trail-log-file-validation-enabled

时间表类型:定期

CloudTrail 日志文件验证会创建一个数字签名的摘要文件,其中包含 CloudTrail 写入 S3 的每个日志的哈希值。您可以使用这些摘要文件来确定日志文件在 CloudTrail 提交后是否已更改、删除或未更改,可以确定日志文件是否已更改、删除或未更改。

CIS 建议您在所有路径上启用文件验证。启用日志文件验证可对 CloudTrail 日志进行额外的完整性检查。

修复

启用 CloudTrail 日志文件验证
  1. 通过 https://console.aws.amazon.com/cloudtrail/ 打开 CloudTrail 控制台。

  2. 选择 Trails (跟踪)

  3. Name (名称) 列中选择要编辑的跟踪的名称。

  4. 在 “常规详细信息” 下,选择 “编辑”

  5. “其他设置” 下,对于 “日志文件验证”,选择 “启用”。

  6. 选择 Save(保存)。

2.3 — 确保上传到的 S3 存储桶 CloudTrail 日志不可公开访问

严重性:重大

Amazon Config规则:无(自定义Security Hub 规则)

时间表类型:定期触发,变更触发

CloudTrail 记录您账户中每次 API 调用的记录。这些日志文件存储在 S3 存储桶中。CIS 建议将 S3 存储桶策略或访问控制列表 (ACL) 应用于 CloudTrail 记录的 S3 存储桶,以防止公众访问 CloudTrail 日志。允许公众访问 CloudTrail 日志内容可能有助于攻击者识别受影响账户的使用或配置中的弱点。

要运行此检查,Security Hub 首先使用自定义逻辑来查找存储 CloudTrail 日志的 S3 存储桶。然后,它使用 Amazon Config 托管规则检查是否可公开访问存储桶。

如果您将日志聚合到单个集中式 S3 存储桶中,则 Security Hub 仅对集中式 S3 存储桶所在的账户和区域运行检查。对于其他账户和区域,控制状态为无数据

如果存储桶可以公开访问,则检查会生成一个失败的调查结果。

修复

删除对于 Amazon S3 存储桶的公有访问权限
  1. 通过以下网址打开 Simple Storage Service(Amazon S3)控制台:https://console.aws.amazon.com/s3/

  2. 请选择存放您的 CloudTrail 存储桶的存储桶存储桶存储桶存储桶存储桶存储桶存储桶存储

  3. 选择 Permissions (权限),然后选择 Public access settings (公有访问权限) 设置。

  4. 选择 Edit (编辑),选择所有四个选项,然后选择 Save (保存)

  5. 如果出现提示,输入 confirm,然后选择 Confirm (确认)

2.4 — 确保 CloudTrail 跟踪与亚马逊 CloudWatch 日志集成

严重性:

Amazon Config 规则:cloud-trail-cloud-watch-logs-enabled

时间表类型:定期

CloudTrail 是一项 Web 服务,Amazon用于记录在给定账户中进行的 API 调用。记录的信息包括 API 调用者的身份、API 调用的时间、API 调用者的源 IP 地址、请求参数以及 Amazon 服务返回的响应元素。

CloudTrail 使用 Amazon S3 进行日志文件存储和传输,因此日志文件可以持久存储。除了在指定的 Amazon S3 存储桶中捕获 CloudTrail 日志以进行长期分析外,您还可以通过配置将日志发送 CloudTrail 到 CloudWatch 日志来执行实时分析。

对于在账户的所有区域中启用的跟踪, CloudTrail 将来自所有这些区域的日志文件发送到 CloudWatch 日志日志组。

CIS 建议您将 CloudTrail 日志发送到 CloudWatch 日志。

注意

本建议的目的是确保账户活动得到捕获、监控和适当的警报。 CloudWatch 日志是使用Amazon服务实现此目的的本机方法,但不排除使用替代解决方案。

将 CloudTrail 日志发送到 CloudWatch 日志有助于根据用户、API、资源和 IP 地址记录实时和历史活动。它提供了为异常或敏感账户活动建立警报和通知的机会。

修复

确保 CloudTrail 跟踪与 CloudWatch 日志集成
  1. 通过 https://console.aws.amazon.com/cloudtrail/ 打开 CloudTrail 控制台。

  2. 选择 Trails (跟踪)

  3. 在 “日志CloudWatch日志” 组列中选择没有值的跟踪。

  4. 向下滚动到 “日CloudWatch 志” 部分,然后选择 “编辑”

  5. 选中 Enabled (启用) 复选框。

  6. 对于日志组,请执行以下操作之一:

    • 要使用现有的日志组,请选择 Exi st ing(现有),然后输入要使用的日志组的名称。

    • 要创建新的日志组,请选择 New(新建),然后输入要创建的日志组的名称。

  7. 对于 IAM role (IAM 角色),执行以下操作之一:

    • 要使用现有角色,请选择 Exi st ing(现有),然后从下拉列表中选择角色。

    • 要创建新角色,请选择建,然后输入要创建的角色的名称。将为新角色分配一个策略以授予所需的权限。

      要查看授予该角色的权限,请展开策略文档

  8. 选择 Save changes(保存更改)。

有关更多信息,请参阅Amazon CloudTrail用户指南》中的使用控制台配置 CloudWatch 日志监控

2.5 — 确保Amazon Config已启用

严重性:

Amazon Config规则:无(自定义Security Hub 规则)

时间表类型:定期

Amazon Config 是一种 Web 服务,可对您账户中支持的 Amazon 资源执行配置管理,并为您提供日志文件。记录的信息包括配置项(Amazon 资源)、配置项之间的关系(Amazon 资源)以及资源之间的任何配置更改。

CIS 建议您在所有区域Amazon Config中启用。Amazon Config 捕获的 Amazon 配置项历史记录可用于安全分析、资源更改跟踪和合规性审计。

注意

CIS 2.5 要求Amazon Config在您使用Security Hub 的所有区域中启用该功能。

由于 Security Hub 是一项区域服务,因此对此控制执行的检查仅检查该账户的当前区域。它不会检查所有区域。

您还必须记录全局资源,以便能在每个区域中检查针对全局资源的安全检查。如果您仅在一个区域中记录全局资源,则可以在所有区域(记录全局资源的区域除外)中禁用此控件。

您也可以考虑在未启用全球资源记录的区域禁用这些 IAM 控件(CIS 1.2、CIS 1.3、CIS 1.4、CIS 1.16、CIS 1.22)。由于 IAM 是一项全球服务,因此 IAM 资源将仅记录在启用全球资源记录的区域中。

要运行此检查,Security Hub 会执行自定义逻辑,以执行 CISAmazon Foundations Benchmark v1.2 中为其规定的审计步骤。Security Hub 还要求在每个区域记录全球资源,因为 Security Hub 是一项区域性服务,会逐个区域执行安全检查。

修复

配置 Amazon Config 设置
  1. 通过以下网址打开 Amazon Config 控制台:https://console.aws.amazon.com/config/

  2. 选择要在其中配置 Amazon Config 的区域。

  3. 如果您Amazon Config之前没有使用过,请参阅Amazon Config开发者指南中的入门

  4. 从菜单导航到 “设置” 页面,然后执行以下操作:

    • 选择 Edit(编辑)。

    • 在 “要记录的资源类型” 下,选择 “记录该区域支持的所有资源” 和 “包括全球资源”(例如Amazon IAM 资源)

    • 在 “数据保留期” 下,选择Amazon Config数据的默认保留期,或指定自定义保留期。

    • 在 “Amazon Config角色” 下,选择 “创建Amazon Config服务相关角色” 或 “从账户中选择一个角色”,然后选择要使用的角色。

    • Amazon S3 bucket (Amazon S3 存储桶) 下面,指定要使用的存储桶,或者创建存储桶并包括前缀(可选)。

    • Amazon SNS 主题,从账户中选择一个 Amazon SNS 主题,或创建一个。有关 Amazon SNS 的更多信息,请参阅 Amaz on Simple Notification Service 入门指南

  5. 选择 Save(保存)。

有关使用 fromAmazon Config 的更多信息Amazon Command Line Interface,请参阅Amazon Config开发者指南Amazon Config中的开启

您还可以使用 Amazon CloudFormation 模板自动执行这一过程。有关更多信息,请参阅Amazon CloudFormation用户指南中的Amazon CloudFormation StackSets 示例模板

2.6 — 确保在 S3 存储桶上启用 CloudTrail S3 存储区访问日志记录

严重性:

Amazon Config规则:无(自定义Security Hub 规则)

时间表类型:定期

Amazon S3 存储桶访问日志会生成一个日志,其中包含对您的 S3 存储桶发出的每个请求的访问记录。访问日志记录包含与请求有关的详细信息,如请求类型、处理过的请求中指定的资源和请求的处理时间和日期。

CIS 建议您在 CloudTrail S3 存储桶上启用存储区访问日志记录。

通过在目标 S3 存储桶上启用 S3 存储桶日志记录,您可以捕获可能影响目标存储桶中对象的所有事件。将日志配置为存放在单独的存储桶中可实现对日志信息的访问,这在安全和事故响应工作流程中非常有用。

要运行此检查,Security Hub 首先使用自定义逻辑来查找存储 CloudTrail 日志的存储桶,然后使用Amazon Config托管规则检查日志记录是否已启用。

如果您将日志聚合到单个集中式 S3 存储桶中,则 Security Hub 仅对集中式 S3 存储桶所在的账户和区域运行检查。对于其他账户和区域,控制状态为无数据

如果存储桶可以公开访问,则检查会生成一个失败的调查结果。

修复

启用 S​​3 存储桶访问日志记录
  1. 通过以下网址打开 Simple Storage Service(Amazon S3)控制台:https://console.aws.amazon.com/s3/

  2. 选择用于的存储桶 CloudTrail。

  3. 请选择属性

  4. 选择 Server access logging (服务器访问日志记录),然后选择启用日志记录

  5. Target bucket (目标存储桶) 列表中选择一个存储桶(并可选择输入前缀)。

  6. 选择 Save(保存)。

2.7 — 确保使用静态加密 CloudTrail 日志Amazon KMS keys

严重性:

Amazon Config 规则:cloud-trail-encryption-enabled

时间表类型:定期

CloudTrail 是一项 Web 服务,用于记录账户的Amazon API 调用,并根据 IAM 策略将这些日志提供给用户和资源。 Amazon Key Management Service(Amazon KMS) 是一项托管服务,可帮助创建和控制用于加密账户数据的加密密钥,并使用硬件安全模块 (HSM) 来保护加密密钥的安全。

您可以配置 CloudTrail 日志以利用服务器端加密 (SSE) 和 KMS 密钥来进一步保护 CloudTrail 日志。

CIS 建议您将配置 CloudTrail 为使用 SSE-KMS。

配置 CloudTrail 为使用 SSE-KMS 可对日志数据提供额外的机密性控制,因为给定用户必须对相应的日志存储桶拥有 S3 读取权限,并且必须获得 KMS 密钥策略的解密权限。

注意

如果您正在使用Amazon Control Tower,则可以使用加密您的 CloudTrail 日志Amazon KMS key。有关更多信息,请参阅《Amazon Control Tower用户指南》Amazon KMS keys中的可选配置

修复

启用 CloudTrail 日志加密
  1. 通过 https://console.aws.amazon.com/cloudtrail/ 打开 CloudTrail 控制台。

  2. 选择 Trails (跟踪)

  3. 选择要更新的跟踪。

  4. Storage location (存储位置) 下,选择铅笔图标以编辑设置。

  5. 对于 Encrypt log files with SSE-KMS (使用 SSE-KMS 加密日志文件),选择 Yes (是)

  6. 对于 Create a new KMS key (创建新的 KMS 密钥),执行以下操作之一:

    • 要创建密钥,请选择 Yes (是),然后在 KMS key (KMS 密钥) 字段中输入密钥的别名。密钥在与存储桶相同的区域中创建。

    • 要使用现有密钥,请选择 No (否),然后从 KMS key (KMS 密钥) 列表中选择密钥。

    注意

    Amazon KMS 密钥和 S3 存储桶必须位于同一区域。

  7. 选择 Save(保存)。

您可能需要修改的策略 CloudTrail 才能成功与您的 KMS 密钥交互。有关更多信息,请参阅《Amazon CloudTrail用户指南》中的使用Amazon KMS托管式密钥 (SSE-KMS) 加密 CloudTrail 日志文件

2.8 — 确保启用客户创建的 KMS 密钥的轮换

严重性:

Amazon Config 规则:cmk-backing-key-rotation-enabled

时间表类型:定期

Amazon KMS允许客户轮换备用密钥,后备密钥是存储在中的Amazon KMS密钥材料,与 KMS 密钥的密钥 ID 绑定。备用密钥被用于执行加密操作,例如加密和解密。目前,自动密钥轮换会保留所有之前的备用密钥,以便解密已加密数据的操作可以不被察觉地进行。

CIS 建议您启用 KMS 密钥轮换。轮换加密密钥有助于减少遭盗用密钥的潜在影响,因为使用可能已泄露的先前密钥无法访问使用新密钥加密的数据。

修复

启用 KMS 密钥轮换
  1. 在 Amazon KMShttps://console.aws.amazon.com/kms 打开 控制台。

  2. 要更改 Amazon Web Services 区域,请使用页面右上角的 Region selector(区域选择器)。

  3. 选择 Customer managed keys (客户托管密钥)

  4. Alias (别名) 列中选择要更新的密钥的别名。

  5. 选择 Key rotation (密钥轮换)

  6. 选择 L 每年自动轮换此 KMS 密钥,然后选择 Save(保存)。

2.9 — 确保在所有 VPC 中启用 VPC 流量记录

严重性:

Amazon Config 规则:vpc-flow-logs-enabled

时间表类型:定期

利用 VPC 流日志这项功能,您可以捕获有关传入和传出您的 VPC 中网络接口的 IP 流量的信息。创建流日志后,您可以在 CloudWatch 日志中查看和检索其数据。

CIS 建议您为 VPC 的数据包拒绝启用流量记录。流日志提供对穿过 VPC 的网络流量的可见性,并可在安全工作流程中检测异常流量或见解。

修复

启用 VPC 流日志记录
  1. 通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/

  2. 选择 Your VPCs (您的 VPC)

  3. 选择要更新的 VPC。

  4. 选择页面底部的 Flow Logs (流日志) 选项卡。

  5. 选择 Create flow log(创建流日志)

  6. 对于 Filter (筛选条件),选择 Reject (拒绝)

  7. 对于 Destination log group (目标日志组),选择要使用的日志组。

  8. 对于 IAAAAAM 角色,选择要使用的 IAAAAAAA

  9. 选择 Create(创建)

3.1 — 确保针对未授权的 API 调用存在日志指标筛选条件和警报

严重性:

Amazon Config规则:无(自定义Security Hub 规则)

时间表类型:定期

通过将 CloudTrail 日志定向到 CloudWatch 日志并建立相应的指标筛选条件和警报,您可以对 API 调用进行实时监控。

CIS 建议您创建指标筛选器并对未经授权的 API 调用发出警报。监控未经授权的 API 调用有助于发现应用程序错误,并可能减少检测恶意活动所花费的时间。

为了运行此检查,Security Hub 使用自定义逻辑来执行 CISAmazon Foundations Benchmark v1.2 中为控制 3.1 规定的确切审计步骤。如果不使用 CIS 规定的确切度量筛选条件,则此控制将会失败。不能向指标筛选条件中添加附加其他字段或搜索词。

注意

当 Security Hub 对此控件执行检查时,它会查找当前账户使用的 CloudTrail 跟踪。这些跟踪可能是属于另一个账户的组织跟踪。多区域路线也可能位于不同的区域。

在以下情况下,检查FAILED结果是不明的:

  • 未配置任何跟踪。

  • 当前区域内且由往来账户拥有的可用跟踪不符合控制要求。

在以下情况下,检查会导致控制状态为:NO_DATA

  • 多区域路线位于不同的区域。Security Hub 只能在跟踪所在的区域生成调查结果。

  • 多区域跟踪属于不同的账户。Security Hub 只能为拥有跟踪的账户生成调查结果。

对于警报,当前账户必须拥有引用的 Amazon SNS 主题,或者必须通过调用获得对 Amazon SNS 主题的访问权限ListSubscriptionsByTopic。否则,Security Hub 会生成控件的WARNING调查结果。

修复

修复此问题的步骤包括设置 Amazon SNS 主题、 CloudTrail跟踪、指标筛选条件和指标筛选条件警报。

创建 Amazon SNS 主题
  1. 通过以下网址打开 Amazon SNS 控制台:https://console.aws.amazon.com/sns/v3/home

  2. 创建 Amazon SNS 主题接收所有 CIAmazon SNS 主题。

    为该主题创建至少一个订阅者。有关更多信息,请参阅 Amazon Simple Notification Service 开发人员指南中的 Amazon SNS 入门

接下来,设置适用于所有地区的活动 CloudTrail 。为此,请按照2.1 — 确保 CloudTrail 在所有区域均已启用中的修复步骤进行操作。

记下与 CloudTrail 跟踪关联的 CloudWatch 日志日志组的名称。您可以为该日志组创建指标筛选条件。

最后,创建指标筛选条件和警报。

创建指标筛选条件和警报
  1. 通过 https://console.aws.amazon.com/cloudwatch/ 打开 CloudWatch 控制台。

  2. 在导航窗格中,选择 Log groups(日志组)

  3. 选中与您创建的 CloudTrail 跟踪关联的 CloudWatch 日志日志组对应的复选框。

  4. 操作中,选择创建指标筛选条件

  5. 定义模式下,执行以下操作:

    1. 复制以下模式,然后将其粘贴到 Filter Pattern (筛选条件模式) 字段中。

      {($.errorCode="*UnauthorizedOperation") || ($.errorCode="AccessDenied*")}
    2. 选择 Next(下一步)

  6. 分配指标下,执行以下操作:

    1. 筛选条件名称中,输入指标筛选条件的名称。

    2. 对于指标命名空间,输入LogMetrics

      如果您对所有 CIS 日志指标筛选器使用相同的命名空间,则所有 CIS Benchmark 指标将组合在一起。

    3. 对于 M etric nam e(指标名称),为其输入指标名称。记住指标的名称。您需要在创建警报时选择指标s。

    4. 对于 Metric value(指标值),输入 1

    5. 选择 Next(下一步)

  7. 在 “查看并创建” 下,验证您为新指标筛选条件提供的信息。然后选择创建指标筛选条件

  8. 选择 Metrics (指标筛选器) 选项卡,然后选择刚创建的指标筛选器。

    要选择指标筛选条件,请选中右上方的复选框。

  9. 选择 Create Alarm(创建告警)

  10. 在 C onget (指定指标和条件) 下,执行以下操作:

    1. 在 “指标” 下,在 “统计数据” 中,选择 “平均值”。有关可用统计数据的更多信息,请参阅 Amazon CloudWatch 用户指南中的统计数据

    2. 在 “条件” 下,为 “阈值” 选择静态

    3. 对于 “定义警报条件”,选择 “大于/等于”。

    4. 定义阈值中,输入1

    5. 选择 Next(下一步)

  11. 配置操作下,执行以下操作:

    1. 在 “警报状态触发器” 下,选择 “警报中”。

    2. Select an SNS topic (选择 SNS 主题) 下,选择 Select an existing SNS topic (选择现有的 SNS 主题)

    3. 对于 Sname(向发送通知),输入您在上一流程中创建的 SNS 主题名称。

    4. 选择 Next(下一步)

  12. 添加名称和描述下,输入警报的名称描述。例如,CIS-3.1-UnauthorizedAPICalls。然后选择下一步

  13. 在 “预览并创建” 下,查看警报配置。然后选择 Create alarm (创建警报)

3.2 — 确保在没有 MFA 的情况下Amazon Web Services Management Console登录时存在日志指标筛选条件和警报

严重性:

Amazon Config规则:无(自定义Security Hub 规则)

时间表类型:定期

通过将 CloudTrail 日志定向到 CloudWatch 日志并建立相应的指标筛选条件和警报,您可以对 API 调用进行实时监控。

CIS 建议您创建不受 MFA 保护的指标筛选条件和警报控制台登录。监控单因素控制台登录可提高不受 MFA 保护的账户的可见性。

为了运行此检查,Security Hub 使用自定义逻辑来执行 CISAmazon Foundations Benchmark v1. 2 中为控制 3.2 规定的确切审计步骤。如果不使用 CIS 规定的确切度量筛选条件,则此控制将会失败。不能向指标筛选条件中添加附加其他字段或搜索词。

注意

当 Security Hub 对此控件执行检查时,它会查找当前账户使用的 CloudTrail 跟踪。这些跟踪可能是属于另一个账户的组织跟踪。多区域路线也可能位于不同的区域。

在以下情况下,检查FAILED结果是不明的:

  • 未配置任何跟踪。

  • 当前区域内且由往来账户拥有的可用跟踪不符合控制要求。

在以下情况下,检查会导致控制状态为:NO_DATA

  • 多区域路线位于不同的区域。Security Hub 只能在跟踪所在的区域生成调查结果。

  • 多区域跟踪属于不同的账户。Security Hub 只能为拥有跟踪的账户生成调查结果。

对于警报,当前账户必须拥有引用的 Amazon SNS 主题,或者必须通过调用获得对 Amazon SNS 主题的访问权限ListSubscriptionsByTopic。否则,Security Hub 会生成控件的WARNING调查结果。

修复

修复此问题的步骤包括设置 Amazon SNS 主题、 CloudTrail跟踪、指标筛选条件和指标筛选条件警报。

创建 Amazon SNS 主题
  1. 通过以下网址打开 Amazon SNS 控制台:https://console.aws.amazon.com/sns/v3/home

  2. 创建 Amazon SNS 主题接收所有 CIAmazon SNS 主题。

    为该主题创建至少一个订阅者。有关更多信息,请参阅 Amazon Simple Notification Service 开发人员指南中的 Amazon SNS 入门

接下来,设置适用于所有地区的活动 CloudTrail 。为此,请按照2.1 — 确保 CloudTrail 在所有区域均已启用中的修复步骤进行操作。

记下与 CloudTrail 跟踪关联的 CloudWatch 日志日志组的名称。您可以为该日志组创建指标筛选条件。

最后,创建指标筛选条件和警报。

创建指标筛选条件和警报
  1. 通过 https://console.aws.amazon.com/cloudwatch/ 打开 CloudWatch 控制台。

  2. 在导航窗格中,选择 Log groups(日志组)

  3. 选中与您创建的 CloudTrail 跟踪关联的 CloudWatch 日志日志组对应的复选框。

  4. 操作中,选择创建指标筛选条件

  5. 定义模式下,执行以下操作:

    1. 复制以下模式,然后将其粘贴到 Filter Pattern (筛选条件模式) 字段中。

      { ($.eventName = "ConsoleLogin") && ($.additionalEventData.MFAUsed != "Yes") && ($.userIdentity.type = "IAMUser") && ($.responseElements.ConsoleLogin = "Success") }
    2. 选择 Next(下一步)

  6. 分配指标下,执行以下操作:

    1. 筛选条件名称中,输入指标筛选条件的名称。

    2. 对于指标命名空间,输入LogMetrics

      如果您对所有 CIS 日志指标筛选器使用相同的命名空间,则所有 CIS Benchmark 指标将组合在一起。

    3. 对于 M etric nam e(指标名称),为其输入指标名称。记住指标的名称。您需要在创建警报时选择指标s。

    4. 对于 Metric value(指标值),输入 1

    5. 选择 Next(下一步)

  7. 在 “查看并创建” 下,验证您为新指标筛选条件提供的信息。然后选择创建指标筛选条件

  8. 选择 Metrics (指标筛选器) 选项卡,然后选择刚创建的指标筛选器。

    要选择指标筛选条件,请选中右上方的复选框。

  9. 选择 Create Alarm(创建告警)

  10. 在 C onget (指定指标和条件) 下,执行以下操作:

    1. 在 Metails (指标算法) 保留默认值。有关可用统计数据的更多信息,请参阅 Amazon CloudWatch 用户指南中的统计数据

    2. 在 “条件” 下,为 “阈值” 选择静态

    3. 对于 “定义警报条件”,选择 “大于/等于”。

    4. 定义阈值中,输入1

    5. 选择 Next(下一步)

  11. 配置操作下,执行以下操作:

    1. 在 “警报状态触发器” 下,选择 “警报中”。

    2. Select an SNS topic (选择 SNS 主题) 下,选择 Select an existing SNS topic (选择现有的 SNS 主题)

    3. 对于 Sname(向发送通知),输入您在上一流程中创建的 SNS 主题名称。

    4. 选择 Next(下一步)

  12. 添加名称和描述下,输入警报的名称描述。例如,CIS-3.2-ConsoleSigninWithoutMFA。然后选择下一步

  13. 在 “预览并创建” 下,查看警报配置。然后选择 Create alarm (创建警报)

3.3 — 确保存在使用根用户的日志指标筛选条件和警报

严重性:

Amazon Config规则:无(自定义Security Hub 规则)

时间表类型:定期

您可以实时监控 API 调用,将 CloudTrail 日志定向到 CloudWatch 日志并建立相应的指标筛选条件和警报。

CIS 建议您为 root 用户登录尝试创建指标筛选条件和警报。通过监控 root 用户的登录,可以了解完全特权账户的使用情况,并有机会减少该账户的使用。

为了运行此检查,Security Hub 使用自定义逻辑来执行 CISAmazon Foundations Benchmark v1.2 中为控制 3.3 规定的确切审计步骤。如果不使用 CIS 规定的确切度量筛选条件,则此控制将会失败。不能向指标筛选条件中添加附加其他字段或搜索词。

注意

当 Security Hub 对此控件执行检查时,它会查找当前账户使用的 CloudTrail 跟踪。这些跟踪可能是属于另一个账户的组织跟踪。多区域路线也可能位于不同的区域。

在以下情况下,检查FAILED结果是不明的:

  • 未配置任何跟踪。

  • 当前区域内且由往来账户拥有的可用跟踪不符合控制要求。

在以下情况下,检查会导致控制状态为:NO_DATA

  • 多区域路线位于不同的区域。Security Hub 只能在跟踪所在的区域生成调查结果。

  • 多区域跟踪属于不同的账户。Security Hub 只能为拥有跟踪的账户生成调查结果。

对于警报,当前账户必须拥有引用的 Amazon SNS 主题,或者必须通过调用获得对 Amazon SNS 主题的访问权限ListSubscriptionsByTopic。否则,Security Hub 会生成控件的WARNING调查结果。

修复

修复此问题的步骤包括设置 Amazon SNS 主题、 CloudTrail跟踪、指标筛选条件和指标筛选条件警报。

创建 Amazon SNS 主题
  1. 通过以下网址打开 Amazon SNS 控制台:https://console.aws.amazon.com/sns/v3/home

  2. 创建 Amazon SNS 主题接收所有 CIAmazon SNS 主题。

    为该主题创建至少一个订阅者。有关更多信息,请参阅 Amazon Simple Notification Service 开发人员指南中的 Amazon SNS 入门

接下来,设置适用于所有地区的活动 CloudTrail 。为此,请按照2.1 — 确保 CloudTrail 在所有区域均已启用中的修复步骤进行操作。

记下与 CloudTrail 跟踪关联的 CloudWatch 日志日志组的名称。您可以为该日志组创建指标筛选条件。

最后,创建指标筛选条件和警报。

创建指标筛选条件和警报
  1. 通过 https://console.aws.amazon.com/cloudwatch/ 打开 CloudWatch 控制台。

  2. 在导航窗格中,选择 Log groups(日志组)

  3. 选中与您创建的 CloudTrail 跟踪关联的 CloudWatch 日志日志组对应的复选框。

  4. 操作中,选择创建指标筛选条件

  5. 定义模式下,执行以下操作:

    1. 复制以下模式,然后将其粘贴到 Filter Pattern (筛选条件模式) 字段中。

      {$.userIdentity.type="Root" && $.userIdentity.invokedBy NOT EXISTS && $.eventType !="AwsServiceEvent"}
    2. 选择 Next(下一步)

  6. 分配指标下,执行以下操作:

    1. 筛选条件名称中,输入指标筛选条件的名称。

    2. 对于指标命名空间,输入LogMetrics

      如果您对所有 CIS 日志指标筛选器使用相同的命名空间,则所有 CIS Benchmark 指标将组合在一起。

    3. 对于 M etric nam e(指标名称),为其输入指标名称。记住指标的名称。您需要在创建警报时选择指标s。

    4. 对于 Metric value(指标值),输入 1

    5. 选择 Next(下一步)

  7. 在 “查看并创建” 下,验证您为新指标筛选条件提供的信息。然后选择创建指标筛选条件

  8. 选择 Metrics (指标筛选器) 选项卡,然后选择刚创建的指标筛选器。

    要选择指标筛选条件,请选中右上方的复选框。

  9. 选择 Create Alarm(创建告警)

  10. 在 C onget (指定指标和条件) 下,执行以下操作:

    1. 在 Metails (指标算法) 保留默认值。有关可用统计数据的更多信息,请参阅 Amazon CloudWatch 用户指南中的统计数据

    2. 在 “条件” 下,为 “阈值” 选择静态

    3. 对于 “定义警报条件”,选择 “大于/等于”。

    4. 定义阈值中,输入1

    5. 选择 Next(下一步)

  11. 配置操作下,执行以下操作:

    1. 在 “警报状态触发器” 下,选择 “警报中”。

    2. Select an SNS topic (选择 SNS 主题) 下,选择 Select an existing SNS topic (选择现有的 SNS 主题)

    3. 对于 Sname(向发送通知),输入您在上一流程中创建的 SNS 主题名称。

    4. 选择 Next(下一步)

  12. 添加名称和描述下,输入警报的名称描述。例如,RootAccountUsage。然后选择下一步

  13. 在 “预览并创建” 下,查看警报配置。然后选择 Create alarm (创建警报)

3.4 — 确保存在针对 IAM 策略更改的日志指标筛选条件和警报

严重性:

Amazon Config规则:无(自定义Security Hub 规则)

时间表类型:定期

通过将 CloudTrail 日志定向到 CloudWatch 日志并建立相应的指标筛选条件和警报,您可以对 API 调用进行实时监控。

CIS 建议您为 IAM 策略的更改创建指标筛选条件和警报。监控此类更改有助于确保身份验证和授权控制保持不变。

为了运行此检查,Security Hub 使用自定义逻辑来执行 CISAmazon Foundations Benchmark v1.2 中为控制 3.4 规定的确切审计步骤。如果不使用 CIS 规定的确切度量筛选条件,则此控制将会失败。不能向指标筛选条件中添加附加其他字段或搜索词。

注意

当 Security Hub 对此控件执行检查时,它会查找当前账户使用的 CloudTrail 跟踪。这些跟踪可能是属于另一个账户的组织跟踪。多区域路线也可能位于不同的区域。

在以下情况下,检查FAILED结果是不明的:

  • 未配置任何跟踪。

  • 当前区域内且由往来账户拥有的可用跟踪不符合控制要求。

在以下情况下,检查会导致控制状态为:NO_DATA

  • 多区域路线位于不同的区域。Security Hub 只能在跟踪所在的区域生成调查结果。

  • 多区域跟踪属于不同的账户。Security Hub 只能为拥有跟踪的账户生成调查结果。

对于警报,当前账户必须拥有引用的 Amazon SNS 主题,或者必须通过调用获得对 Amazon SNS 主题的访问权限ListSubscriptionsByTopic。否则,Security Hub 会生成控件的WARNING调查结果。

修复

修复此问题的步骤包括设置 Amazon SNS 主题、 CloudTrail跟踪、指标筛选条件和指标筛选条件警报。

请注意,警报按名称检查特定的 API 操作。其中一项操作是DeletePolicy。警报不检查呼叫是否来自 IAM。因此,在 Auto Scaling 调用时也会触发警报DeletePolicy

创建 Amazon SNS 主题
  1. 通过以下网址打开 Amazon SNS 控制台:https://console.aws.amazon.com/sns/v3/home

  2. 创建 Amazon SNS 主题接收所有 CIAmazon SNS 主题。

    为该主题创建至少一个订阅者。有关更多信息,请参阅 Amazon Simple Notification Service 开发人员指南中的 Amazon SNS 入门

接下来,设置适用于所有地区的活动 CloudTrail 。为此,请按照2.1 — 确保 CloudTrail 在所有区域均已启用中的修复步骤进行操作。

记下与 CloudTrail 跟踪关联的 CloudWatch 日志日志组的名称。您可以为该日志组创建指标筛选条件。

最后,创建指标筛选条件和警报。

创建指标筛选条件和警报
  1. 通过 https://console.aws.amazon.com/cloudwatch/ 打开 CloudWatch 控制台。

  2. 在导航窗格中,选择 Log groups(日志组)

  3. 选中与您创建的 CloudTrail 跟踪关联的 CloudWatch 日志日志组对应的复选框。

  4. 操作中,选择创建指标筛选条件

  5. 定义模式下,执行以下操作:

    1. 复制以下模式,然后将其粘贴到 Filter Pattern (筛选条件模式) 字段中。

      {($.eventName=DeleteGroupPolicy) || ($.eventName=DeleteRolePolicy) || ($.eventName=DeleteUserPolicy) || ($.eventName=PutGroupPolicy) || ($.eventName=PutRolePolicy) || ($.eventName=PutUserPolicy) || ($.eventName=CreatePolicy) || ($.eventName=DeletePolicy) || ($.eventName=CreatePolicyVersion) || ($.eventName=DeletePolicyVersion) || ($.eventName=AttachRolePolicy) || ($.eventName=DetachRolePolicy) || ($.eventName=AttachUserPolicy) || ($.eventName=DetachUserPolicy) || ($.eventName=AttachGroupPolicy) || ($.eventName=DetachGroupPolicy)}
    2. 选择 Next(下一步)

  6. 分配指标下,执行以下操作:

    1. 筛选条件名称中,输入指标筛选条件的名称。

    2. 对于指标命名空间,输入LogMetrics

      如果您对所有 CIS 日志指标筛选器使用相同的命名空间,则所有 CIS Benchmark 指标将组合在一起。

    3. 对于 M etric nam e(指标名称),为其输入指标名称。记住指标的名称。您需要在创建警报时选择指标s。

    4. 对于 Metric value(指标值),输入 1

    5. 选择 Next(下一步)

  7. 在 “查看并创建” 下,验证您为新指标筛选条件提供的信息。然后选择创建指标筛选条件

  8. 选择 Metrics (指标筛选器) 选项卡,然后选择刚创建的指标筛选器。

    要选择指标筛选器,请选中右上方的复选框。

  9. 选择 Create Alarm(创建告警)

  10. 在 C onget (指定指标和条件) 下,执行以下操作:

    1. 在 “指标” 下,在 “统计数据” 中,选择 “平均值”。有关可用统计数据的更多信息,请参阅 Amazon CloudWatch 用户指南中的统计数据

    2. 在 “条件” 下,为 “阈值” 选择静态

    3. 对于 “定义警报条件”,选择 “大于/等于”。

    4. 定义阈值中,输入1

    5. 选择 Next(下一步)

  11. 配置操作下,执行以下操作:

    1. 在 “警报状态触发器” 下,选择 “警报中”。

    2. Select an SNS topic (选择 SNS 主题) 下,选择 Select an existing SNS topic (选择现有的 SNS 主题)

    3. 对于 Sname(向发送通知),输入您在上一流程中创建的 SNS 主题名称。

    4. 选择 Next(下一步)

  12. 添加名称和描述下,输入警报的名称描述。例如,CIS-3.4-IAMPolicyChanges。然后选择下一步

  13. 在 “预览并创建” 下,查看警报配置。然后选择 Create alarm (创建警报)

3.5 — 确保存在日志指标筛选条件和 CloudTrail 配置更改警报

严重性:

Amazon Config规则:无(自定义Security Hub 规则)

时间表类型:定期

通过将 CloudTrail 日志定向到 CloudWatch 日志并建立相应的指标筛选条件和警报,您可以对 API 调用进行实时监控。

CIS 建议您为 CloudTrail配置设置的更改创建指标筛选条件和警报。监控此类更改有助于确保账户中活动的持续可见性。

为了运行此检查,Security Hub 使用自定义逻辑来执行 CISAmazon Foundations Benchmark v1.2 中为控制 3.5 规定的确切审计步骤。如果不使用 CIS 规定的确切度量筛选条件,则此控制将会失败。不能向指标筛选条件中添加附加其他字段或搜索词。

注意

当 Security Hub 对此控件执行检查时,它会查找当前账户使用的 CloudTrail 跟踪。这些跟踪可能是属于另一个账户的组织跟踪。多区域路线也可能位于不同的区域。

在以下情况下,检查FAILED结果是不明的:

  • 未配置任何跟踪。

  • 当前区域内且由往来账户拥有的可用跟踪不符合控制要求。

在以下情况下,检查会导致控制状态为:NO_DATA

  • 多区域路线位于不同的区域。Security Hub 只能在跟踪所在的区域生成调查结果。

  • 多区域跟踪属于不同的账户。Security Hub 只能为拥有跟踪的账户生成调查结果。

对于警报,当前账户必须拥有引用的 Amazon SNS 主题,或者必须通过调用获得对 Amazon SNS 主题的访问权限ListSubscriptionsByTopic。否则,Security Hub 会生成控件的WARNING调查结果。

修复

修复此问题的步骤包括设置 Amazon SNS 主题、 CloudTrail跟踪、指标筛选条件和指标筛选条件警报。

创建 Amazon SNS 主题
  1. 通过以下网址打开 Amazon SNS 控制台:https://console.aws.amazon.com/sns/v3/home

  2. 创建 Amazon SNS 主题接收所有 CIAmazon SNS 主题。

    为该主题创建至少一个订阅者。有关更多信息,请参阅 Amazon Simple Notification Service 开发人员指南中的 Amazon SNS 入门

接下来,设置适用于所有地区的活动 CloudTrail 。为此,请按照2.1 — 确保 CloudTrail 在所有区域均已启用中的修复步骤进行操作。

记下与 CloudTrail 跟踪关联的 CloudWatch 日志日志组的名称。您可以为该日志组创建指标筛选条件。

最后,创建指标筛选条件和警报。

创建指标筛选条件和警报
  1. 通过 https://console.aws.amazon.com/cloudwatch/ 打开 CloudWatch 控制台。

  2. 在导航窗格中,选择 Log groups(日志组)

  3. 选中与您创建的 CloudTrail 跟踪关联的 CloudWatch 日志日志组对应的复选框。

  4. 操作中,选择创建指标筛选条件

  5. 定义模式下,执行以下操作:

    1. 复制以下模式,然后将其粘贴到 Filter Pattern (筛选条件模式) 字段中。

      {($.eventName=CreateTrail) || ($.eventName=UpdateTrail) || ($.eventName=DeleteTrail) || ($.eventName=StartLogging) || ($.eventName=StopLogging)}
    2. 选择 Next(下一步)

  6. 分配指标下,执行以下操作:

    1. 筛选条件名称中,输入指标筛选条件的名称。

    2. 对于指标命名空间,输入LogMetrics

      如果您对所有 CIS 日志指标筛选器使用相同的命名空间,则所有 CIS Benchmark 指标将组合在一起。

    3. 对于 M etric nam e(指标名称),为其输入指标名称。记住指标的名称。您需要在创建警报时选择指标s。

    4. 对于 Metric value(指标值),输入 1

    5. 选择 Next(下一步)

  7. 在 “查看并创建” 下,验证您为新指标筛选条件提供的信息。然后选择创建指标筛选条件

  8. 选择 Metrics (指标筛选器) 选项卡,然后选择刚创建的指标筛选器。

    要选择指标筛选器,请选中右上方的复选框。

  9. 选择 Create Alarm(创建告警)

  10. 在 C onget (指定指标和条件) 下,执行以下操作:

    1. 在 Metails (指标算法) 保留默认值。有关可用统计数据的更多信息,请参阅 Amazon CloudWatch 用户指南中的统计数据

    2. 在 “条件” 下,为 “阈值” 选择静态

    3. 对于 “定义警报条件”,选择 “大于/等于”。

    4. 定义阈值中,输入1

    5. 选择 Next(下一步)

  11. 配置操作下,执行以下操作:

    1. 在 “警报状态触发器” 下,选择 “警报中”。

    2. Select an SNS topic (选择 SNS 主题) 下,选择 Select an existing SNS topic (选择现有的 SNS 主题)

    3. 对于 Sname(向发送通知),输入您在上一流程中创建的 SNS 主题名称。

    4. 选择 Next(下一步)

  12. 添加名称和描述下,输入警报的名称描述。例如,CIS-3.5-CloudTrailChanges。然后选择下一步

  13. 在 “预览并创建” 下,查看警报配置。然后选择 Create alarm (创建警报)

3.6 — 确保存在日志指标筛选条件和Amazon Web Services Management Console身份验证失败警报

严重性:

Amazon Config规则:无(自定义Security Hub 规则)

时间表类型:定期

通过将 CloudTrail 日志定向到 CloudWatch 日志并建立相应的指标筛选条件和警报,您可以对 API 调用进行实时监控。

CIS 建议您为失败的控制台身份验证尝试创建指标筛选条件和警报。监控失败的控制台登录可能会缩短检测暴力破解凭证尝试的准备时间,这可能会提供可供您在其他事件相关性分析中使用的指标,例如源 IP。

为了运行此检查,Security Hub 使用自定义逻辑来执行 CISAmazon Foundations Benchmark v1.2 中为控制 3.6 规定的确切审计步骤。如果不使用 CIS 规定的确切度量筛选条件,则此控制将会失败。不能向指标筛选条件中添加附加其他字段或搜索词。

注意

当 Security Hub 对此控件执行检查时,它会查找当前账户使用的 CloudTrail 跟踪。这些跟踪可能是属于另一个账户的组织跟踪。多区域路线也可能位于不同的区域。

在以下情况下,检查FAILED结果是不明的:

  • 未配置任何跟踪。

  • 当前区域内且由往来账户拥有的可用跟踪不符合控制要求。

在以下情况下,检查会导致控制状态为:NO_DATA

  • 多区域路线位于不同的区域。Security Hub 只能在跟踪所在的区域生成调查结果。

  • 多区域跟踪属于不同的账户。Security Hub 只能为拥有跟踪的账户生成调查结果。

对于警报,当前账户必须拥有引用的 Amazon SNS 主题,或者必须通过调用获得对 Amazon SNS 主题的访问权限ListSubscriptionsByTopic。否则,Security Hub 会生成控件的WARNING调查结果。

修复

修复此问题的步骤包括设置 Amazon SNS 主题、 CloudTrail跟踪、指标筛选条件和指标筛选条件警报。

创建 Amazon SNS 主题
  1. 通过以下网址打开 Amazon SNS 控制台:https://console.aws.amazon.com/sns/v3/home

  2. 创建 Amazon SNS 主题接收所有 CIAmazon SNS 主题。

    为该主题创建至少一个订阅者。有关更多信息,请参阅 Amazon Simple Notification Service 开发人员指南中的 Amazon SNS 入门

接下来,设置适用于所有地区的活动 CloudTrail 。为此,请按照2.1 — 确保 CloudTrail 在所有区域均已启用中的修复步骤进行操作。

记下与 CloudTrail 跟踪关联的 CloudWatch 日志日志组的名称。您可以为该日志组创建指标筛选条件。

最后,创建指标筛选条件和警报。

创建指标筛选条件和警报
  1. 通过 https://console.aws.amazon.com/cloudwatch/ 打开 CloudWatch 控制台。

  2. 在导航窗格中,选择 Log groups(日志组)

  3. 选中与您创建的 CloudTrail 跟踪关联的 CloudWatch 日志日志组对应的复选框。

  4. 操作中,选择创建指标筛选条件

  5. 定义模式下,执行以下操作:

    1. 复制以下模式,然后将其粘贴到 Filter Pattern (筛选条件模式) 字段中。

      {($.eventName=ConsoleLogin) && ($.errorMessage="Failed authentication")}
    2. 选择 Next(下一步)

  6. 分配指标下,执行以下操作:

    1. 筛选条件名称中,输入指标筛选条件的名称。

    2. 对于指标命名空间,输入LogMetrics

      如果您对所有 CIS 日志指标筛选器使用相同的命名空间,则所有 CIS Benchmark 指标将组合在一起。

    3. 对于 M etric nam e(指标名称),为其输入指标名称。记住指标的名称。您需要在创建警报时选择指标s。

    4. 对于 Metric value(指标值),输入 1

    5. 选择 Next(下一步)

  7. 在 “查看并创建” 下,验证您为新指标筛选条件提供的信息。然后选择创建指标筛选条件

  8. 选择 Metrics (指标筛选器) 选项卡,然后选择刚创建的指标筛选器。

    要选择指标筛选器,请选中右上方的复选框。

  9. 选择 Create Alarm(创建告警)

  10. 在 C onget (指定指标和条件) 下,执行以下操作:

    1. 在 Metails (指标算法) 保留默认值。有关可用统计数据的更多信息,请参阅 Amazon CloudWatch 用户指南中的统计数据

    2. 在 “条件” 下,为 “阈值” 选择静态

    3. 对于 “定义警报条件”,选择 “大于/等于”。

    4. 定义阈值中,输入1

    5. 选择 Next(下一步)

  11. 配置操作下,执行以下操作:

    1. 在 “警报状态触发器” 下,选择 “警报中”。

    2. Select an SNS topic (选择 SNS 主题) 下,选择 Select an existing SNS topic (选择现有的 SNS 主题)

    3. 对于 Sname(向发送通知),输入您在上一流程中创建的 SNS 主题名称。

    4. 选择 Next(下一步)

  12. 添加名称和描述下,输入警报的名称描述。例如,CIS-3.6-ConsoleAuthenticationFailure。然后选择下一步

  13. 在 “预览并创建” 下,查看警报配置。然后选择 Create alarm (创建警报)

3.7 — 确保存在禁用或计划删除客户管理密钥的日志指标筛选器和警报

严重性:

Amazon Config规则:无(自定义Security Hub 规则)

时间表类型:定期

通过将 CloudTrail 日志定向到 CloudWatch 日志并建立相应的指标筛选条件和警报,您可以对 API 调用进行实时监控。

CIS 建议您为状态已更改为禁用或计划删除的客户管理的密钥创建指标筛选条件和警报。您无法再访问使用已禁用或已删除的密钥加密的数据。

为了运行此检查,Security Hub 使用自定义逻辑来执行 CISAmazon Foundations Benchmark v1.2 中为控制 3.7 规定的确切审计步骤。如果不使用 CIS 规定的确切度量筛选条件,则此控制将会失败。不能向指标筛选条件中添加附加其他字段或搜索词。如果ExcludeManagementEventSources包含,则控件也会失败kms.amazonaws.com

注意

当 Security Hub 对此控件执行检查时,它会查找当前账户使用的 CloudTrail 跟踪。这些跟踪可能是属于另一个账户的组织跟踪。多区域路线也可能位于不同的区域。

在以下情况下,检查FAILED结果是不明的:

  • 未配置任何跟踪。

  • 当前区域内且由往来账户拥有的可用跟踪不符合控制要求。

在以下情况下,检查会导致控制状态为:NO_DATA

  • 多区域路线位于不同的区域。Security Hub 只能在跟踪所在的区域生成调查结果。

  • 多区域跟踪属于不同的账户。Security Hub 只能为拥有跟踪的账户生成调查结果。

对于警报,当前账户必须拥有引用的 Amazon SNS 主题,或者必须通过调用获得对 Amazon SNS 主题的访问权限ListSubscriptionsByTopic。否则,Security Hub 会生成控件的WARNING调查结果。

修复

修复此问题的步骤包括设置 Amazon SNS 主题、 CloudTrail跟踪、指标筛选条件和指标筛选条件警报。

创建 Amazon SNS 主题
  1. 通过以下网址打开 Amazon SNS 控制台:https://console.aws.amazon.com/sns/v3/home

  2. 创建 Amazon SNS 主题接收所有 CIAmazon SNS 主题。

    为该主题创建至少一个订阅者。有关更多信息,请参阅 Amazon Simple Notification Service 开发人员指南中的 Amazon SNS 入门

接下来,设置适用于所有地区的活动 CloudTrail 。为此,请按照2.1 — 确保 CloudTrail 在所有区域均已启用中的修复步骤进行操作。

记下与 CloudTrail 跟踪关联的 CloudWatch 日志日志组的名称。您可以为该日志组创建指标筛选条件。

最后,创建指标筛选条件和警报。

创建指标筛选条件和警报
  1. 通过 https://console.aws.amazon.com/cloudwatch/ 打开 CloudWatch 控制台。

  2. 在导航窗格中,选择 Log groups(日志组)

  3. 选中与您创建的 CloudTrail 跟踪关联的 CloudWatch 日志日志组对应的复选框。

  4. 操作中,选择创建指标筛选条件

  5. 定义模式下,执行以下操作:

    1. 复制以下模式,然后将其粘贴到 Filter Pattern (筛选条件模式) 字段中。

      {($.eventSource=kms.amazonaws.com) && (($.eventName=DisableKey) || ($.eventName=ScheduleKeyDeletion))}
    2. 选择 Next(下一步)

  6. 分配指标下,执行以下操作:

    1. 筛选条件名称中,输入指标筛选条件的名称。

    2. 对于指标命名空间,输入LogMetrics

      如果您对所有 CIS 日志指标筛选器使用相同的命名空间,则所有 CIS Benchmark 指标将组合在一起。

    3. 对于 M etric nam e(指标名称),为其输入指标名称。记住指标的名称。您需要在创建警报时选择指标。

    4. 对于 Metric value(指标值),输入 1

    5. 选择 Next(下一步)

  7. 在 “查看并创建” 下,验证您为新指标筛选条件提供的信息。然后选择创建指标筛选条件

  8. 选择 Metrics (指标筛选器) 选项卡,然后选择刚创建的指标筛选器。

    要选择指标筛选器,请选中右上方的复选框。

  9. 选择 Create Alarm(创建告警)

  10. 在 C onget (指定指标和条件) 下,执行以下操作:

    1. 在 Metails (指标算法) 保留默认值。有关可用统计数据的更多信息,请参阅 Amazon CloudWatch 用户指南中的统计数据

    2. 在 “条件” 下,为 “阈值” 选择静态

    3. 对于 “定义警报条件”,选择 “大于/等于”。

    4. 定义阈值中,输入1

    5. 选择 Next(下一步)

  11. 配置操作下,执行以下操作:

    1. 在 “警报状态触发器” 下,选择 “警报中”。

    2. Select an SNS topic (选择 SNS 主题) 下,选择 Select an existing SNS topic (选择现有的 SNS 主题)

    3. 对于 Sname(向发送通知),输入您在上一流程中创建的 SNS 主题名称。

    4. 选择 Next(下一步)

  12. 添加名称和描述下,输入警报的名称描述。例如,CIS-3.7-DisableOrDeleteCMK。然后选择下一步

  13. 在 “预览并创建” 下,查看警报配置。然后选择 Create alarm (创建警报)

3.8 — 确保存在针对 S3 存储桶策略更改的日志指标筛选条件和警报

严重性:

Amazon Config规则:无(自定义Security Hub 规则)

时间表类型:定期

通过将 CloudTrail 日志定向到 CloudWatch 日志并建立相应的指标筛选条件和警报,您可以对 API 调用进行实时监控。

CIS 建议您为 S3 存储桶策略的更改创建指标筛选条件和警报。监控此类更改可能会缩短检测和纠正敏感 S3 存储桶的宽松策略的时间。

为了运行此检查,Security Hub 使用自定义逻辑来执行 CISAmazon Foundations Benchmark v1.2 中为控制 3.8 规定的确切审计步骤。如果不使用 CIS 规定的确切度量筛选条件,则此控制将会失败。不能向指标筛选条件中添加附加其他字段或搜索词。

注意

当 Security Hub 对此控件执行检查时,它会查找当前账户使用的 CloudTrail 跟踪。这些跟踪可能是属于另一个账户的组织跟踪。多区域路线也可能位于不同的区域。

在以下情况下,检查FAILED结果是不明的:

  • 未配置任何跟踪。

  • 当前区域内且由往来账户拥有的可用跟踪不符合控制要求。

在以下情况下,检查会导致控制状态为:NO_DATA

  • 多区域路线位于不同的区域。Security Hub 只能在跟踪所在的区域生成调查结果。

  • 多区域跟踪属于不同的账户。Security Hub 只能为拥有跟踪的账户生成调查结果。

对于警报,当前账户必须拥有引用的 Amazon SNS 主题,或者必须通过调用获得对 Amazon SNS 主题的访问权限ListSubscriptionsByTopic。否则,Security Hub 会生成控件的WARNING调查结果。

修复

修复此问题的步骤包括设置 Amazon SNS 主题、 CloudTrail跟踪、指标筛选条件和指标筛选条件警报。

创建 Amazon SNS 主题
  1. 通过以下网址打开 Amazon SNS 控制台:https://console.aws.amazon.com/sns/v3/home

  2. 创建 Amazon SNS 主题接收所有 CIAmazon SNS 主题。

    为该主题创建至少一个订阅者。有关更多信息,请参阅 Amazon Simple Notification Service 开发人员指南中的 Amazon SNS 入门

接下来,设置适用于所有地区的活动 CloudTrail 。为此,请按照2.1 — 确保 CloudTrail 在所有区域均已启用中的修复步骤进行操作。

记下与 CloudTrail 跟踪关联的 CloudWatch 日志日志组的名称。您可以为该日志组创建指标筛选条件。

最后,创建指标筛选条件和警报。

创建指标筛选条件和警报
  1. 通过 https://console.aws.amazon.com/cloudwatch/ 打开 CloudWatch 控制台。

  2. 在导航窗格中,选择 Log groups(日志组)

  3. 选中与您创建的 CloudTrail 跟踪关联的 CloudWatch 日志日志组对应的复选框。

  4. 操作中,选择创建指标筛选条件

  5. 定义模式下,执行以下操作:

    1. 复制以下模式,然后将其粘贴到 Filter Pattern (筛选条件模式) 字段中。

      {($.eventSource=s3.amazonaws.com) && (($.eventName=PutBucketAcl) || ($.eventName=PutBucketPolicy) || ($.eventName=PutBucketCors) || ($.eventName=PutBucketLifecycle) || ($.eventName=PutBucketReplication) || ($.eventName=DeleteBucketPolicy) || ($.eventName=DeleteBucketCors) || ($.eventName=DeleteBucketLifecycle) || ($.eventName=DeleteBucketReplication))}
    2. 选择 Next(下一步)

  6. 分配指标下,执行以下操作:

    1. 筛选条件名称中,输入指标筛选条件的名称。

    2. 对于指标命名空间,输入LogMetrics

      如果您对所有 CIS 日志指标筛选器使用相同的命名空间,则所有 CIS Benchmark 指标将组合在一起。

    3. 对于 M etric nam e(指标名称),为其输入指标名称。记住指标的名称。您需要在创建警报时选择指标。

    4. 对于 Metric value(指标值),输入 1

    5. 选择 Next(下一步)

  7. 在 “查看并创建” 下,验证您为新指标筛选条件提供的信息。然后选择创建指标筛选条件

  8. 选择 Metrics (指标筛选器) 选项卡,然后选择刚创建的指标筛选器。

    要选择指标筛选器,请选中右上方的复选框。

  9. 选择 Create Alarm(创建告警)

  10. 在 C onget (指定指标和条件) 下,执行以下操作:

    1. 在 “指标” 下,在 “统计数据” 中,选择 “平均值”。有关可用统计数据的更多信息,请参阅 Amazon CloudWatch 用户指南中的统计数据

    2. 在 “条件” 下,为 “阈值” 选择静态

    3. 对于 “定义警报条件”,选择 “大于/等于”。

    4. 定义阈值中,输入1

    5. 选择 Next(下一步)

  11. 配置操作下,执行以下操作:

    1. 在 “警报状态触发器” 下,选择 “警报中”。

    2. Select an SNS topic (选择 SNS 主题) 下,选择 Select an existing SNS topic (选择现有的 SNS 主题)

    3. 对于 Sname(向发送通知),输入您在上一流程中创建的 SNS 主题名称。

    4. 选择 Next(下一步)

  12. 添加名称和描述下,输入警报的名称描述。例如,CIS-3.8-S3BucketPolicyChanges。然后选择下一步

  13. 在 “预览并创建” 下,查看警报配置。然后选择 Create alarm (创建警报)

3.9 — 确保存在日志指标筛选条件和Amazon Config配置更改警报

严重性:

Amazon Config规则:无(自定义Security Hub 规则)

时间表类型:定期

通过将 CloudTrail 日志定向到 CloudWatch 日志并建立相应的指标筛选条件和警报,您可以对 API 调用进行实时监控。

CIS 建议您为Amazon Config配置设置的更改创建指标筛选条件和警报。监控此类更改有助于确保账户中配置项的持续可见性。

为了运行此检查,Security Hub 使用自定义逻辑来执行 CISAmazon Foundations Benchmark v1.2 中为控制 3.9 规定的确切审计步骤。如果不使用 CIS 规定的确切度量筛选条件,则此控制将会失败。不能向指标筛选条件中添加附加其他字段或搜索词。

注意

当 Security Hub 对此控件执行检查时,它会查找当前账户使用的 CloudTrail 跟踪。这些跟踪可能是属于另一个账户的组织跟踪。多区域路线也可能位于不同的区域。

在以下情况下,检查FAILED结果是不明的:

  • 未配置任何跟踪。

  • 当前区域内且由往来账户拥有的可用跟踪不符合控制要求。

在以下情况下,检查会导致控制状态为:NO_DATA

  • 多区域路线位于不同的区域。Security Hub 只能在跟踪所在的区域生成调查结果。

  • 多区域跟踪属于不同的账户。Security Hub 只能为拥有跟踪的账户生成调查结果。

对于警报,当前账户必须拥有引用的 Amazon SNS 主题,或者必须通过调用获得对 Amazon SNS 主题的访问权限ListSubscriptionsByTopic。否则,Security Hub 会生成控件的WARNING调查结果。

修复

修复此问题的步骤包括设置 Amazon SNS 主题、 CloudTrail跟踪、指标筛选条件和指标筛选条件警报。

创建 Amazon SNS 主题
  1. 通过以下网址打开 Amazon SNS 控制台:https://console.aws.amazon.com/sns/v3/home

  2. 创建 Amazon SNS 主题接收所有 CIAmazon SNS 主题。

    为该主题创建至少一个订阅者。有关更多信息,请参阅 Amazon Simple Notification Service 开发人员指南中的 Amazon SNS 入门

接下来,设置适用于所有地区的活动 CloudTrail 。为此,请按照2.1 — 确保 CloudTrail 在所有区域均已启用中的修复步骤进行操作。

记下与 CloudTrail 跟踪关联的 CloudWatch 日志日志组的名称。您可以为该日志组创建指标筛选条件。

最后,创建指标筛选条件和警报。

创建指标筛选条件和警报
  1. 通过 https://console.aws.amazon.com/cloudwatch/ 打开 CloudWatch 控制台。

  2. 在导航窗格中,选择 Log groups(日志组)

  3. 选中与您创建的 CloudTrail 跟踪关联的 CloudWatch 日志日志组对应的复选框。

  4. 操作中,选择创建指标筛选条件

  5. 定义模式下,执行以下操作:

    1. 复制以下模式,然后将其粘贴到 Filter Pattern (筛选条件模式) 字段中。

      {($.eventSource=config.amazonaws.com) && (($.eventName=StopConfigurationRecorder) || ($.eventName=DeleteDeliveryChannel) || ($.eventName=PutDeliveryChannel) || ($.eventName=PutConfigurationRecorder))}
    2. 选择 Next(下一步)

  6. 分配指标下,执行以下操作:

    1. 筛选条件名称中,输入指标筛选条件的名称。

    2. 对于指标命名空间,输入LogMetrics

      如果您对所有 CIS 日志指标筛选器使用相同的命名空间,则所有 CIS Benchmark 指标将组合在一起。

    3. 对于 M etric nam e(指标名称),为其输入指标名称。记住指标的名称。您需要在创建警报时选择指标。

    4. 对于 Metric value(指标值),输入 1

    5. 选择 Next(下一步)

  7. 在 “查看并创建” 下,验证您为新指标筛选条件提供的信息。然后选择创建指标筛选条件

  8. 选择 Metrics (指标筛选器) 选项卡,然后选择刚创建的指标筛选器。

    要选择指标筛选器,请选中右上方的复选框。

  9. 选择 Create Alarm(创建告警)

  10. 在 C onget (指定指标和条件) 下,执行以下操作:

    1. 在 Metails (指标算法) 保留默认值。有关可用统计数据的更多信息,请参阅 Amazon CloudWatch 用户指南中的统计数据

    2. 在 “条件” 下,为 “阈值” 选择静态

    3. 对于 “定义警报条件”,选择 “大于/等于”。

    4. 定义阈值中,输入1

    5. 选择 Next(下一步)

  11. 配置操作下,执行以下操作:

    1. 在 “警报状态触发器” 下,选择 “警报中”。

    2. Select an SNS topic (选择 SNS 主题) 下,选择 Select an existing SNS topic (选择现有的 SNS 主题)

    3. 对于 Send to(发送通知),请输入您在上一步中创建的 SNS 主题名称。

    4. 选择 Next(下一步)

  12. 添加名称和描述下,输入警报的名称描述。例如,CIS-3.9-AmazonConfigChanges。然后选择下一步

  13. 在 “预览并创建” 下,查看警报配置。然后选择 Create alarm (创建警报)

3.10 — 确保存在日志指标筛选条件和安全组更改警报

严重性:

Amazon Config规则:无(自定义Security Hub 规则)

时间表类型:定期

通过将 CloudTrail 日志定向到 CloudWatch 日志并建立相应的指标筛选条件和警报,您可以对 API 调用进行实时监控。安全组是有状态的数据包筛选器,可用于控制 VPC 的传入和传出流量。

CIS 建议您为安全组的更改创建指标筛选条件和警报。监控此类更改有助于确保不会意外公开 资源和服务。

为了运行此检查,Security Hub 使用自定义逻辑来执行 CISAmazon Foundations Benchmark v1.2 中为控制 3.10 规定的确切审计步骤。如果不使用 CIS 规定的确切度量筛选条件,则此控制将会失败。不能向指标筛选条件中添加附加其他字段或搜索词。

注意

当 Security Hub 对此控件执行检查时,它会查找当前账户使用的 CloudTrail 跟踪。这些跟踪可能是属于另一个账户的组织跟踪。多区域路线也可能位于不同的区域。

在以下情况下,检查FAILED结果是不明的:

  • 未配置任何跟踪。

  • 当前区域内且由往来账户拥有的可用跟踪不符合控制要求。

在以下情况下,检查会导致控制状态为:NO_DATA

  • 多区域路线位于不同的区域。Security Hub 只能在跟踪所在的区域生成调查结果。

  • 多区域跟踪属于不同的账户。Security Hub 只能为拥有跟踪的账户生成调查结果。

对于警报,当前账户必须拥有引用的 Amazon SNS 主题,或者必须通过调用获得对 Amazon SNS 主题的访问权限ListSubscriptionsByTopic。否则,Security Hub 会生成控件的WARNING调查结果。

修复

修复此问题的步骤包括设置 Amazon SNS 主题、 CloudTrail跟踪、指标筛选条件和指标筛选条件警报。

创建 Amazon SNS 主题
  1. 通过以下网址打开 Amazon SNS 控制台:https://console.aws.amazon.com/sns/v3/home

  2. 创建 Amazon SNS 主题接收所有 CIAmazon SNS 主题。

    为该主题创建至少一个订阅者。有关更多信息,请参阅 Amazon Simple Notification Service 开发人员指南中的 Amazon SNS 入门

接下来,设置适用于所有地区的活动 CloudTrail 。为此,请按照2.1 — 确保 CloudTrail 在所有区域均已启用中的修复步骤进行操作。

记下与 CloudTrail 跟踪关联的 CloudWatch 日志日志组的名称。您可以为该日志组创建指标筛选条件。

最后,创建指标筛选条件和警报。

创建指标筛选条件和警报
  1. 通过 https://console.aws.amazon.com/cloudwatch/ 打开 CloudWatch 控制台。

  2. 在导航窗格中,选择 Log groups(日志组)

  3. 选中与您创建的 CloudTrail 跟踪关联的 CloudWatch 日志日志组对应的复选框。

  4. 操作中,选择创建指标筛选条件

  5. 定义模式下,执行以下操作:

    1. 复制以下模式,然后将其粘贴到 Filter Pattern (筛选条件模式) 字段中。

      {($.eventName=AuthorizeSecurityGroupIngress) || ($.eventName=AuthorizeSecurityGroupEgress) || ($.eventName=RevokeSecurityGroupIngress) || ($.eventName=RevokeSecurityGroupEgress) || ($.eventName=CreateSecurityGroup) || ($.eventName=DeleteSecurityGroup)}
    2. 选择 Next(下一步)

  6. 分配指标下,执行以下操作:

    1. 筛选条件名称中,输入指标筛选条件的名称。

    2. 对于指标命名空间,输入LogMetrics

      如果您对所有 CIS 日志指标筛选器使用相同的命名空间,则所有 CIS Benchmark 指标将组合在一起。

    3. 对于 M etric nam e(指标名称),为其输入指标名称。记住指标的名称。您需要在创建警报时选择指标。

    4. 对于 Metric value(指标值),输入 1

    5. 选择 Next(下一步)

  7. 在 “查看并创建” 下,验证您为新指标筛选条件提供的信息。然后选择创建指标筛选条件

  8. 选择 Metrics (指标筛选器) 选项卡,然后选择刚创建的指标筛选器。

    要选择指标筛选器,请选中右上方的复选框。

  9. 选择 Create Alarm(创建告警)

  10. 在 C onget (指定指标和条件) 下,执行以下操作:

    1. 在 Metails (指标算法) 保留默认值。有关可用统计数据的更多信息,请参阅 Amazon CloudWatch 用户指南中的统计数据

    2. 在 “条件” 下,为 “阈值” 选择静态

    3. 对于 “定义警报条件”,选择 “大于/等于”。

    4. 定义阈值中,输入1

    5. 选择 Next(下一步)

  11. 配置操作下,执行以下操作:

    1. 在 “警报状态触发器” 下,选择 “警报中”。

    2. Select an SNS topic (选择 SNS 主题) 下,选择 Select an existing SNS topic (选择现有的 SNS 主题)

    3. 对于 Send to(发送通知),请输入您在上一步中创建的 SNS 主题名称。

    4. 选择 Next(下一步)

  12. 添加名称和描述下,输入警报的名称描述。例如,CIS-3.10-SecurityGroupChanges。然后选择下一步

  13. 在 “预览并创建” 下,查看警报配置。然后选择 Create alarm (创建警报)

3.11 — 确保存在网络访问控制列表 (NACL) 更改的日志指标筛选器和警报

严重性:

Amazon Config规则:无(自定义Security Hub 规则)

时间表类型:定期

通过将 CloudTrail 日志定向到 CloudWatch 日志并建立相应的指标筛选条件和警报,您可以对 API 调用进行实时监控。NACL 用作无状态的数据包筛选器,可用于控制 VPC 中子网的传入和传出流量。

CIS 建议您创建指标筛选器并针对 NACL 的更改发出警报。监控此类更改有助于确保不会意外公开 Amazon 资源和服务。

为了运行此检查,Security Hub 使用自定义逻辑来执行 CISAmazon Foundations Benchmark v1.2 中为控制 3.11 规定的确切审计步骤。如果不使用 CIS 规定的确切度量筛选条件,则此控制将会失败。不能向指标筛选条件中添加附加其他字段或搜索词。

注意

当 Security Hub 对此控件执行检查时,它会查找当前账户使用的 CloudTrail 跟踪。这些跟踪可能是属于另一个账户的组织跟踪。多区域路线也可能位于不同的区域。

在以下情况下,检查FAILED结果是不明的:

  • 未配置任何跟踪。

  • 当前区域内且由往来账户拥有的可用跟踪不符合控制要求。

在以下情况下,检查会导致控制状态为:NO_DATA

  • 多区域路线位于不同的区域。Security Hub 只能在跟踪所在的区域生成调查结果。

  • 多区域跟踪属于不同的账户。Security Hub 只能为拥有跟踪的账户生成调查结果。

对于警报,当前账户必须拥有引用的 Amazon SNS 主题,或者必须通过调用获得对 Amazon SNS 主题的访问权限ListSubscriptionsByTopic。否则,Security Hub 会生成控件的WARNING调查结果。

修复

修复此问题的步骤包括设置 Amazon SNS 主题、 CloudTrail跟踪、指标筛选条件和指标筛选条件警报。

创建 Amazon SNS 主题
  1. 通过以下网址打开 Amazon SNS 控制台:https://console.aws.amazon.com/sns/v3/home

  2. 创建 Amazon SNS 主题接收所有 CIAmazon SNS 主题。

    为该主题创建至少一个订阅者。有关更多信息,请参阅 Amazon Simple Notification Service 开发人员指南中的 Amazon SNS 入门

接下来,设置适用于所有地区的活动 CloudTrail 。为此,请按照2.1 — 确保 CloudTrail 在所有区域均已启用中的修复步骤进行操作。

记下与 CloudTrail 跟踪关联的 CloudWatch 日志日志组的名称。您可以为该日志组创建指标筛选条件。

最后,创建指标筛选条件和警报。

创建指标筛选条件和警报
  1. 通过 https://console.aws.amazon.com/cloudwatch/ 打开 CloudWatch 控制台。

  2. 在导航窗格中,选择 Log groups(日志组)

  3. 选中与您创建的 CloudTrail 跟踪关联的 CloudWatch 日志日志组对应的复选框。

  4. 操作中,选择创建指标筛选条件

  5. 定义模式下,执行以下操作:

    1. 复制以下模式,然后将其粘贴到 Filter Pattern (筛选条件模式) 字段中。

      {($.eventName=CreateNetworkAcl) || ($.eventName=CreateNetworkAclEntry) || ($.eventName=DeleteNetworkAcl) || ($.eventName=DeleteNetworkAclEntry) || ($.eventName=ReplaceNetworkAclEntry) || ($.eventName=ReplaceNetworkAclAssociation)}
    2. 选择 Next(下一步)

  6. 分配指标下,执行以下操作:

    1. 筛选条件名称中,输入指标筛选条件的名称。

    2. 对于指标命名空间,输入LogMetrics

      如果您对所有 CIS 日志指标筛选器使用相同的命名空间,则所有 CIS Benchmark 指标将组合在一起。

    3. 对于 M etric nam e(指标名称),为其输入指标名称。记住指标的名称。您需要在创建警报时选择指标。

    4. 对于 Metric value(指标值),输入 1

    5. 选择 Next(下一步)

  7. 在 “查看并创建” 下,验证您为新指标筛选条件提供的信息。然后选择创建指标筛选条件

  8. 选择 Metrics (指标筛选器) 选项卡,然后选择刚创建的指标筛选器。

    要选择指标筛选器,请选中右上方的复选框。

  9. 选择 Create Alarm(创建告警)

  10. 在 C onget (指定指标和条件) 下,执行以下操作:

    1. 在 Metails (指标算法) 保留默认值。有关可用统计数据的更多信息,请参阅 Amazon CloudWatch 用户指南中的统计数据

    2. 在 “条件” 下,为 “阈值” 选择静态

    3. 对于 “定义警报条件”,选择 “大于/等于”。

    4. 定义阈值中,输入1

    5. 选择 Next(下一步)

  11. 配置操作下,执行以下操作:

    1. 在 “警报状态触发器” 下,选择 “警报中”。

    2. Select an SNS topic (选择 SNS 主题) 下,选择 Select an existing SNS topic (选择现有的 SNS 主题)

    3. 对于 Send to(发送通知),请输入您在上一步中创建的 SNS 主题名称。

    4. 选择 Next(下一步)

  12. 添加名称和描述下,输入警报的名称描述。例如,CIS-3.11-NetworkACLChanges。然后选择下一步

  13. 在 “预览并创建” 下,查看警报配置。然后选择 Create alarm (创建警报)

3.12 — 确保存在日志指标筛选条件和网络网关变更警报

严重性:

Amazon Config规则:无(自定义Security Hub 规则)

时间表类型:定期

通过将 CloudTrail 日志定向到 CloudWatch 日志并建立相应的指标筛选条件和警报,您可以对 API 调用进行实时监控。需要网络网关才能向位于 VPC 以外的目标发送流量或从其接收流量。

CIS 建议您为网络网关的更改创建指标筛选条件和警报。监控此类更改有助于确保所有传入和传出流量都通过受控路径穿过 VPC 边界。

为了运行此检查,Security Hub 使用自定义逻辑来执行 CISAmazon Foundations Benchmark v1.2 中为控制 3.12 规定的确切审计步骤。如果不使用 CIS 规定的确切度量筛选条件,则此控制将会失败。不能向指标筛选条件中添加附加其他字段或搜索词。

注意

当 Security Hub 对此控件执行检查时,它会查找当前账户使用的 CloudTrail 跟踪。这些跟踪可能是属于另一个账户的组织跟踪。多区域路线也可能位于不同的区域。

在以下情况下,检查FAILED结果是不明的:

  • 未配置任何跟踪。

  • 当前区域内且由往来账户拥有的可用跟踪不符合控制要求。

在以下情况下,检查会导致控制状态为:NO_DATA

  • 多区域路线位于不同的区域。Security Hub 只能在跟踪所在的区域生成调查结果。

  • 多区域跟踪属于不同的账户。Security Hub 只能为拥有跟踪的账户生成调查结果。

对于警报,当前账户必须拥有引用的 Amazon SNS 主题,或者必须通过调用获得对 Amazon SNS 主题的访问权限ListSubscriptionsByTopic。否则,Security Hub 会生成控件的WARNING调查结果。

修复

修复此问题的步骤包括设置 Amazon SNS 主题、 CloudTrail跟踪、指标筛选条件和指标筛选条件警报。

创建 Amazon SNS 主题
  1. 通过以下网址打开 Amazon SNS 控制台:https://console.aws.amazon.com/sns/v3/home

  2. 创建 Amazon SNS 主题接收所有 CIAmazon SNS 主题。

    为该主题创建至少一个订阅者。有关更多信息,请参阅 Amazon Simple Notification Service 开发人员指南中的 Amazon SNS 入门

接下来,设置适用于所有地区的活动 CloudTrail 。为此,请按照2.1 — 确保 CloudTrail 在所有区域均已启用中的修复步骤进行操作。

记下与 CloudTrail 跟踪关联的 CloudWatch 日志日志组的名称。您可以为该日志组创建指标筛选条件。

最后,创建指标筛选条件和警报。

创建指标筛选条件和警报
  1. 通过 https://console.aws.amazon.com/cloudwatch/ 打开 CloudWatch 控制台。

  2. 在导航窗格中,选择 Log groups(日志组)

  3. 选中与您创建的 CloudTrail 跟踪关联的 CloudWatch 日志日志组对应的复选框。

  4. 操作中,选择创建指标筛选条件

  5. 定义模式下,执行以下操作:

    1. 复制以下模式,然后将其粘贴到 Filter Pattern (筛选条件模式) 字段中。

      {($.eventName=CreateCustomerGateway) || ($.eventName=DeleteCustomerGateway) || ($.eventName=AttachInternetGateway) || ($.eventName=CreateInternetGateway) || ($.eventName=DeleteInternetGateway) || ($.eventName=DetachInternetGateway)}
    2. 选择 Next(下一步)

  6. 分配指标下,执行以下操作:

    1. 筛选条件名称中,输入指标筛选条件的名称。

    2. 对于指标命名空间,输入LogMetrics

      如果您对所有 CIS 日志指标筛选器使用相同的命名空间,则所有 CIS Benchmark 指标将组合在一起。

    3. 对于 M etric nam e(指标名称),为其输入指标名称。记住指标的名称。您需要在创建警报时选择指标。

    4. 对于 Metric value(指标值),输入 1

    5. 选择 Next(下一步)

  7. 在 “查看并创建” 下,验证您为新指标筛选条件提供的信息。然后选择创建指标筛选条件

  8. 选择 Metrics (指标筛选器) 选项卡,然后选择刚创建的指标筛选器。

    要选择指标筛选器,请选中右上方的复选框。

  9. 选择 Create Alarm(创建告警)

  10. 在 C onget (指定指标和条件) 下,执行以下操作:

    1. 在 Metails (指标算法) 保留默认值。有关可用统计数据的更多信息,请参阅 Amazon CloudWatch 用户指南中的统计数据

    2. 在 “条件” 下,为 “阈值” 选择静态

    3. 对于 “定义警报条件”,选择 “大于/等于”。

    4. 定义阈值中,输入1

    5. 选择 Next(下一步)

  11. 配置操作下,执行以下操作:

    1. 在 “警报状态触发器” 下,选择 “警报中”。

    2. Select an SNS topic (选择 SNS 主题) 下,选择 Select an existing SNS topic (选择现有的 SNS 主题)

    3. 对于 Send to(发送通知),请输入您在上一步中创建的 SNS 主题名称。

    4. 选择 Next(下一步)

  12. 添加名称和描述下,输入警报的名称描述。例如,CIS-3.12-NetworkGatewayChanges。然后选择下一步

  13. 在 “预览并创建” 下,查看警报配置。然后选择 Create alarm (创建警报)

3.13 — 确保存在路由表更改的日志指标筛选条件和警报

严重性:

Amazon Config规则:无(自定义Security Hub 规则)

时间表类型:定期

通过将 CloudTrail 日志定向到 CloudWatch 日志并建立相应的指标筛选条件和警报,您可以对 API 调用进行实时监控。路由表在子网和网络网关之间路由网络流量。

CIS 建议您为路由表的更改创建指标筛选条件和警报。监控此类更改有助于确保所有 VPC 流量都流经预期路径。

为了运行此检查,Security Hub 使用自定义逻辑来执行 CISAmazon Foundations Benchmark v1.2 中为控制 3.13 规定的确切审计步骤。如果不使用 CIS 规定的确切度量筛选条件,则此控制将会失败。不能向指标筛选条件中添加附加其他字段或搜索词。

注意

当 Security Hub 对此控件执行检查时,它会查找当前账户使用的 CloudTrail 跟踪。这些跟踪可能是属于另一个账户的组织跟踪。多区域路线也可能位于不同的区域。

在以下情况下,检查FAILED结果是不明的:

  • 未配置任何跟踪。

  • 当前区域内且由往来账户拥有的可用跟踪不符合控制要求。

在以下情况下,检查会导致控制状态为:NO_DATA

  • 多区域路线位于不同的区域。Security Hub 只能在跟踪所在的区域生成调查结果。

  • 多区域跟踪属于不同的账户。Security Hub 只能为拥有跟踪的账户生成调查结果。

对于警报,当前账户必须拥有引用的 Amazon SNS 主题,或者必须通过调用获得对 Amazon SNS 主题的访问权限ListSubscriptionsByTopic。否则,Security Hub 会生成控件的WARNING调查结果。

修复

修复此问题的步骤包括设置 Amazon SNS 主题、 CloudTrail跟踪、指标筛选条件和指标筛选条件警报。

创建 Amazon SNS 主题
  1. 通过以下网址打开 Amazon SNS 控制台:https://console.aws.amazon.com/sns/v3/home

  2. 创建 Amazon SNS 主题接收所有 CIAmazon SNS 主题。

    为该主题创建至少一个订阅者。有关更多信息,请参阅 Amazon Simple Notification Service 开发人员指南中的 Amazon SNS 入门

接下来,设置适用于所有地区的活动 CloudTrail 。为此,请按照2.1 — 确保 CloudTrail 在所有区域均已启用中的修复步骤进行操作。

记下与 CloudTrail 跟踪关联的 CloudWatch 日志日志组的名称。您可以为该日志组创建指标筛选条件。

最后,创建指标筛选条件和警报。

创建指标筛选条件和警报
  1. 通过 https://console.aws.amazon.com/cloudwatch/ 打开 CloudWatch 控制台。

  2. 在导航窗格中,选择 Log groups(日志组)

  3. 选中与您创建的 CloudTrail 跟踪关联的 CloudWatch 日志日志组对应的复选框。

  4. 操作中,选择创建指标筛选条件

  5. 定义模式下,执行以下操作:

    1. 复制以下模式,然后将其粘贴到 Filter Pattern (筛选条件模式) 字段中。

      {($.eventName=CreateRoute) || ($.eventName=CreateRouteTable) || ($.eventName=ReplaceRoute) || ($.eventName=ReplaceRouteTableAssociation) || ($.eventName=DeleteRouteTable) || ($.eventName=DeleteRoute) || ($.eventName=DisassociateRouteTable)}
    2. 选择 Next(下一步)

  6. 分配指标下,执行以下操作:

    1. 筛选条件名称中,输入指标筛选条件的名称。

    2. 对于指标命名空间,输入LogMetrics

      如果您对所有 CIS 日志指标筛选器使用相同的命名空间,则所有 CIS Benchmark 指标将组合在一起。

    3. 对于 M etric nam e(指标名称),为其输入指标名称。记住指标的名称。您需要在创建警报时选择指标。

    4. 对于 Metric value(指标值),输入 1

    5. 选择 Next(下一步)

  7. 在 “查看并创建” 下,验证您为新指标筛选条件提供的信息。然后选择创建指标筛选条件

  8. 选择 Metrics (指标筛选器) 选项卡,然后选择刚创建的指标筛选器。

    要选择指标筛选器,请选中右上方的复选框。

  9. 选择 Create Alarm(创建告警)

  10. 在 C onget (指定指标和条件) 下,执行以下操作:

    1. 在 “指标” 下,在 “统计数据” 中,选择 “平均值”。有关可用统计数据的更多信息,请参阅 Amazon CloudWatch 用户指南中的统计数据

    2. 在 “条件” 下,为 “阈值” 选择静态

    3. 对于 “定义警报条件”,选择 “大于/等于”。

    4. 定义阈值中,输入1

    5. 选择 Next(下一步)

  11. 配置操作下,执行以下操作:

    1. 在 “警报状态触发器” 下,选择 “警报中”。

    2. Select an SNS topic (选择 SNS 主题) 下,选择 Select an existing SNS topic (选择现有的 SNS 主题)

    3. 对于 Send to(发送通知),请输入您在上一步中创建的 SNS 主题名称。

    4. 选择 Next(下一步)

  12. 添加名称和描述下,输入警报的名称描述。例如,CIS-3.13-RouteTableChanges。然后选择下一步

  13. 在 “预览并创建” 下,查看警报配置。然后选择 Create alarm (创建警报)

3.14 — 确保 VPC 更改存在日志指标筛选条件和警报

严重性:

Amazon Config规则:无(自定义Security Hub 规则)

时间表类型:定期

通过将 CloudTrail 日志定向到 CloudWatch 日志并建立相应的指标筛选条件和警报,您可以对 API 调用进行实时监控。您可以在一个账户中拥有多个 VPC,并在两个 VPC 之间创建对等连接,从而使网络流量能够在 VPC 之间路由。

CIS 建议您为 VPC 的变化创建指标筛选条件和警报。监控此类更改有助于确保身份验证和授权控制保持不变。

为了运行此检查,Security Hub 使用自定义逻辑来执行 CISAmazon Foundations Benchmark v1.2 中为控制 3.14 规定的确切审计步骤。如果不使用 CIS 规定的确切度量筛选条件,则此控制将会失败。不能向指标筛选条件中添加附加其他字段或搜索词。

注意

当 Security Hub 对此控件执行检查时,它会查找当前账户使用的 CloudTrail 跟踪。这些跟踪可能是属于另一个账户的组织跟踪。多区域路线也可能位于不同的区域。

在以下情况下,检查FAILED结果是不明的:

  • 未配置任何跟踪。

  • 当前区域内且由往来账户拥有的可用跟踪不符合控制要求。

在以下情况下,检查会导致控制状态为:NO_DATA

  • 多区域路线位于不同的区域。Security Hub 只能在跟踪所在的区域生成调查结果。

  • 多区域跟踪属于不同的账户。Security Hub 只能为拥有跟踪的账户生成调查结果。

对于警报,当前账户必须拥有引用的 Amazon SNS 主题,或者必须通过调用获得对 Amazon SNS 主题的访问权限ListSubscriptionsByTopic。否则,Security Hub 会生成控件的WARNING调查结果。

修复

修复此问题的步骤包括设置 Amazon SNS 主题、 CloudTrail跟踪、指标筛选条件和指标筛选条件警报。

创建 Amazon SNS 主题
  1. 通过以下网址打开 Amazon SNS 控制台:https://console.aws.amazon.com/sns/v3/home

  2. 创建 Amazon SNS 主题接收所有 CIAmazon SNS 主题。

    为该主题创建至少一个订阅者。有关更多信息,请参阅 Amazon Simple Notification Service 开发人员指南中的 Amazon SNS 入门

接下来,设置适用于所有地区的活动 CloudTrail 。为此,请按照2.1 — 确保 CloudTrail 在所有区域均已启用中的修复步骤进行操作。

记下与 CloudTrail 跟踪关联的 CloudWatch 日志日志组的名称。您可以为该日志组创建指标筛选条件。

最后,创建指标筛选条件和警报。

创建指标筛选条件和警报
  1. 通过 https://console.aws.amazon.com/cloudwatch/ 打开 CloudWatch 控制台。

  2. 在导航窗格中,选择 Log groups(日志组)

  3. 选中与您创建的 CloudTrail 跟踪关联的 CloudWatch 日志日志组对应的复选框。

  4. 操作中,选择创建指标筛选条件

  5. 定义模式下,执行以下操作:

    1. 复制以下模式,然后将其粘贴到 Filter Pattern (筛选条件模式) 字段中。

      {($.eventName=CreateVpc) || ($.eventName=DeleteVpc) || ($.eventName=ModifyVpcAttribute) || ($.eventName=AcceptVpcPeeringConnection) || ($.eventName=CreateVpcPeeringConnection) || ($.eventName=DeleteVpcPeeringConnection) || ($.eventName=RejectVpcPeeringConnection) || ($.eventName=AttachClassicLinkVpc) || ($.eventName=DetachClassicLinkVpc) || ($.eventName=DisableVpcClassicLink) || ($.eventName=EnableVpcClassicLink)}
    2. 选择 Next(下一步)

  6. 分配指标下,执行以下操作:

    1. 筛选条件名称中,输入指标筛选条件的名称。

    2. 对于指标命名空间,输入LogMetrics

      如果您对所有 CIS 日志指标筛选器使用相同的命名空间,则所有 CIS Benchmark 指标将组合在一起。

    3. 对于 M etric nam e(指标名称),为其输入指标名称。记住指标的名称。您需要在创建警报时选择指标。

    4. 对于 Metric value(指标值),输入 1

    5. 选择 Next(下一步)

  7. 在 “查看并创建” 下,验证您为新指标筛选条件提供的信息。然后选择创建指标筛选条件

  8. 选择 Metrics (指标筛选器) 选项卡,然后选择刚创建的指标筛选器。

    要选择指标筛选器,请选中右上方的复选框。

  9. 选择 Create Alarm(创建告警)

  10. 在 C onget (指定指标和条件) 下,执行以下操作:

    1. 在 “指标” 下,在 “统计数据” 中,选择 “平均值”。有关可用统计数据的更多信息,请参阅 Amazon CloudWatch 用户指南中的统计数据

    2. 在 “条件” 下,为 “阈值” 选择静态

    3. 对于 “定义警报条件”,选择 “大于/等于”。

    4. 定义阈值中,输入1

    5. 选择 Next(下一步)

  11. 配置操作下,执行以下操作:

    1. 在 “警报状态触发器” 下,选择 “警报中”。

    2. Select an SNS topic (选择 SNS 主题) 下,选择 Select an existing SNS topic (选择现有的 SNS 主题)

    3. 对于 Send to(发送通知),请输入您在上一步中创建的 SNS 主题名称。

    4. 选择 Next(下一步)

  12. 添加名称和描述下,输入警报的名称描述。例如,CIS-3.14-VPCChanges。然后选择下一步

  13. 在 “预览并创建” 下,查看警报配置。然后选择 Create alarm (创建警报)

4.1 — 确保没有安全组允许从 0.0.0.0.0.0.0.0.0 进入端口 22

严重性:

Amazon Config 规则:restricted-ssh

时间表类型:触触触触更改

安全组为 Amazon 资源提供传入和传出网络流量的有状态筛选。

CIS 建议任何安全组都不允许对端口 22 进行不受限制的入口访问。删除与 SSH 等远程控制台服务的自由连接可减少服务器暴露的风险。

注意

以下区域不支持此控制。

  • 非洲(开普敦)

  • 亚太地区(大阪)

  • 欧洲(米兰)

修复

对与 VPC 关联的每个安全组执行以下步骤。

  1. 通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/

  2. 在左侧窗格中,选择安全组

  3. 选择一个安全组。

  4. 在页面底部,选择 Inbound Rules (入站规则) 选项卡。

  5. 选择 Edit rules (编辑规则)

  6. 确定允许通过端口 22 进行访问的规则,然后选择 X 将其删除。

  7. 选择 Save rules(保存规则)。

4.2 — 确保没有安全组允许从 0.0.0.0.0.0.0.0.0 进入端口 3389

严重性:

Amazon Config 规则:restricted-common-ports

时间表类型:触触触触更改

关联的Amazon Config托管规则的名称是 restricted-common-ports。但是,创建的规则使用名称restricted-rdp

安全组为 Amazon 资源提供传入和传出网络流量的有状态筛选。

CIS 建议任何安全组都不允许对端口 3389 进行不受限制的入口访问。删除与 RDP 等远程控制台服务的自由连接可减少服务器暴露的风险。

注意

以下区域不支持此控制。

  • 非洲(开普敦)

  • 亚太地区(大阪)

  • 欧洲(米兰)

修复

对与 VPC 关联的每个安全组执行以下步骤。

  1. 通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/

  2. 在左侧窗格中,选择安全组

  3. 选择一个安全组。

  4. 在页面底部,选择 Inbound Rules (入站规则) 选项卡。

  5. 选择 Edit rules (编辑规则)

  6. 确定允许通过端口 3389 进行访问的规则,然后选择 X 将其删除。

  7. 选择 Save rules(保存规则)。

4.3 — 确保每个 VPC 的默认安全组限制所有流量

严重性:

Amazon Config 规则:vpc-default-security-group-closed

时间表类型:触触触触更改

VPC 会生成默认安全组,它的初始设置将拒绝所有入站数据流、允许所有出站数据流、以及允许在分配到您的安全组的实例间的所有数据流。如果您在启动实例时未指定安全组,实例将自动关联到默认安全组。安全组为 Amazon 资源提供传入和传出网络流量的有状态筛选。

CIS 建议默认安全组限制所有流量。

更新要确保合规的每个区域中默认 VPC 的默认安全组。任何新的 VPC 都自动包含默认安全组,您需要对该默认安全组进行修复,以遵守此建议。

注意

在实施此建议时,您可以使用启用的 VPC 流量日志来确定系统正常运行所需的最低权限端口访问权限。2.9 — 确保在所有 VPC 中启用 VPC 流量记录 VPC 流量记录可以记录当前安全组下发生的所有数据包接受和拒绝。

将所有 VPC 默认安全组配置为限制所有流量,鼓励开发最低权限安全组并谨慎地将Amazon资源放入安全组。这反过来又减少了这些资源的暴露量。

修复

更新默认安全组以限制所有访问
  1. 通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/

  2. 查看默认安全组详细信息以了解分配给它们的资源。

  3. 为资源创建一组最小权限安全组。

  4. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  5. 在 Amazon EC2 控制台上,将使用默认安全组的资源的安全组更改为您创建的最低权限安全组。

  6. 对于每个默认安全组,请选择 Inbound (入站) 选项卡并删除所有入站规则。

  7. 对于每个默认安全组,请选择 Outbound (出站) 选项卡并删除所有出站规则。

有关更多信息,请参阅 Amazon VPC 用户指南中的使用安全组