AWS CloudTrail
用户指南 (版本 1.0)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

验证 CloudTrail 日志文件完整性

要确定日志文件经 CloudTrail 提交后是否已修改、删除或未更改,可以使用 CloudTrail 日志文件完整性验证。该功能是使用业界标准算法构建的:哈希采用 SHA-256,数字签名采用带 RSA 的 SHA-256。这样,要修改、删除或伪造 CloudTrail 日志文件而不被检测到在计算上是不可行的。您可以使用 AWS CLI 在 CloudTrail 将这些文件提交到的位置验证这些文件。

为什么使用它?

在安全和事故调查中,经验证的日志文件非常重要。例如,通过经验证的日志文件,您可以十分确定日志文件本身未更改,或者特定用户凭证执行了特定 API 活动。通过 CloudTrail 日志文件完整性验证过程,您还可以知道日志文件是否已删除或更改,或者可以十分确定在给定时间段内未向您的账户提交任何日志文件。

如何使用

如果启用日志文件完整性验证,CloudTrail 会为其提交的每个日志文件创建一个哈希。CloudTrail 还每小时创建和提交一个文件,该文件引用上一小时的日志文件,包含每一个文件的哈希。此文件称为摘要文件。CloudTrail 使用公有和私有密钥对的私有密钥对每个摘要文件进行签名。完成提交后,您可以使用公有密钥验证摘要文件。CloudTrail 对每个 AWS 区域使用不同的密钥对。

将摘要文件提交到与您的跟踪所关联的 Amazon S3 存储桶,这也是您的 CloudTrail 日志文件所关联到的存储桶。如果日志文件是从所有区域或从多个账户提交到单个 Amazon S3 存储桶,则 CloudTrail 将摘要文件从这些区域和账户提交到同一存储桶中。

摘要文件放在与日志文件不同的文件夹中。摘要文件与日志文件分开放置,您就可以执行细粒度安全策略,允许现有日志处理解决方案继续运行,无需进行修改。每个摘要文件还包含之前摘要文件(如果存在)的数字签名。当前摘要文件的签名位于摘要文件 Amazon S3 对象的元数据属性中。有关摘要文件内容的更多信息,请参阅CloudTrail 摘要文件结构

存储日志文件和摘要文件

您可以将 CloudTrail 日志文件和摘要文件安全、持久、低成本、无限期地存储在 Amazon S3 或 Glacier 中。为增强存储在 Amazon S3 中的摘要文件的安全性,您可以使用 Amazon S3 MFA 删除

启用验证并验证文件

要启用日志文件完整性验证,您可以使用 AWS 管理控制台、AWS CLI 或 CloudTrail API。有关更多信息,请参阅 启用 CloudTrail 日志文件完整性验证

要验证 CloudTrail 日志文件的完整性,您可以使用 AWS CLI 或创建自己的解决方案。AWS CLI 将在 CloudTrail 将文件提交到的位置验证文件。如果需要验证已移到其他位置(Amazon S3 或别处)的日志,您可以创建自己的验证工具。

有关通过 AWS CLI 验证日志的信息,请参阅使用 验证 日志文件完整性。有关开发 CloudTrail 日志文件验证自定义实现的信息,请参阅CloudTrail 日志文件完整性验证的自定义实现