AWS CloudTrail 控件 - AWS Security Hub

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

AWS CloudTrail 控件

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

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

[CloudTrail.1] CloudTrail 应启用并配置至少一条包含读写管理事件的多区域跟踪

相关要求:CIS AWS 基金会基准 v1.2.0/2.1、基金会基准 v1.4.0/3.1、CIS AWS 基金会基准 v3.0.0/3.1、.800-53.r5 AC-2 (4)、CIS AWS .800-53.r5 AC-4 (26)、.800-53. NIST r5 AC-6 (9)、.800-53.r5 AU-10、.800-53.r5 AU-12、.800-53.r5 AU-2,NIST.800-53.r5 AU-3、.800-53.r5 AU-6 (3)、.800-53.r5 AU-6 (4)、NIST .800-53.r5 AU-14 (1)、.800-53.r5 CA-7、NIST .800-53.r5 SC-NIST NIST NIST NIST NIST NIST NIST NIST7 (9)、NIST .800-53.r5 SI-3 (8)、.800-53.r5 SI-4 (20)、.800-53.r5 SI-7 (8)、NIST .800-53.r5 SA-8 (22)、.800-53.r5 SA-8 (22) NIST NIST

类别:识别 > 日志记录

严重性:

资源类型:AWS::::Account

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

计划类型:定期

参数:

  • readWriteTypeALL(不可自定义)

    includeManagementEventstrue(不可自定义)

此控件检查是否至少有一个捕获读写管理事件的多区域 AWS CloudTrail 跟踪。如果 CloudTrail 禁用或没有至少一条 CloudTrail 跟踪可以捕获读写管理事件,则控件将失败。

AWS CloudTrail 记录您账户的 AWS API通话并将日志文件发送给您。记录的信息包括以下信息:

  • API来电者的身份

  • API通话时间

  • API来电者的源 IP 地址

  • 请求参数

  • 返回的响应元素 AWS 服务

CloudTrail 提供账户的 AWS API呼叫历史记录,包括API通过、 AWS Management Console AWS SDKs、命令行工具进行的呼叫。历史记录还包括来自更高级别的API呼叫, AWS 服务 例如。 AWS CloudFormation

生成的 AWS API通话记录 CloudTrail 支持安全分析、资源变更跟踪和合规性审计。多区域跟踪还提供以下好处。

  • 多区域跟踪有助于检测在其他本不应使用的区域中发生的意外活动。

  • 多区域跟踪可确保默认情况下为跟踪启用全局服务事件日志记录。全球服务事件日志记录记录 AWS 全球服务生成的事件。

  • 对于多区域跟踪,所有读取和写入操作的管理事件可确保 CloudTrail 记录中所有资源的管理操作。 AWS 账户

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

修复

要在中创建新的多区域跟踪 CloudTrail,请参阅AWS CloudTrail 用户指南中的创建跟踪。使用以下值:

Field Value

其他设置,日志文件验证

已启用

选择日志事件、管理事件、API活动

。清除排除项的复选框。

要更新现有跟踪,请参阅 AWS CloudTrail 用户指南中的更新跟踪。在管理事件中,对于API活动,选择读取写入

[CloudTrail.2] CloudTrail 应该启用静态加密

相关要求:PCIDSSv3.2.1/3.4、Foundations Benchmark v1.2.0/2.7、CIS AWS 基金会基准 v1.4.0/3.7、基金会基准 v3.0.0/3.5、CIS AWS .800-53.r5 AU-9、.800-53.r5 CA-9 (1)、CIS AWS .800-53.r5 (6)、.800-53.r5 SC-13、.800-53.r5 SC-28、NIST .800-53.r5、.800-53.r5、.800-53.r5、.800-53.r5 r5 SC-28 (1)、NIST .800-53.r5 SC-7 (10)、.800-53.r5 SI-7 (6) NIST NIST NIST NIST NIST NIST

类别:保护 > 数据保护 > 加密 data-at-rest

严重性:

资源类型:AWS::CloudTrail::Trail

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

计划类型:定期

参数:

此控件检查 CloudTrail 是否配置为使用服务器端加密 (SSE) 加 AWS KMS key 密。如果 KmsKeyId 未定义,则控制失败。

为了增加敏感 CloudTrail 日志文件的安全性,您应该对日志文件使用带有 AWS KMS keys (SSE-KMS) 的服务器端加密,以进行静态加密。 CloudTrail 请注意,默认情况下,传送 CloudTrail 到您的存储桶的日志文件由 Amazon 服务器端加密,使用 Amazon S3 托管的加密密钥 (-S3) 进行加密。SSE

修复

要为 CloudTrail 日志文件启用 SSE-KMS 加密,请参阅《AWS CloudTrail 用户指南》中的更新跟踪以使用KMS密钥

[CloudTrail.3] 应至少启用一条 CloudTrail 跟踪

相关要求:PCIDSSv3.2.1/10.1、v3.2.1/10.2.1、v3.2.1/10.2.2、v3.2.1/10.2.3、v3.2.1/10.2.4、PCI DSS v3.2.1/10.2.5、v3.2.1/10.2.6、v3.2.1/10.2.7、PCI DSS v3.2.1/10.3.1、v3.2.1/10.3.4、v3.2.1/10.3.4、v3.2.1/10.3.5、PCI DSS v3.2.1/10.3.5、v3.2.1/10.3.5,PCIDSSPCIDSSPCIDSSPCIDSSPCIDSSPCIDSSPCIDSSPCIDSSPCIDSSPCIDSSv3.2.1/10.3.6

类别:识别 > 日志记录

严重性:

资源类型:AWS::::Account

AWS Config 规则:cloudtrail-enabled

计划类型:定期

参数:

此控件可检查您的中是否启用了 AWS CloudTrail 跟踪 AWS 账户。如果您的账户未启用至少一条 CloudTrail 跟踪,则控制失败。

但是,某些 AWS 服务不允许记录所有APIs和事件。除了 “CloudTrail 支持的 CloudTrail 服务和集成” 中每项服务的文档之外,您还应实施任何其他审计跟踪。

修复

要开始使用 CloudTrail 和创建跟踪,请参阅《AWS CloudTrail 用户指南》中的入门 AWS CloudTrail 教程

[CloudTrail.4] 应启用 CloudTrail 日志文件验证

相关要求:PCIDSSv3.2.1/10.5.2、v3.2.1/10.5. PCI DSS 5、基金会基准 v1.2.0/2.2、基金会基准 v1.4.0/3.2、CIS AWS 基金会基准 v3.0.0/3.2、.800-53.r5 AU-9、.800-53.r5 SI-4、.800-53.r5 SI-7 (1)、.800-53.r5 SI-7 (3)、CIS AWS .800-53.r5 SI-7 (3)、.800-53.r5 SI-7 (3)、.800-53.r5 SI-7 (3)、CIS AWS .800-53.r5 SI-7 (3)、NIST .800-53.r5 SI-7 (3) 3.r5 SI-7 (7) NIST NIST NIST NIST

类别:数据保护 > 数据完整性

严重性:

资源类型:AWS::CloudTrail::Trail

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

计划类型:定期

参数:

此控件检查是否在 CloudTrail跟踪上启用了日志文件完整性验证。

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

Security Hub 建议您对所有跟踪启用文件验证。日志文件验证可对 CloudTrail 日志进行额外的完整性检查。

修复

要启用 CloudTrail 日志文件验证,请参阅AWS CloudTrail 用户指南 CloudTrail中的启用日志文件完整性验证

[CloudTrail.5] 应将 CloudTrail 跟踪与 Amazon CloudWatch 日志集成

相关要求:PCIDSSv3.2.1/10.5.3、Foundations Benchmark v1.2.0/2.4、CIS AWS 基金会基准 v1.4.0/3.4、.800-53.r5 AC-2 (4)、CIS AWS .800-53.r5 AC-4 (26)、NIST .800-53.r5 AC-6 (9)、.800-53.r5 AU-10、.800-53.r5 AU-12、.800-53.r5 AU-2、NIST .800-53.r5 AU-3、.800-53.r5 AU-6 (1)、NIST .800-53.r5 AU-6 (3)、.800-53.r5 AU-6 (4)、.800-53.r5 AU-6 (5)、NIST .800-53.r5 AU-7 (1)、NIST NIST NIST NIST NIST NIST NIST NISTNIST.800-53.r5 CA-7、.800-53.r5 SC-7 (9)、NIST .800-53.r5 SI-20、.800-53.r5 SI-3 (8)、.800-53.r5 SI-4 (20)、NIST .800-53.r5 SI-4 (5)、NIST .800-53.r5 SI-7 (8) NIST NIST NIST

类别:识别 > 日志记录

严重性:

资源类型:AWS::CloudTrail::Trail

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

计划类型:定期

参数:

此控件检查是否已将 CloudTrail 跟踪配置为向日志发送 CloudWatch 日志。如果跟踪的 CloudWatchLogsLogGroupArn 属性为空,则控制失败。

CloudTrail 记录在给定账户中拨出的 AWS API呼叫。记录的信息包括以下内容:

  • 来API电者的身份

  • API通话时间

  • 来API电者的源 IP 地址

  • 请求参数

  • 返回的响应元素 AWS 服务

CloudTrail 使用 Amazon S3 进行日志文件存储和传输。您可以捕获指定 S3 存储桶中的 CloudTrail 日志以进行长期分析。要执行实时分析,您可以配置为将日志发送 CloudTrail 到 CloudWatch 日志。

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

Security Hub 建议您将 CloudTrail 日志发送到 CloudWatch 日志。请注意,此建议旨在确保捕获、监视账户活动并适当发出警报。你可以使用 CloudWatch Logs 来设置你的 AWS 服务。此建议并不排除使用不同的解决方案。

向 CloudTrail 日志发送 CloudWatch 日志便于根据用户API、资源和 IP 地址进行实时和历史活动记录。您可以使用此方法为异常或敏感账户活动建立警报和通知。

修复

要 CloudTrail 与 CloudWatch 日志集成,请参阅AWS CloudTrail 用户指南中的向 CloudWatch 日志发送事件

[CloudTrail.6] 确保用于存储 CloudTrail 日志的 S3 存储桶不可公开访问

相关要求:CIS AWS 基金会基准 v1.2.0/2.3、基金会基准 v1.4.0/3.3 CIS AWS

类别:识别 > 日志记录

严重性:严重

资源类型:AWS::S3::Bucket

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

计划类型:定期计划和触发变更

参数:

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

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

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

如果存储桶可公开访问,则检查会生成失败的调查发现。

修复

要阻止公众访问您的 CloudTrail S3 存储桶,请参阅《A mazon 简单存储服务用户指南》中的 “为您的 S3 存储桶配置阻止公开访问设置”。选择所有四个 Amazon S3 屏蔽公共访问权限。

[CloudTrail.7] 确保在 S3 存储桶上启用 S CloudTrail 3 存储桶访问日志记录

相关要求:CIS AWS 基金会基准 v1.2.0/2.6、基金会基准 v1.4.0/3.6、CIS AWS 基金会基准 v3.0.0/3.4 CIS AWS

类别:识别 > 日志记录

严重性:

资源类型:AWS::S3::Bucket

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

计划类型:定期

参数:

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

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

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

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

如果 AWS 账户 将多个日志文件 CloudTrail 传送到单个目标 Amazon S3 存储桶,则 Security Hub 仅针对其所在地区的目标存储桶评估此控制权。这简化了结果。但是,您应该 CloudTrail 在所有将日志传送到目标存储桶的账户中开启。对于除持有目标存储桶的账户以外的所有账户,控件状态均为无数据

如果存储桶可公开访问,则检查会生成失败的调查发现。

修复

要为 CloudTrail S3 存储桶启用服务器访问日志记录,请参阅《亚马逊简单存储服务用户指南》中的 “启用 Amazon S3 服务器访问日志”。

[CloudTrail.9] CloudTrail 路径应加标签

类别:识别 > 清单 > 标记

严重性:

资源类型:AWS::CloudTrail::Trail

AWS Config 规则:tagged-cloudtrail-trail(自定义 Security Hub 规则)

计划类型:已触发变更

参数:

参数 描述 类型 允许的自定义值 Security Hub 默认值
requiredTagKeys 评估的资源必须包含的非系统标签密钥列表。标签键区分大小写。 StringList 符合AWS 要求的标签列表 No default value

此控件检查 AWS CloudTrail 跟踪是否具有参数中定义的特定键的标签requiredTagKeys。如果跟踪没有任何标签密钥或者没有参数中指定的所有密钥,则控件将失败requiredTagKeys。如果requiredTagKeys未提供该参数,则该控件仅检查标签密钥是否存在,如果跟踪未使用任何密钥标记,则该控件将失败。系统标签会自动应用并以其开头aws:,但会被忽略。

标签是您分配给 AWS 资源的标签,它由密钥和可选值组成。您可以创建标签,按用途、所有者、环境或其他标准对资源进行分类。标签可以帮助您识别、组织、搜索和筛选资源。标记还可以帮助您跟踪负责任的资源所有者的操作和通知。使用标记时,可以实现基于属性的访问控制 (ABAC) 作为一种授权策略,它根据标签定义权限。您可以为IAM实体(用户或角色)和 AWS 资源附加标签。您可以为IAM委托人创建单个ABAC策略或一组单独的策略。您可以将这些ABAC策略设计为允许在委托人的标签与资源标签匹配时进行操作。有关更多信息,请参阅有什么ABAC用 AWS? 在《IAM用户指南》中。

注意

不要在标签中添加个人身份信息 (PII) 或其他机密或敏感信息。许多人都可以访问标签 AWS 服务,包括 AWS Billing。有关更多标记最佳做法,请参阅中的为AWS 资源添加标签AWS 一般参考

修复

要向 CloudTrail 跟踪添加标签,请参阅AWS CloudTrail API参考AddTags中的。