亚马逊 CloudWatch 控制 - Amazon Security Hub
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

亚马逊 CloudWatch 控制

这些控制措施与 CloudWatch 资源有关。

这些控件可能并非全部可用Amazon Web Services 区域。有关更多信息,请参阅按地区划分的控件可用性

[CloudWatch.1] “root” 用户应有日志指标筛选器和警报

相关要求:PCI DSS v3.2.1/7.2.1、独联体基金会基准 v1.2.0/1.1、独联体基金会基准 v1.2.0/3.3、独联体Amazon基金会基准 v1.4.0/1.7、独联体基金会基准 v1.4.0/1.7、CIS Amazon 基金会基准 v1.4.0/4.3 Amazon Amazon

类别:检测 > 检测服务

严重性:

资源类型:AWS::Logs::MetricFilterAWS::CloudWatch::AlarmAWS::CloudTrail::TrailAWS::SNS::Topic

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

计划类型:定期

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

最佳做法是,仅在需要执行账户和服务管理任务时才使用根用户证书。将 Amazon Identity and Access Management (IAM) 策略直接应用于群组和角色,但不适用于用户。有关如何设置日常使用的管理员的教程,请参阅 IAM 用户指南中的创建您的第一个 IAM 管理员用户和群组

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

注意

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

在以下情况下,该检查会得出FAILED调查结果:

  • 未配置任何跟踪。

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

在以下情况下,检查结果NO_DATA的控制状态为:

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

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

    我们建议使用组织跟踪来记录来自组织中多个账户的事件。默认情况下,组织跟踪是多区域跟踪,只能由Amazon Organizations管理账户或 CloudTrail 委派的管理员账户进行管理。使用组织跟踪会导致在组织成员账户中评估NO_DATA的控件的控制状态为。在成员账户中,Security Hub 仅针对成员拥有的资源生成调查结果。与组织跟踪相关的调查结果在资源所有者的账户中生成。您可以使用跨区域聚合在您的 Security Hub 委托管理员账户中查看这些发现。

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

修复

要通过此控制,请按照以下步骤为指标筛选器创建 Amazon SNS 主题、Amazon CloudTrail跟踪、指标筛选条件和警报。

  1. 创建 Amazon SNS 主题。有关说明,请参阅《亚马逊简单通知服务开发者指南》中的 Amazon SNS 入门。创建一个接收所有 CIS 警报的主题,并至少创建一个该主题的订阅。

  2. 创建适用于所有人的 CloudTrail 跟踪Amazon Web Services 区域。有关说明,请参阅《Amazon CloudTrail用户指南》中的创建跟踪

    记下与 CloudTrail 跟踪关联的 Log CloudWatch s 日志组的名称。您将在下一步中为该日志组创建指标筛选器。

  3. 创建指标筛选条件。有关说明,请参阅亚马逊 CloudWatch 用户指南中的为日志组创建指标筛选条件。使用以下值:

    字段

    定义模式,过滤模式

    {$.userIdentity.type="Root" && $.userIdentity.invokedBy NOT EXISTS && $.eventType !="AwsServiceEvent"}

    指标命名空间

    LogMetrics

    指标值

    1

    默认值

    0

  4. 根据过滤器创建警报。有关说明,请参阅《亚马逊 CloudWatch 用户指南》中的基于日志组指标筛选条件创建 CloudWatch 警报。使用以下值:

    字段

    条件,阈值类型

    静态

    your-metric-name什么时候...

    大于/等于

    比...

    1

[CloudWatch.2] 确保存在针对未经授权的 API 调用的日志指标筛选器和警报

相关要求:独联体Amazon基金会基准 v1.2.0/3.1

类别:检测 > 检测服务

严重性:

资源类型:AWS::Logs::MetricFilterAWS::CloudWatch::AlarmAWS::CloudTrail::TrailAWS::SNS::Topic

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

计划类型:定期

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

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

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

注意

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

在以下情况下,该检查会得出FAILED调查结果:

  • 未配置任何跟踪。

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

在以下情况下,检查结果NO_DATA的控制状态为:

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

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

    我们建议使用组织跟踪来记录来自组织中多个账户的事件。默认情况下,组织跟踪是多区域跟踪,只能由Amazon Organizations管理账户或 CloudTrail 委派的管理员账户进行管理。使用组织跟踪会导致在组织成员账户中评估NO_DATA的控件的控制状态为。在成员账户中,Security Hub 仅针对成员拥有的资源生成调查结果。与组织跟踪相关的调查结果在资源所有者的账户中生成。您可以使用跨区域聚合在您的 Security Hub 委托管理员账户中查看这些发现。

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

修复

要通过此控制,请按照以下步骤为指标筛选器创建 Amazon SNS 主题、Amazon CloudTrail跟踪、指标筛选条件和警报。

  1. 创建 Amazon SNS 主题。有关说明,请参阅《亚马逊简单通知服务开发者指南》中的 Amazon SNS 入门。创建一个接收所有 CIS 警报的主题,并至少创建一个该主题的订阅。

  2. 创建适用于所有人的 CloudTrail 跟踪Amazon Web Services 区域。有关说明,请参阅《Amazon CloudTrail用户指南》中的创建跟踪

    记下与 CloudTrail 跟踪关联的 Log CloudWatch s 日志组的名称。您将在下一步中为该日志组创建指标筛选器。

  3. 创建指标筛选条件。有关说明,请参阅亚马逊 CloudWatch 用户指南中的为日志组创建指标筛选条件。使用以下值:

    字段

    定义模式,过滤模式

    {($.errorCode="*UnauthorizedOperation") || ($.errorCode="AccessDenied*")}

    指标命名空间

    LogMetrics

    指标值

    1

    默认值

    0

  4. 根据过滤器创建警报。有关说明,请参阅《亚马逊 CloudWatch 用户指南》中的基于日志组指标筛选条件创建 CloudWatch 警报。使用以下值:

    字段

    条件,阈值类型

    静态

    your-metric-name什么时候...

    大于/等于

    比...

    1

[CloudWatch.3] 确保在没有 MFA 的情况下登录管理控制台时存在日志指标筛选器和警报

相关要求:独联体Amazon基金会基准 v1.2.0/3.2

类别:检测 > 检测服务

严重性:

资源类型:AWS::Logs::MetricFilterAWS::CloudWatch::AlarmAWS::CloudTrail::TrailAWS::SNS::Topic

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

计划类型:定期

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

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

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

注意

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

在以下情况下,该检查会得出FAILED调查结果:

  • 未配置任何跟踪。

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

在以下情况下,检查结果NO_DATA的控制状态为:

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

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

    我们建议使用组织跟踪来记录来自组织中多个账户的事件。默认情况下,组织跟踪是多区域跟踪,只能由Amazon Organizations管理账户或 CloudTrail 委派的管理员账户进行管理。使用组织跟踪会导致在组织成员账户中评估NO_DATA的控件的控制状态为。在成员账户中,Security Hub 仅针对成员拥有的资源生成调查结果。与组织跟踪相关的调查结果在资源所有者的账户中生成。您可以使用跨区域聚合在您的 Security Hub 委托管理员账户中查看这些发现。

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

修复

要通过此控制,请按照以下步骤为指标筛选器创建 Amazon SNS 主题、Amazon CloudTrail跟踪、指标筛选条件和警报。

  1. 创建 Amazon SNS 主题。有关说明,请参阅《亚马逊简单通知服务开发者指南》中的 Amazon SNS 入门。创建一个接收所有 CIS 警报的主题,并至少创建一个该主题的订阅。

  2. 创建适用于所有人的 CloudTrail 跟踪Amazon Web Services 区域。有关说明,请参阅《Amazon CloudTrail用户指南》中的创建跟踪

    记下与 CloudTrail 跟踪关联的 Log CloudWatch s 日志组的名称。您将在下一步中为该日志组创建指标筛选器。

  3. 创建指标筛选条件。有关说明,请参阅亚马逊 CloudWatch 用户指南中的为日志组创建指标筛选条件。使用以下值:

    字段

    定义模式,过滤模式

    { ($.eventName = "ConsoleLogin") && ($.additionalEventData.MFAUsed != "Yes") && ($.userIdentity.type = "IAMUser") && ($.responseElements.ConsoleLogin = "Success") }

    指标命名空间

    LogMetrics

    指标值

    1

    默认值

    0

  4. 根据过滤器创建警报。有关说明,请参阅《亚马逊 CloudWatch 用户指南》中的基于日志组指标筛选条件创建 CloudWatch 警报。使用以下值:

    字段

    条件,阈值类型

    静态

    your-metric-name什么时候...

    大于/等于

    比...

    1

[CloudWatch.4] 确保存在针对 IAM 策略更改的日志指标筛选器和警报

相关要求:独联体Amazon基金会基准 v1.2.0/3.4、CIS 基金会基准 v1.4.0/4.4 Amazon

类别:检测 > 检测服务

严重性:

资源类型:AWS::Logs::MetricFilterAWS::CloudWatch::AlarmAWS::CloudTrail::TrailAWS::SNS::Topic

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

计划类型:定期

此控件通过将 CloudTrail 日志定向到 CloudWatch 日志并建立相应的指标筛选器和警报来检查您是否实时监控 API 调用。

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

注意

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

在以下情况下,该检查会得出FAILED调查结果:

  • 未配置任何跟踪。

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

在以下情况下,检查结果NO_DATA的控制状态为:

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

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

    我们建议使用组织跟踪来记录来自组织中多个账户的事件。默认情况下,组织跟踪是多区域跟踪,只能由Amazon Organizations管理账户或 CloudTrail 委派的管理员账户进行管理。使用组织跟踪会导致在组织成员账户中评估NO_DATA的控件的控制状态为。在成员账户中,Security Hub 仅针对成员拥有的资源生成调查结果。与组织跟踪相关的调查结果在资源所有者的账户中生成。您可以使用跨区域聚合在您的 Security Hub 委托管理员账户中查看这些发现。

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

修复

注意

我们在这些补救步骤中推荐的过滤器模式与 CIS 指南中的过滤模式不同。我们推荐的过滤器仅针对来自 IAM API 调用的事件。

要通过此控制,请按照以下步骤为指标筛选器创建 Amazon SNS 主题、Amazon CloudTrail跟踪、指标筛选条件和警报。

  1. 创建 Amazon SNS 主题。有关说明,请参阅《亚马逊简单通知服务开发者指南》中的 Amazon SNS 入门。创建一个接收所有 CIS 警报的主题,并至少创建一个该主题的订阅。

  2. 创建适用于所有人的 CloudTrail 跟踪Amazon Web Services 区域。有关说明,请参阅《Amazon CloudTrail用户指南》中的创建跟踪

    记下与 CloudTrail 跟踪关联的 Log CloudWatch s 日志组的名称。您将在下一步中为该日志组创建指标筛选器。

  3. 创建指标筛选条件。有关说明,请参阅亚马逊 CloudWatch 用户指南中的为日志组创建指标筛选条件。使用以下值:

    字段

    定义模式,过滤模式

    {($.eventSource=iam.amazonaws.com) && (($.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))}

    指标命名空间

    LogMetrics

    指标值

    1

    默认值

    0

  4. 根据过滤器创建警报。有关说明,请参阅《亚马逊 CloudWatch 用户指南》中的基于日志组指标筛选条件创建 CloudWatch 警报。使用以下值:

    字段

    条件,阈值类型

    静态

    your-metric-name什么时候...

    大于/等于

    比...

    1

[CloudWatch.5] 确保存在针对 CloudTrail Amazon Config持续时间变化的日志指标筛选器和警报

相关要求:独联体Amazon基金会基准 v1.2.0/3.5、CIS 基金会基准 v1.4.0/4.5 Amazon

类别:检测 > 检测服务

严重性:

资源类型:AWS::Logs::MetricFilterAWS::CloudWatch::AlarmAWS::CloudTrail::TrailAWS::SNS::Topic

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

计划类型:定期

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

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

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

注意

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

在以下情况下,该检查会得出FAILED调查结果:

  • 未配置任何跟踪。

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

在以下情况下,检查结果NO_DATA的控制状态为:

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

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

    我们建议使用组织跟踪来记录来自组织中多个账户的事件。默认情况下,组织跟踪是多区域跟踪,只能由Amazon Organizations管理账户或 CloudTrail 委派的管理员账户进行管理。使用组织跟踪会导致在组织成员账户中评估NO_DATA的控件的控制状态为。在成员账户中,Security Hub 仅针对成员拥有的资源生成调查结果。与组织跟踪相关的调查结果在资源所有者的账户中生成。您可以使用跨区域聚合在您的 Security Hub 委托管理员账户中查看这些发现。

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

修复

要通过此控制,请按照以下步骤为指标筛选器创建 Amazon SNS 主题、Amazon CloudTrail跟踪、指标筛选条件和警报。

  1. 创建 Amazon SNS 主题。有关说明,请参阅《亚马逊简单通知服务开发者指南》中的 Amazon SNS 入门。创建一个接收所有 CIS 警报的主题,并至少创建一个该主题的订阅。

  2. 创建适用于所有人的 CloudTrail 跟踪Amazon Web Services 区域。有关说明,请参阅《Amazon CloudTrail用户指南》中的创建跟踪

    记下与 CloudTrail 跟踪关联的 Log CloudWatch s 日志组的名称。您将在下一步中为该日志组创建指标筛选器。

  3. 创建指标筛选条件。有关说明,请参阅亚马逊 CloudWatch 用户指南中的为日志组创建指标筛选条件。使用以下值:

    字段

    定义模式,过滤模式

    {($.eventName=CreateTrail) || ($.eventName=UpdateTrail) || ($.eventName=DeleteTrail) || ($.eventName=StartLogging) || ($.eventName=StopLogging)}

    指标命名空间

    LogMetrics

    指标值

    1

    默认值

    0

  4. 根据过滤器创建警报。有关说明,请参阅《亚马逊 CloudWatch 用户指南》中的基于日志组指标筛选条件创建 CloudWatch 警报。使用以下值:

    字段

    条件,阈值类型

    静态

    your-metric-name什么时候...

    大于/等于

    比...

    1

[CloudWatch.6] 确保存在针对Amazon Web Services Management Console身份验证失败的日志指标筛选器和警报

相关要求:独联体Amazon基金会基准 v1.2.0/3.6、CIS 基金会基准 v1.4.0/4.6 Amazon

类别:检测 > 检测服务

严重性:

资源类型:AWS::Logs::MetricFilterAWS::CloudWatch::AlarmAWS::CloudTrail::TrailAWS::SNS::Topic

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

计划类型:定期

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

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

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

注意

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

在以下情况下,该检查会得出FAILED调查结果:

  • 未配置任何跟踪。

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

在以下情况下,检查结果NO_DATA的控制状态为:

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

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

    我们建议使用组织跟踪来记录来自组织中多个账户的事件。默认情况下,组织跟踪是多区域跟踪,只能由Amazon Organizations管理账户或 CloudTrail 委派的管理员账户进行管理。使用组织跟踪会导致在组织成员账户中评估NO_DATA的控件的控制状态为。在成员账户中,Security Hub 仅针对成员拥有的资源生成调查结果。与组织跟踪相关的调查结果在资源所有者的账户中生成。您可以使用跨区域聚合在您的 Security Hub 委托管理员账户中查看这些发现。

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

修复

要通过此控制,请按照以下步骤为指标筛选器创建 Amazon SNS 主题、Amazon CloudTrail跟踪、指标筛选条件和警报。

  1. 创建 Amazon SNS 主题。有关说明,请参阅《亚马逊简单通知服务开发者指南》中的 Amazon SNS 入门。创建一个接收所有 CIS 警报的主题,并至少创建一个该主题的订阅。

  2. 创建适用于所有人的 CloudTrail 跟踪Amazon Web Services 区域。有关说明,请参阅《Amazon CloudTrail用户指南》中的创建跟踪

    记下与 CloudTrail 跟踪关联的 Log CloudWatch s 日志组的名称。您将在下一步中为该日志组创建指标筛选器。

  3. 创建指标筛选条件。有关说明,请参阅亚马逊 CloudWatch 用户指南中的为日志组创建指标筛选条件。使用以下值:

    字段

    定义模式,过滤模式

    {($.eventName=ConsoleLogin) && ($.errorMessage="Failed authentication")}

    指标命名空间

    LogMetrics

    指标值

    1

    默认值

    0

  4. 根据过滤器创建警报。有关说明,请参阅《亚马逊 CloudWatch 用户指南》中的基于日志组指标筛选条件创建 CloudWatch 警报。使用以下值:

    字段

    条件,阈值类型

    静态

    your-metric-name什么时候...

    大于/等于

    比...

    1

[CloudWatch.7] 确保存在用于禁用或计划删除客户托管密钥的日志指标筛选器和警报

相关要求:独联体Amazon基金会基准 v1.2.0/3.7、CIS 基金会基准 v1.4.0/4.7 Amazon

类别:检测 > 检测服务

严重性:

资源类型:AWS::Logs::MetricFilterAWS::CloudWatch::AlarmAWS::CloudTrail::TrailAWS::SNS::Topic

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

计划类型:定期

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

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

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

注意

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

在以下情况下,该检查会得出FAILED调查结果:

  • 未配置任何跟踪。

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

在以下情况下,检查结果NO_DATA的控制状态为:

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

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

    我们建议使用组织跟踪来记录来自组织中多个账户的事件。默认情况下,组织跟踪是多区域跟踪,只能由Amazon Organizations管理账户或 CloudTrail 委派的管理员账户进行管理。使用组织跟踪会导致在组织成员账户中评估NO_DATA的控件的控制状态为。在成员账户中,Security Hub 仅针对成员拥有的资源生成调查结果。与组织跟踪相关的调查结果在资源所有者的账户中生成。您可以使用跨区域聚合在您的 Security Hub 委托管理员账户中查看这些发现。

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

修复

要通过此控制,请按照以下步骤为指标筛选器创建 Amazon SNS 主题、Amazon CloudTrail跟踪、指标筛选条件和警报。

  1. 创建 Amazon SNS 主题。有关说明,请参阅《亚马逊简单通知服务开发者指南》中的 Amazon SNS 入门。创建一个接收所有 CIS 警报的主题,并至少创建一个该主题的订阅。

  2. 创建适用于所有人的 CloudTrail 跟踪Amazon Web Services 区域。有关说明,请参阅《Amazon CloudTrail用户指南》中的创建跟踪

    记下与 CloudTrail 跟踪关联的 Log CloudWatch s 日志组的名称。您将在下一步中为该日志组创建指标筛选器。

  3. 创建指标筛选条件。有关说明,请参阅亚马逊 CloudWatch 用户指南中的为日志组创建指标筛选条件。使用以下值:

    字段

    定义模式,过滤模式

    {($.eventSource=kms.amazonaws.com) && (($.eventName=DisableKey) || ($.eventName=ScheduleKeyDeletion))}

    指标命名空间

    LogMetrics

    指标值

    1

    默认值

    0

  4. 根据过滤器创建警报。有关说明,请参阅《亚马逊 CloudWatch 用户指南》中的基于日志组指标筛选条件创建 CloudWatch 警报。使用以下值:

    字段

    条件,阈值类型

    静态

    your-metric-name什么时候...

    大于/等于

    比...

    1

[CloudWatch.8] 确保存在针对 S3 存储桶策略更改的日志指标筛选器和警报

相关要求:独联体Amazon基金会基准 v1.2.0/3.8、CIS 基金会基准 v1.4.0/4.8 Amazon

类别:检测 > 检测服务

严重性:

资源类型:AWS::Logs::MetricFilterAWS::CloudWatch::AlarmAWS::CloudTrail::TrailAWS::SNS::Topic

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

计划类型:定期

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

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

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

注意

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

在以下情况下,该检查会得出FAILED调查结果:

  • 未配置任何跟踪。

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

在以下情况下,检查结果NO_DATA的控制状态为:

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

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

    我们建议使用组织跟踪来记录来自组织中多个账户的事件。默认情况下,组织跟踪是多区域跟踪,只能由Amazon Organizations管理账户或 CloudTrail 委派的管理员账户进行管理。使用组织跟踪会导致在组织成员账户中评估NO_DATA的控件的控制状态为。在成员账户中,Security Hub 仅针对成员拥有的资源生成调查结果。与组织跟踪相关的调查结果在资源所有者的账户中生成。您可以使用跨区域聚合在您的 Security Hub 委托管理员账户中查看这些发现。

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

修复

要通过此控制,请按照以下步骤为指标筛选器创建 Amazon SNS 主题、Amazon CloudTrail跟踪、指标筛选条件和警报。

  1. 创建 Amazon SNS 主题。有关说明,请参阅《亚马逊简单通知服务开发者指南》中的 Amazon SNS 入门。创建一个接收所有 CIS 警报的主题,并至少创建一个该主题的订阅。

  2. 创建适用于所有人的 CloudTrail 跟踪Amazon Web Services 区域。有关说明,请参阅《Amazon CloudTrail用户指南》中的创建跟踪

    记下与 CloudTrail 跟踪关联的 Log CloudWatch s 日志组的名称。您将在下一步中为该日志组创建指标筛选器。

  3. 创建指标筛选条件。有关说明,请参阅亚马逊 CloudWatch 用户指南中的为日志组创建指标筛选条件。使用以下值:

    字段

    定义模式,过滤模式

    {($.eventSource=s3.amazonaws.com) && (($.eventName=PutBucketAcl) || ($.eventName=PutBucketPolicy) || ($.eventName=PutBucketCors) || ($.eventName=PutBucketLifecycle) || ($.eventName=PutBucketReplication) || ($.eventName=DeleteBucketPolicy) || ($.eventName=DeleteBucketCors) || ($.eventName=DeleteBucketLifecycle) || ($.eventName=DeleteBucketReplication))}

    指标命名空间

    LogMetrics

    指标值

    1

    默认值

    0

  4. 根据过滤器创建警报。有关说明,请参阅《亚马逊 CloudWatch 用户指南》中的基于日志组指标筛选条件创建 CloudWatch 警报。使用以下值:

    字段

    条件,阈值类型

    静态

    your-metric-name什么时候...

    大于/等于

    比...

    1

[CloudWatch.9] 确保存在针对Amazon Config配置更改的日志指标筛选器和警报

相关要求:独联体Amazon基金会基准 v1.2.0/3.9、CIS 基金会基准 v1.4.0/4.9 Amazon

类别:检测 > 检测服务

严重性:

资源类型:AWS::Logs::MetricFilterAWS::CloudWatch::AlarmAWS::CloudTrail::TrailAWS::SNS::Topic

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

计划类型:定期

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

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

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

注意

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

在以下情况下,该检查会得出FAILED调查结果:

  • 未配置任何跟踪。

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

在以下情况下,检查结果NO_DATA的控制状态为:

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

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

    我们建议使用组织跟踪来记录来自组织中多个账户的事件。默认情况下,组织跟踪是多区域跟踪,只能由Amazon Organizations管理账户或 CloudTrail 委派的管理员账户进行管理。使用组织跟踪会导致在组织成员账户中评估NO_DATA的控件的控制状态为。在成员账户中,Security Hub 仅针对成员拥有的资源生成调查结果。与组织跟踪相关的调查结果在资源所有者的账户中生成。您可以使用跨区域聚合在您的 Security Hub 委托管理员账户中查看这些发现。

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

修复

要通过此控制,请按照以下步骤为指标筛选器创建 Amazon SNS 主题、Amazon CloudTrail跟踪、指标筛选条件和警报。

  1. 创建 Amazon SNS 主题。有关说明,请参阅《亚马逊简单通知服务开发者指南》中的 Amazon SNS 入门。创建一个接收所有 CIS 警报的主题,并至少创建一个该主题的订阅。

  2. 创建适用于所有人的 CloudTrail 跟踪Amazon Web Services 区域。有关说明,请参阅《Amazon CloudTrail用户指南》中的创建跟踪

    记下与 CloudTrail 跟踪关联的 CloudWatch 日志日志组的名称。您将在下一步中为该日志组创建指标筛选器。

  3. 创建指标筛选条件。有关说明,请参阅亚马逊 CloudWatch 用户指南中的为日志组创建指标筛选条件。使用以下值:

    字段

    定义模式,过滤模式

    {($.eventSource=config.amazonaws.com) && (($.eventName=StopConfigurationRecorder) || ($.eventName=DeleteDeliveryChannel) || ($.eventName=PutDeliveryChannel) || ($.eventName=PutConfigurationRecorder))}

    指标命名空间

    LogMetrics

    指标值

    1

    默认值

    0

  4. 根据过滤器创建警报。有关说明,请参阅《亚马逊 CloudWatch 用户指南》中的基于日志组指标筛选条件创建 CloudWatch 警报。使用以下值:

    字段

    条件,阈值类型

    静态

    your-metric-name什么时候...

    大于/等于

    比...

    1

[CloudWatch.10] 确保存在针对安全组更改的日志指标筛选器和警报

相关要求:独联体Amazon基金会基准 v1.2.0/3.10、CIS 基金会基准 v1.4.0/4.10 Amazon

类别:检测 > 检测服务

严重性:

资源类型:AWS::Logs::MetricFilterAWS::CloudWatch::AlarmAWS::CloudTrail::TrailAWS::SNS::Topic

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

计划类型:定期

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

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

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

注意

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

在以下情况下,该检查会得出FAILED调查结果:

  • 未配置任何跟踪。

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

在以下情况下,检查结果NO_DATA的控制状态为:

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

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

    我们建议使用组织跟踪来记录来自组织中多个账户的事件。默认情况下,组织跟踪是多区域跟踪,只能由Amazon Organizations管理账户或 CloudTrail 委派的管理员账户进行管理。使用组织跟踪会导致在组织成员账户中评估NO_DATA的控件的控制状态为。在成员账户中,Security Hub 仅针对成员拥有的资源生成调查结果。与组织跟踪相关的调查结果在资源所有者的账户中生成。您可以使用跨区域聚合在您的 Security Hub 委托管理员账户中查看这些发现。

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

修复

要通过此控制,请按照以下步骤为指标筛选器创建 Amazon SNS 主题、Amazon CloudTrail跟踪、指标筛选条件和警报。

  1. 创建 Amazon SNS 主题。有关说明,请参阅《亚马逊简单通知服务开发者指南》中的 Amazon SNS 入门。创建一个接收所有 CIS 警报的主题,并至少创建一个该主题的订阅。

  2. 创建适用于所有人的 CloudTrail 跟踪Amazon Web Services 区域。有关说明,请参阅《Amazon CloudTrail用户指南》中的创建跟踪

    记下与 CloudTrail 跟踪关联的 CloudWatch 日志日志组的名称。您将在下一步中为该日志组创建指标筛选器。

  3. 创建指标筛选条件。有关说明,请参阅亚马逊 CloudWatch 用户指南中的为日志组创建指标筛选条件。使用以下值:

    字段

    定义模式,过滤模式

    {($.eventName=AuthorizeSecurityGroupIngress) || ($.eventName=AuthorizeSecurityGroupEgress) || ($.eventName=RevokeSecurityGroupIngress) || ($.eventName=RevokeSecurityGroupEgress) || ($.eventName=CreateSecurityGroup) || ($.eventName=DeleteSecurityGroup)}

    指标命名空间

    LogMetrics

    指标值

    1

    默认值

    0

  4. 根据过滤器创建警报。有关说明,请参阅《亚马逊 CloudWatch 用户指南》中的基于日志组指标筛选条件创建 CloudWatch 警报。使用以下值:

    字段

    条件,阈值类型

    静态

    your-metric-name什么时候...

    大于/等于

    比...

    1

[CloudWatch.11] 确保存在针对网络访问控制列表 (NACL) 更改的日志指标筛选器和警报

相关要求:独联体Amazon基金会基准 v1.2.0/3.11、CIS 基金会基准 v1.4.0/4.11 Amazon

类别:检测 > 检测服务

严重性:

资源类型:AWS::Logs::MetricFilterAWS::CloudWatch::AlarmAWS::CloudTrail::TrailAWS::SNS::Topic

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

计划类型:定期

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

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

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

注意

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

在以下情况下,该检查会得出FAILED调查结果:

  • 未配置任何跟踪。

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

在以下情况下,检查结果NO_DATA的控制状态为:

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

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

    我们建议使用组织跟踪来记录来自组织中多个账户的事件。默认情况下,组织跟踪是多区域跟踪,只能由Amazon Organizations管理账户或 CloudTrail 委派的管理员账户进行管理。使用组织跟踪会导致在组织成员账户中评估NO_DATA的控件的控制状态为。在成员账户中,Security Hub 仅针对成员拥有的资源生成调查结果。与组织跟踪相关的调查结果在资源所有者的账户中生成。您可以使用跨区域聚合在您的 Security Hub 委托管理员账户中查看这些发现。

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

修复

要通过此控制,请按照以下步骤为指标筛选器创建 Amazon SNS 主题、Amazon CloudTrail跟踪、指标筛选条件和警报。

  1. 创建 Amazon SNS 主题。有关说明,请参阅《亚马逊简单通知服务开发者指南》中的 Amazon SNS 入门。创建一个接收所有 CIS 警报的主题,并至少创建一个该主题的订阅。

  2. 创建适用于所有人的 CloudTrail 跟踪Amazon Web Services 区域。有关说明,请参阅《Amazon CloudTrail用户指南》中的创建跟踪

    记下与 CloudTrail 跟踪关联的 CloudWatch 日志日志组的名称。您将在下一步中为该日志组创建指标筛选器。

  3. 创建指标筛选条件。有关说明,请参阅亚马逊 CloudWatch 用户指南中的为日志组创建指标筛选条件。使用以下值:

    字段

    定义模式,过滤模式

    {($.eventName=CreateNetworkAcl) || ($.eventName=CreateNetworkAclEntry) || ($.eventName=DeleteNetworkAcl) || ($.eventName=DeleteNetworkAclEntry) || ($.eventName=ReplaceNetworkAclEntry) || ($.eventName=ReplaceNetworkAclAssociation)}

    指标命名空间

    LogMetrics

    指标值

    1

    默认值

    0

  4. 根据过滤器创建警报。有关说明,请参阅《亚马逊 CloudWatch 用户指南》中的基于日志组指标筛选条件创建 CloudWatch 警报。使用以下值:

    字段

    条件,阈值类型

    静态

    your-metric-name什么时候...

    大于/等于

    比...

    1

[CloudWatch.12] 确保存在针对网络网关更改的日志指标筛选器和警报

相关要求:独联体Amazon基金会基准 v1.2.0/3.12、CIS 基金会基准 v1.4.0/4.12 Amazon

类别:检测 > 检测服务

严重性:

资源类型:AWS::Logs::MetricFilterAWS::CloudWatch::AlarmAWS::CloudTrail::TrailAWS::SNS::Topic

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

计划类型:定期

您可以通过将 CloudTrail 日志定向到 CloudWatch 日志并建立相应的指标筛选器和警报,对 API 调用进行实时监控。需要网络网关才能向位于 VPC 以外的目标发送流量或从其接收流量。

CIS 建议您为网络网关的更改创建指标筛选器和警报。监控此类更改有助于确保所有传入和传出流量都通过受控路径穿过 VPC 边界。

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

注意

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

在以下情况下,该检查会得出FAILED调查结果:

  • 未配置任何跟踪。

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

在以下情况下,检查结果NO_DATA的控制状态为:

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

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

    我们建议使用组织跟踪来记录来自组织中多个账户的事件。默认情况下,组织跟踪是多区域跟踪,只能由Amazon Organizations管理账户或 CloudTrail 委派的管理员账户进行管理。使用组织跟踪会导致在组织成员账户中评估NO_DATA的控件的控制状态为。在成员账户中,Security Hub 仅针对成员拥有的资源生成调查结果。与组织跟踪相关的调查结果在资源所有者的账户中生成。您可以使用跨区域聚合在您的 Security Hub 委托管理员账户中查看这些发现。

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

修复

要通过此控制,请按照以下步骤为指标筛选器创建 Amazon SNS 主题、Amazon CloudTrail跟踪、指标筛选条件和警报。

  1. 创建 Amazon SNS 主题。有关说明,请参阅《亚马逊简单通知服务开发者指南》中的 Amazon SNS 入门。创建一个接收所有 CIS 警报的主题,并至少创建一个该主题的订阅。

  2. 创建适用于所有人的 CloudTrail 跟踪Amazon Web Services 区域。有关说明,请参阅《Amazon CloudTrail用户指南》中的创建跟踪

    记下与 CloudTrail 跟踪关联的 CloudWatch 日志日志组的名称。您将在下一步中为该日志组创建指标筛选器。

  3. 创建指标筛选条件。有关说明,请参阅亚马逊 CloudWatch 用户指南中的为日志组创建指标筛选条件。使用以下值:

    字段

    定义模式,过滤模式

    {($.eventName=CreateCustomerGateway) || ($.eventName=DeleteCustomerGateway) || ($.eventName=AttachInternetGateway) || ($.eventName=CreateInternetGateway) || ($.eventName=DeleteInternetGateway) || ($.eventName=DetachInternetGateway)}

    指标命名空间

    LogMetrics

    指标值

    1

    默认值

    0

  4. 根据过滤器创建警报。有关说明,请参阅《亚马逊 CloudWatch 用户指南》中的基于日志组指标筛选条件创建 CloudWatch 警报。使用以下值:

    字段

    条件,阈值类型

    静态

    your-metric-name什么时候...

    大于/等于

    比...

    1

[CloudWatch.13] 确保存在针对路由表更改的日志指标筛选器和警报

相关要求:独联体Amazon基金会基准 v1.2.0/3.13、CIS 基金会基准 v1.4.0/4.13 Amazon

类别:检测 > 检测服务

严重性:

资源类型:AWS::Logs::MetricFilterAWS::CloudWatch::AlarmAWS::CloudTrail::TrailAWS::SNS::Topic

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

计划类型:定期

此控件通过将 CloudTrail 日志定向到 CloudWatch 日志并建立相应的指标筛选器和警报来检查您是否实时监控 API 调用。路由表在子网和网络网关之间路由网络流量。

CIS 建议您创建指标筛选器并对路由表的更改发出警报。监控此类更改有助于确保所有 VPC 流量都流经预期路径。

注意

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

在以下情况下,该检查会得出FAILED调查结果:

  • 未配置任何跟踪。

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

在以下情况下,检查结果NO_DATA的控制状态为:

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

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

    我们建议使用组织跟踪来记录来自组织中多个账户的事件。默认情况下,组织跟踪是多区域跟踪,只能由Amazon Organizations管理账户或 CloudTrail 委派的管理员账户进行管理。使用组织跟踪会导致在组织成员账户中评估NO_DATA的控件的控制状态为。在成员账户中,Security Hub 仅针对成员拥有的资源生成调查结果。与组织跟踪相关的调查结果在资源所有者的账户中生成。您可以使用跨区域聚合在您的 Security Hub 委托管理员账户中查看这些发现。

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

修复

注意

我们在这些补救步骤中推荐的过滤器模式与 CIS 指南中的过滤模式不同。我们推荐的筛选条件仅针对来自亚马逊弹性计算云 (EC2) API 调用的事件。

要通过此控制,请按照以下步骤为指标筛选器创建 Amazon SNS 主题、Amazon CloudTrail跟踪、指标筛选条件和警报。

  1. 创建 Amazon SNS 主题。有关说明,请参阅《亚马逊简单通知服务开发者指南》中的 Amazon SNS 入门。创建一个接收所有 CIS 警报的主题,并至少创建一个该主题的订阅。

  2. 创建适用于所有人的 CloudTrail 跟踪Amazon Web Services 区域。有关说明,请参阅《Amazon CloudTrail用户指南》中的创建跟踪

    记下与 CloudTrail 跟踪关联的 CloudWatch 日志日志组的名称。您将在下一步中为该日志组创建指标筛选器。

  3. 创建指标筛选条件。有关说明,请参阅亚马逊 CloudWatch 用户指南中的为日志组创建指标筛选条件。使用以下值:

    字段

    定义模式,过滤模式

    {($.eventSource=ec2.amazonaws.com) && (($.eventName=CreateRoute) || ($.eventName=CreateRouteTable) || ($.eventName=ReplaceRoute) || ($.eventName=ReplaceRouteTableAssociation) || ($.eventName=DeleteRouteTable) || ($.eventName=DeleteRoute) || ($.eventName=DisassociateRouteTable))}

    指标命名空间

    LogMetrics

    指标值

    1

    默认值

    0

  4. 根据过滤器创建警报。有关说明,请参阅《亚马逊 CloudWatch 用户指南》中的基于日志组指标筛选条件创建 CloudWatch 警报。使用以下值:

    字段

    条件,阈值类型

    静态

    your-metric-name什么时候...

    大于/等于

    比...

    1

[CloudWatch.14] 确保存在针对 VPC 更改的日志指标筛选器和警报

相关要求:独联体Amazon基金会基准 v1.2.0/3.14、CIS 基金会基准 v1.4.0/4.14 Amazon

类别:检测 > 检测服务

严重性:

资源类型:AWS::Logs::MetricFilterAWS::CloudWatch::AlarmAWS::CloudTrail::TrailAWS::SNS::Topic

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

计划类型:定期

您可以通过将 CloudTrail 日志定向到 CloudWatch 日志并建立相应的指标筛选器和警报,对 API 调用进行实时监控。您可以在一个账户中拥有多个 VPC,并在两个 VPC 之间创建对等连接,从而使网络流量能够在 VPC 之间路由。

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

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

注意

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

在以下情况下,该检查会得出FAILED调查结果:

  • 未配置任何跟踪。

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

在以下情况下,检查结果NO_DATA的控制状态为:

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

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

    我们建议使用组织跟踪来记录来自组织中多个账户的事件。默认情况下,组织跟踪是多区域跟踪,只能由Amazon Organizations管理账户或 CloudTrail 委派的管理员账户进行管理。使用组织跟踪会导致在组织成员账户中评估NO_DATA的控件的控制状态为。在成员账户中,Security Hub 仅针对成员拥有的资源生成调查结果。与组织跟踪相关的调查结果在资源所有者的账户中生成。您可以使用跨区域聚合在您的 Security Hub 委托管理员账户中查看这些发现。

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

修复

要通过此控制,请按照以下步骤为指标筛选器创建 Amazon SNS 主题、Amazon CloudTrail跟踪、指标筛选条件和警报。

  1. 创建 Amazon SNS 主题。有关说明,请参阅《亚马逊简单通知服务开发者指南》中的 Amazon SNS 入门。创建一个接收所有 CIS 警报的主题,并至少创建一个该主题的订阅。

  2. 创建适用于所有人的 CloudTrail 跟踪Amazon Web Services 区域。有关说明,请参阅《Amazon CloudTrail用户指南》中的创建跟踪

    记下与 CloudTrail 跟踪关联的 CloudWatch 日志日志组的名称。您将在下一步中为该日志组创建指标筛选器。

  3. 创建指标筛选条件。有关说明,请参阅亚马逊 CloudWatch 用户指南中的为日志组创建指标筛选条件。使用以下值:

    字段

    定义模式,过滤模式

    {($.eventName=CreateVpc) || ($.eventName=DeleteVpc) || ($.eventName=ModifyVpcAttribute) || ($.eventName=AcceptVpcPeeringConnection) || ($.eventName=CreateVpcPeeringConnection) || ($.eventName=DeleteVpcPeeringConnection) || ($.eventName=RejectVpcPeeringConnection) || ($.eventName=AttachClassicLinkVpc) || ($.eventName=DetachClassicLinkVpc) || ($.eventName=DisableVpcClassicLink) || ($.eventName=EnableVpcClassicLink)}

    指标命名空间

    LogMetrics

    指标值

    1

    默认值

    0

  4. 根据过滤器创建警报。有关说明,请参阅《亚马逊 CloudWatch 用户指南》中的基于日志组指标筛选条件创建 CloudWatch 警报。使用以下值:

    字段

    条件,阈值类型

    静态

    your-metric-name什么时候...

    大于/等于

    比...

    1

[CloudWatch.15] 应将 CloudWatch 警报配置为警报状态的操作

类别:检测 > 检测服务

相关要求:nist.800-53.r5 AU-6 (1)、nist.800-53.r5 AU-6 (5)、nist.800-53.r5 CA-7、nist.800-53.r5 IR-4 (1)、nist.800-53.r5 IR-4 (5)、nist.800-53.r5 SI-2、nist.800-53.r5 (1)、nist.800-53.r5 IR-4 (5)、nist.800-53.r5 SI-2、nist.800-53.r5 SI-2、nist.800-53.r5 IR-800-53.r5 SI-20、nist.800-53.r5 SI-4 (12)、nist.800-53.r5 SI-4 (5)

严重性:

资源类型:Amazon::CloudWatch::Alarm

Amazon Config规则:cloudwatch-alarm-action-check

计划类型:已触发更改

参数:

  • alarmActionRequired: true

  • insufficientDataActionRequired: false

  • okActionRequired: false

此控件检查 CloudWatch 警报是否至少为警报状态配置了一个操作。如果警报没有为警报状态激活操作,则控制失败。

此控件侧重于 CloudWatch 警报中是否配置了任何ALARM操作,而 CloudWatch.17 则侧重于 CloudWatch 警报操作的激活状态。

我们建议激活警报操作,以便在监控指标超出定义的阈值时自动提醒您。监控警报可帮助您识别异常活动并快速响应安全和操作问题。您可以指定警报在进入 “正常”、“警报” 和 “数据不足” 状态时应采取的操作。最常见的警报操作类型是通过向亚马逊简单通知服务 (Amazon SNS) Simple SNS Service 主题发送消息来通知一个或多个用户。

修复

有关 CloudWatch 警报支持的操作的信息,请参阅亚马逊 CloudWatch 用户指南中的警报操作

[CloudWatch.16] CloudWatch 日志组应保留至少 1 年

重要

2023 年 11 月,此控件的标题将更改为应在指定时间段内保留的CloudWatch 日志组。有关更多信息,请参阅Security Hub 控件的更改日志

类别:识别 > 日志记录

相关要求:nist.800-53.r5 AU-10、nist.800-53.r5 AU-11、nist.800-53.r5 AU-6 (3)、nist.800-53.r5 AU-6 (4)、nist.800-53.r5 CA-7、nist.800-53.r5 SI-12

严重性:

资源类型:Amazon::Logs::LogGroup

Amazon Config规则:cw-loggroup-retention-period-check

计划类型:定期

参数:

此控件用于评估 CloudWatch 日志组的保留期是否至少为 1 年。如果保留期少于 1 年,则控制失败。

CloudWatch 日志将来自所有系统、应用程序的日志集中到一个高度可扩展的服务Amazon Web Services中。您可以使用 Amazon CloudWatch 日志来监控、存储和访问来自 Amazon EC2 实例 CloudTrail、Route 53 和其他来源的日志文件。将日志保留至少 1 年可以帮助您遵守日志保留标准。

修复

要配置日志保留设置,请参阅亚马逊 CloudWatch 用户指南中的更改亚马逊 CloudWatch 日志中的日志数据保留期

[CloudWatch.17] 应激 CloudWatch 活警报动作

类别:检测 > 检测服务

相关要求:nist.800-53.r5 AU-6 (1)、nist.800-53.r5 AU-6 (5)、nist.800-53.r5 CA-7、nist.800-53.r5 SI-2、nist.800-53.r5 SI-4 (12)

严重性:

资源类型:Amazon::CloudWatch::Alarm

Amazon Config规则:cloudwatch-alarm-action-enabled-check

计划类型:已触发更改

参数:

此控件检查 CloudWatch 警报操作是否已激活(ActionEnabled应设置为 true)。如果警报的警报动作被停用, CloudWatch 则控制失败。

此控件侧重于 CloudWatch 警报操作的激活状态,而 CloudWatch.15 则侧重于 CloudWatch 警报中是否配置了任何ALARM操作。

当监控的指标超出定义的阈值时,警报操作会自动提醒您。如果警报操作已停用,则警报状态更改时不会运行任何操作,也不会提醒您注意监控指标的变化。我们建议您激活 CloudWatch 警报操作,以帮助您快速应对安全和操作问题。

修复

激活 CloudWatch 警报操作(控制台)
  1. 打开 CloudWatch 控制台,网址为 https://console.aws.amazon.com/cloudwatch/

  2. 在导航窗格的 “警报” 下,选择 “所有警报”。

  3. 选择要为其激活操作的警报。

  4. 在 “操作” 中,选择 “警报操作-新建”,然后选择 “启用”。

有关激活 CloudWatch 警报操作的更多信息,请参阅亚马逊 CloudWatch 用户指南中的警报操作