CloudTrail 日志文件验证
使用摘要文件证明日志交付后未被修改。
CloudTrail 日志文件验证 是 CoddyKit 上的免费 AWS Security Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 AWS Security Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 AWS Security Academy 课程共包含 4 节课。
证明完整性
CloudTrail 日志文件验证可以让您证明,传送到 S3 的日志文件在 CloudTrail 写入后未被修改、删除或伪造。它将“希望日志完好无损”变成“能够通过密码学手段证明日志完好无损”。在任何跟踪记录上启用此功能,都是只需单击一次即可完成的最佳实践。
验证的工作原理
启用后,CloudTrail 每小时创建一个摘要文件,引用该时段传送的日志文件,并包含每个文件的哈希值。摘要文件本身也会经过签名。它们共同形成一条链,使您能够验证每个日志文件都未被更改,并确认没有文件缺失。
哈希与签名
每个日志文件都使用 SHA-256 计算哈希值,摘要文件则使用SHA-256 with RSA进行签名。由于日志文件的任何变化都会改变其哈希值,而摘要又经过密码学签名,攻击者无法篡改日志而不破坏这套数学验证机制。这正是日志具备篡改可检测性的原因。
摘要链
每个摘要文件还会引用上一个摘要文件,从而逐小时形成链式序列。这种链式结构不仅可以检测日志文件是否被修改,还能检测缺失或删除的摘要,因为间断会破坏这条链。持续存在的链条可以证明日志随时间推移的完整性。
使用 CLI 进行验证
您可以使用 validate-logs CLI 命令验证完整性;该命令会检查摘要签名,以及指定时间范围内被引用日志文件的哈希值。它会报告任何被修改或删除的文件,以及摘要缺失的文件。这样,调查人员就能按需对日志完整性进行权威检查。
aws cloudtrail validate-logs \
--trail-arn arn:aws:cloudtrail:us-east-1:111122223333:trail/org-trail \
--start-time 2024-01-01T00:00:00Z检测,而非预防
有一个重要细节需要注意:验证是检测性措施,而不是预防性措施。它无法阻止某人删除日志文件,但可以让您证明对方确实这样做了。要防止删除,您需要将验证与 Object Lock 等存储桶保护措施结合使用。验证负责揭示事实,其他控制措施负责强制执行保护。
保护摘要文件
摘要文件与日志存储在同一个 S3 存储桶中,因此必须同样谨慎地加以保护。如果攻击者可以随意重新生成或删除摘要,相关证明就会失去作用。将摘要存储在严格锁定、最好不可变的存储桶中,可以端到端地保持完整性保证。
验证的定位
验证是日志保护完整性支柱的一部分。它与不可变存储协同保障可用性,并与加密协同保障机密性。在考试中,如果场景询问如何证明日志在传送后未被篡改,CloudTrail 日志文件验证就是准确答案。
启用验证
创建或更新跟踪记录时,只需启用一个设置即可打开验证功能。除了正常支付 S3 摘要文件的存储费用外,验证功能本身不收取额外费用。鉴于其显著收益和极低成本,所有跟踪记录都应无一例外地启用该功能。
将验证纳入日常运营
请定期运行验证,而不要只在发生事件时运行,这样才能及时发现篡改行为。有些团队会按计划自动运行 validate-logs,并在出现任何失败时发出告警。定期验证可以将这一功能从事后取证手段转变为审计跟踪记录的主动完整性监控器。
合规审计中的验证
在审计期间,日志文件验证可以提供密码学证据,证明您的审计跟踪记录完整且未被篡改,从而满足 PCI DSS 和 SOC 2 等框架的要求。能够运行 validate-logs 并展示无异常结果,就是监控数据可以作为事件记录而被信任的具体证据。
快速检查
测试您对验证的了解。
回顾
CloudTrail 日志文件验证可以证明日志在传送后未被篡改。每小时生成的摘要文件包含日志的 SHA-256 哈希值,经过签名,并与上一个摘要链接,因此可以检测缺失的文件。使用 validate-logs 进行验证。该功能属于检测性措施,因此应与不可变存储结合,以防止删除。在每个跟踪记录上启用它,并定期执行验证。
常见问题解答
「CloudTrail 日志文件验证」课时是免费的吗?
是的 — 「CloudTrail 日志文件验证」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 AWS Security Academy 课程的其余内容,请升级到 CoddyKit PRO。 AWS Security Academy 课程共包含 4 节课。
「CloudTrail 日志文件验证」这节课中我会学到什么?
使用摘要文件证明日志交付后未被修改。 你通过在浏览器中直接运行的动手代码来练习 AWS Security Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 AWS Security Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 AWS Security Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。
「CloudTrail 日志文件验证」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 AWS Security Academy 课中编写并运行代码吗?
能。每节 AWS Security Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 日志篡改为何构成威胁
- CloudTrail 日志文件验证
- 锁定日志存储桶
- 集中式日志归档账户