适用于 Amazon CloudTrail 的 Security Hub 控件
这些 Amazon Security Hub CSPM 控件可评估 Amazon CloudTrail 服务和资源。控件可能并非在所有 Amazon Web Services 区域都可用。有关更多信息,请参阅 按地区划分的控件可用性。
[CloudTrail.1] 应启用 CloudTrail 并配置至少一个包含读取和写入管理事件的多区域跟踪
相关要求: CIS Amazon 基金会基准 v5.0.0/3.1、CIS Amazon 基金会基准 v1.2.0/2.1、CIS Amazon 基金会基准 v1.4.0/3.1、CIS Amazon 基金会基准 v3.0.0/3.1、NIST.800-53.r5 AC-2(4)、NIST.800-53.r5 AC-4(26)、NIST.800-53.r5 AC-6(9)、NIST.800-53.r5 AU-10、NIST.800-53.r5 AU-12、NIST.800-53.r5 AU-2、NIST.800-53.r5 AU-3、NIST.800-53.r5 AU-6(3)、NIST.800-53.r5 AU-6(4)、NIST.800-53.r5 AU-14(1)、NIST.800-53.r5 CA-7、NIST.800-53.r5 SC-7(9)、NIST.800-53.r5 SI-3(8)、NIST.800-53.r5 SI-4(20)、NIST.800-53.r5 SI-7(8)、NIST.800-53.r5 SA-8(22)
类别:识别 > 日志记录
严重性:高
资源类型:AWS::::Account
Amazon Config 规则: multi-region-cloudtrail-enabled
计划类型:定期
参数:
-
readWriteType:ALL(不可自定义)includeManagementEvents:true(不可自定义)
此控件检查是否至少有一个多区域 Amazon CloudTrail 跟踪记录用于捕获读写管理事件。如果 CloudTrail 被禁用,或者没有至少一个 CloudTrail 跟踪记录用于捕获读写管理事件,则控件会失败。
Amazon CloudTrail 记录您账户的 Amazon API 调用并向您发送日志文件。记录的信息包括:
-
API 调用方的身份
-
API 调用的时间
-
API 调用方的源 IP 地址
-
请求参数
-
Amazon Web Services 服务 返回的响应元素
CloudTrail 提供账户的 Amazon API 调用历史记录,包括从 Amazon Web Services 管理控制台、Amazon SDK、命令行工具进行的 API 调用。历史记录还包括来自更高级别 Amazon Web Services 服务 的 API 调用,例如 Amazon CloudFormation。
CloudTrail 生成的 Amazon API 调用历史记录可实现安全分析、资源变更跟踪和合规性审计。多区域跟踪还提供以下好处。
-
多区域跟踪有助于检测在其他本不应使用的区域中发生的意外活动。
-
多区域跟踪可确保默认情况下为跟踪启用全局服务事件日志记录。全局服务事件日志记录将记录 Amazon 全局服务生成的事件。
-
对于多区域跟踪,所有读取和写入操作的管理事件确保 CloudTrail 在 Amazon Web Services 账户 中记录所有资源的管理操作。
默认情况下,使用 Amazon Web Services 管理控制台 创建的 CloudTrail 跟踪是多区域跟踪记录。
修复
要在 CloudTrail 中创建新的多区域跟踪,请参阅 Amazon CloudTrail 用户指南中的创建跟踪。使用以下值:
| Field | Value |
|---|---|
|
其他设置,日志文件验证 |
已启用 |
|
选择日志事件、管理事件、API 活动 |
读和写。清除排除项的复选框。 |
要更新现有跟踪,请参阅 Amazon CloudTrail 用户指南中的更新跟踪。在管理事件中,对于 API 活动,选择读取和写入。
[CloudTrail.2] CloudTrail 应启用静态加密
相关要求: CIS Amazon 基金会基准 v5.0.0/3.5、CIS Amazon 基金会基准 v1.2.0/2.7、CIS Amazon 基金会基准 v1.4.0/3.7、CIS Amazon 基金会基准 v3.0.0/3.5、NIST.800-53.r5 AU-9、NIST.800-53.r5 CA-9(1)、NIST.800-53.r5 CM-3(6)、NIST.800-53.r5 SC-13、NIST.800-53.r5 SC-28、NIST.800-53.r5 SC-28(1)、NIST.800-53.r5 SC-7(10)、NIST.800-53.r5 SI-7(6)、NIST.800-171.r2 3.3.8、PCI DSS v3.2.1/3.4、PCI DSS v4.0.1/10.3.2
类别:保护 > 数据保护 > 静态数据加密
严重性:中
资源类型:AWS::CloudTrail::Trail
Amazon Config 规则: cloud-trail-encryption-enabled
计划类型:定期
参数:无
此控件检查 CloudTrail 是否配置为使用服务器端加密(SSE)Amazon KMS key 加密。如果 KmsKeyId 未定义,则控制失败。
为了增加敏感 CloudTrail 日志文件安全保护,您应该使用带有 Amazon KMS keys 的服务器端加密 (SSE-KMS) 对 CloudTrail 日志文件进行静态加密。请注意,默认情况下,CloudTrail 传送到存储桶的日志文件通过 Amazon 服务器端加密使用 Amazon S3 托管加密密钥 (SSE-S3) 进行加密。
修复
要对 CloudTrail 日志文件启用 SSE-KMS 加密,请参阅 Amazon CloudTrail 用户指南中的更新跟踪以使用 KMS 密钥。
[CloudTrail.3] 应至少启用一个 CloudTrail 跟踪记录
相关要求: NIST.800-171.r2 3.3.1、NIST.800-171.r2 3.14.6、NIST.800-171.r2 3.14.7、PCI DSS v3.2.1/10.1、PCI DSS v3.2.1/10.2.1、PCI DSS v3.2.1/10.2.2、PCI DSS v3.2.1/10.2.3、PCI DSS v3.2.1/10.2.4、PCI DSS v3.2.1/10.2.5、PCI DSS v3.2.1/10.2.6、PCI DSS v3.2.1/10.2.7、PCI DSS v3.2.1/10.3.1、PCI DSS v3.2.1/10.3.2、PCI DSS v3.2.1/10.3.3、PCI DSS v3.2.1/10.3.4、PCI DSS v3.2.1/10.3.5、PCI DSS v3.2.1/10.3.6、PCI DSS v4.0.1/10.2.1
类别:识别 > 日志记录
严重性:高
资源类型:AWS::::Account
Amazon Config 规则: cloudtrail-enabled
计划类型:定期
参数:无
此控件用于检查 Amazon Web Services 账户中是否启用了 Amazon CloudTrail 跟踪记录。如果账户没有至少启用一个 CloudTrail 跟踪记录,则控件会失败。
不过,某些 Amazon 服务不会为所有 API 和事件启用日志记录。您应该实施除 CloudTrail 之外的任何其他审计跟踪记录,并查看 CloudTrail 支持的服务和集成中每项服务的文档。
修复
要开始使用 CloudTrail 并创建跟踪,请参阅 Amazon CloudTrail 用户指南中的Amazon CloudTrail 入门教程。
[CloudTrail.4] 应启用 CloudTrail 日志文件验证
相关要求: CIS Amazon 基金会基准 v5.0.0/3.2、CIS Amazon 基金会基准 v1.2.0/2.2、CIS Amazon 基金会基准 v1.4.0/3.2、CIS Amazon 基金会基准 v3.0.0/3.2、NIST.800-53.r5 AU-9、NIST.800-53.r5 SI-4、NIST.800-53.r5 SI-7(1)、NIST.800-53.r5 SI-7(3)、NIST.800-53.r5 SI-7(7)、NIST.800-171.r2 3.3.8、PCI DSS v3.2.1/10.5.2、PCI DSS v3.2.1/10.5.5、PCI DSS v4.0.1/10.3.2
类别:数据保护 > 数据完整性
严重性:低
资源类型:AWS::CloudTrail::Trail
Amazon Config 规则: cloud-trail-log-file-validation-enabled
计划类型:定期
参数:无
此控件检查是否在 CloudTrail 跟踪上启用日志文件完整性验证。
CloudTrail 日志文件验证会创建一个数字签名的摘要文件,其中包含 CloudTrail 写入 Amazon S3 的每个日志的哈希值。在 CloudTrail 传送日志后,您可以使用这些摘要文件来确定日志文件是已更改、已删除还是未更改。
Security Hub 建议您对所有跟踪启用文件验证。日志文件验证提供了 CloudTrail 日志的额外完整性检查。
修复
要启用 CloudTrail 日志文件验证,请参阅 Amazon CloudTrail 用户指南中的为 CloudTrail 启用日志文件完整性验证。
[CloudTrail.5] CloudTrail 轨迹应与 Amazon CloudWatch Logs 集成
相关要求: CIS Amazon 基金会基准 v5.0.0/3.4、PCI DSS v3.2.1/10.5.3、CIS Amazon 基金会基准 v1.2.0/2.4、CIS Amazon 基金会基准 v1.4.0/3.4、NIST.800-53.r5 AC-2(4)、NIST.800-53.r5 AC-4(26)、NIST.800-53.r5 AC-6(9)、NIST.800-53.r5 AU-10、NIST.800-53.r5 AU-12、NIST.800-53.r5 AU-2、NIST.800-53.r5 AU-3、NIST.800-53.r5 AU-6(1)、NIST.800-53.r5 AU-6(3)、NIST.800-53.r5 AU-6(4)、NIST.800-53.r5 AU-6(5)、NIST.800-53.r5 AU-7(1)、NIST.800-53.r5 CA-7、NIST.800-53.r5 SC-7(9)、NIST.800-53.r5 SI-20、NIST.800-53.r5 SI-3(8)、NIST.800-53.r5 SI-4(20)、NIST.800-53.r5 SI-4(5)、NIST.800-53.r5 SI-7(8)
类别:识别 > 日志记录
严重性:低
资源类型:AWS::CloudTrail::Trail
Amazon Config 规则: cloud-trail-cloud-watch-logs-enabled
计划类型:定期
参数:无
此控件检查 CloudTrail 跟踪是否配置为将日志发送到 CloudWatch Logs。如果跟踪的 CloudWatchLogsLogGroupArn 属性为空,则控制失败。
CloudTrail 记录在给定账户中进行的 Amazon API 调用。记录的信息包括以下内容:
-
API 调用者的身份
-
API 调用时间间
-
API 调用方的源 IP 地址
-
请求参数
-
Amazon Web Services 服务 返回的响应元素
CloudTrail 使用 Amazon S3 进行日志文件存储和传输。您可以捕获指定 S3 存储桶中的 CloudTrail 日志以进行长期分析。要执行实时分析,您可以配置 CloudTrail 将日志发送到 CloudWatch Logs。
对于在账户中的所有区域中启用的跟踪,CloudTrail 会将日志文件从所有这些区域发送到 CloudWatch Logs 日志组。
Security Hub 建议您将 CloudTrail 日志发送到 CloudWatch Logs。请注意,此建议旨在确保捕获、监视账户活动并适当发出警报。您可以使用 CloudWatch Logs 对其进行 Amazon Web Services 服务 设置。此建议并不排除使用不同的解决方案。
将 CloudTrail 日志发送到 CloudWatch Logs 有助于根据用户、API、资源和 IP 地址记录实时和历史活动。您可以使用此方法为异常或敏感账户活动建立警报和通知。
修复
要将 CloudTrail 与 CloudWatch Logs 集成,请参阅 Amazon CloudTrail 用户指南中的向 CloudWatch Logs 发送事件。
[CloudTrail.6] 确保用来存储 CloudTrail 日志的 S3 存储桶不可公开访问
相关要求: CIS Amazon 基金会基准 v1.2.0/2.3、CIS Amazon 基金会基准 v1.4.0/3.3、PCI DSS v4.0.1/1.4.4
类别:识别 > 日志记录
严重性:严重
资源类型:AWS::S3::Bucket
Amazon Config规则:无(自定义 Security Hub 规则)
计划类型:定期计划和触发变更
参数:无
CloudTrail 记录您账户中进行的所有 API 调用。这些日志文件存储在 S3 存储桶中。CIS 建议将 S3 存储桶策略或访问控制列表(ACL)应用到 CloudTrail 记录的 S3 存储桶,以防止公共访问 CloudTrail 日志。允许公有访问 CloudTrail 日志内容可能有助于攻击者发现受影响账户的使用或配置中的弱点。
要运行此检查,Security Hub 首先使用自定义逻辑来查找存储 CloudTrail 日志的 S3 存储桶。然后,它使用 Amazon Config 托管规则检查是否可公开访问存储桶。
如果您将日志聚合到单个集中式 S3 存储桶中,则 Security Hub 仅针对集中式 S3 存储桶所在的账户和区域运行检查。对于其他账户和区域,控件状态为无数据。
如果存储桶可公开访问,则检查会生成失败的调查发现。
修复
要阻止公众访问您的 CloudTrail S3 存储桶,请参阅 Amazon Simple Storage Service 用户指南中的为 S3 存储桶配置阻止公开访问设置。选择所有四个 Amazon S3 屏蔽公共访问权限。
[CloudTrail.7] 确保在 CloudTrail S3 存储桶上启用 S3 存储桶访问日志记录
相关要求: CIS Amazon 基金会基准 v1.2.0/2.6、CIS Amazon 基金会基准 v1.4.0/3.6、CIS Amazon 基金会基准 v3.0.0/3.4、PCI DSS v4.0.1/10.2.1
类别:识别 > 日志记录
严重性:低
资源类型:AWS::S3::Bucket
Amazon Config规则:无(自定义 Security Hub 规则)
计划类型:定期
参数:无
S3 存储桶访问日志记录会生成一个日志,其中包含对 S3 存储桶发出的每个请求的访问记录。访问日志记录包含与请求有关的详细信息,如请求类型、处理过的请求中指定的资源和请求的处理时间和日期。
CIS 建议您在 CloudTrail S3 存储桶上启用存储桶访问日志记录。
通过在目标 S3 存储桶上启用 S3 存储桶日志记录,您可以捕获可能影响目标存储桶中对象的所有事件。将日志配置为存放在单独的存储桶中可实现对日志信息的访问,这在安全和事故响应工作流程中非常有用。
要运行此检查,Security Hub 首先使用自定义逻辑查找存储 CloudTrail 日志的存储桶,然后使用 Amazon Config 托管规则检查是否启用了日志记录。
如果 CloudTrail 将日志文件从多个 Amazon Web Services 账户 传送到单个目标 Amazon S3 存储桶,则 Security Hub 仅针对其所在地区的目标存储桶评估此控件。这简化了结果。但是,您应该在将日志传送到目标存储桶的所有账户中打开 CloudTrail。对于除持有目标存储桶的账户以外的所有账户,控件状态均为无数据。
修复
要为 CloudTrail S3 存储桶启用服务器访问日志记录,请参阅 Amazon Simple Storage Service 用户指南中的启用 Amazon S3 服务器访问日志。
[CloudTrail.9] 应标记 CloudTrail 跟踪记录
类别:识别 > 清单 > 标记
严重性:低
资源类型:AWS::CloudTrail::Trail
Amazon Config规则:tagged-cloudtrail-trail(自定义 Security Hub 规则)
计划类型:已触发变更
参数:
| 参数 | 描述 | 类型 | 允许的自定义值 | Security Hub 默认值 |
|---|---|---|---|---|
requiredTagKeys
|
被评估资源必须包含的非系统标签键列表。标签键区分大小写。 | StringList(最多 6 项) | 1-6 个符合 Amazon 要求的标签键。 |
No default value
|
此控件用于检查 Amazon CloudTrail 跟踪记录是否具有带参数 requiredTagKeys 中定义的特定键的标签。如果跟踪记录没有任何标签键或未在参数 requiredTagKeys 中指定所有键,则此控件会失败。如果未提供参数 requiredTagKeys,则此控件仅会检查是否存在标签键,如果跟踪记录未使用任何键进行标记,则此控件会失败。自动应用并以 aws: 为开头的系统标签会被忽略。
标签是您分配给 Amazon 资源的标记,由一个键和一个可选值组成。您可以创建标签,以按用途、所有者、环境或其他标准对资源进行分类。标签可帮助您识别、组织、搜索和筛选资源。使用标签进行标记还可以帮助您跟踪负责操作和通知的资源所有者。使用标签进行标记时,可以将基于属性的访问权限控制(ABAC)作为授权策略实施,该策略根据标签来定义权限。您可以将标签附加到 IAM 实体(用户或角色)以及 Amazon 资源。您可以为 IAM 主体创建单个 ABAC 策略或者一组单独的策略。您可以将这些 ABAC 策略设计为允许在主体的标签与资源标签匹配时进行操作。有关更多信息,请参阅 IAM 用户指南中的什么是适用于 Amazon 的 ABAC?。
注意
请勿在标签中添加个人身份信息(PII)或者其他机密或敏感信息。可从许多 Amazon Web Services 服务访问标签,包括 Amazon Billing。有关标记更多最佳实践,请参阅《Amazon Web Services 一般参考》中的标记 Amazon 资源。
修复
要向 CloudTrail 跟踪记录添加标签,请参阅《Amazon CloudTrail API Reference》中的 AddTags。
[CloudTrail.10] CloudTrail Lake 事件数据存储应使用客户管理型 Amazon KMS keys进行加密
相关要求: NIST.800-53.r5 AU-9、NIST.800-53.r5 CA-9(1)、NIST.800-53.r5 CM-3(6)、NIST.800-53.r5 SC-7(10)、NIST.800-53.r5 SC-12(2)、NIST.800-53.r5 SC-13、NIST.800-53.r5 SC-28、NIST.800-53.r5 SC-28(1)、NIST.800-53.r5 SI-7(6)
类别:保护 > 数据保护 > 静态数据加密
严重性:中
资源类型:AWS::CloudTrail::EventDataStore
Amazon Config 规则: event-data-store-cmk-encryption-enabled
计划类型:定期
参数:
| 参数 | 描述 | 类型 | 允许的自定义值 | Security Hub 默认值 |
|---|---|---|---|---|
|
|
要包含在评估中的 Amazon KMS keys 的 Amazon 资源名称 (ARN) 列表。如果事件数据存储未使用列表中的 KMS 密钥进行加密,则该控件会生成 |
StringList(最多 3 项) |
现有 KMS 密钥的 1–3 个 ARN。例如: |
无默认值 |
此控件检查 Amazon CloudTrail Lake 事件数据存储是否已使用客户管理型 Amazon KMS key进行静态加密。如果未使用客户自主管理型 KMS 密钥对事件数据存储进行加密,则该控件会失败。您可以选择为控件指定要包含在评估中的 KMS 密钥列表。
默认情况下,Amazon CloudTrail Lake 使用 AES-256 算法通过 Amazon S3 托管密钥 (SSE-S3) 对事件数据存储进行加密。为了获得更大控制权,您可以将 CloudTrail Lake 配置为使用客户自主管理型 Amazon KMS key (SSE-KMS) 来对事件数据存储进行加密。客户自主管理型 KMS 密钥是在您的 Amazon Web Services 账户中创建、拥有和管理的 Amazon KMS key。您可以完全控制此类 KMS 密钥。这包括定义和维护密钥策略、管理授权、轮换加密材料、分配标签、创建别名以及启用和禁用密钥。您可以在 CloudTrail 数据的加密操作中使用客户自主管理型 KMS 密钥,并通过 CloudTrail 日志审计使用情况。
修复
有关使用您指定的 Amazon KMS key加密 Amazon CloudTrail Lake 事件数据存储的信息,请参阅《Amazon CloudTrail 用户指南》中的 Update an event data store。在将事件数据存储与 KMS 密钥关联后,将无法移除或更改 KMS 密钥。