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

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

验证 CloudTrail 日志文件完整性

要确定日志文件在 CloudTrail 传送后是被修改、删除还是未更改,可以使用 CloudTrail 日志文件完整性验证。该功能是使用业界标准算法构建的:哈希采用 SHA-256,数字签名采用带 RSA 的 SHA-256。这使得在没有检测到的情况下修改、删除或伪造 CloudTrail 日志文件在计算上是不可行的。您可以使用 Amazon CLI 在文件 CloudTrail 交付地点验证文件。

为什么使用它?

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

工作方式

启用日志文件完整性验证后, CloudTrail 会为其提供的每个日志文件创建一个哈希值。每隔一小时, CloudTrail 还会创建并传送一个文件,该文件引用了过去一小时的日志文件,并包含每个文件的哈希值。此文件称为摘要文件。 CloudTrail 使用公钥和私钥对的私钥签署每个摘要文件。交付后,您可以使用公钥来验证摘要文件。 CloudTrail 对每个密钥对使用不同的密钥对 Amazon Web Services 区域。

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

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

存储日志文件和摘要文件

您可以安全、耐用、廉价地将 CloudTrail 日志文件和摘要文件无限期地存储在 Amazon S3 或 S3 Glacier 中。为增强存储在 Simple Storage Service(Amazon S3)中的摘要文件的安全性,您可以使用 Simple Storage Service(Amazon S3)MFA 删除

启用验证并验证文件

要启用日志文件完整性验证,可以使用 Amazon Web Services Management Console Amazon CLI、或 CloudTrail API。启用日志文件完整性验证允许 CloudTrail 将摘要日志文件传输到您的 Amazon S3 存储桶,但不能验证文件的完整性。有关更多信息,请参阅 为启用日志文件完整性验证 CloudTrail

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

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