验证 CloudTrail 日志文件完整性 - Amazon CloudTrail
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

验证 CloudTrail 日志文件完整性

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

为什么使用它?

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

如何使用

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

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

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

存储日志文件和摘要文件

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

启用验证并验证文件

要启用日志文件完整性验证,您可以使用Amazon Web Services Management Console,Amazon CLI或 CloudTrail API。有关更多信息,请参阅启用 CloudTrail 日志文件完整性验证

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

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