审计要证明「这段时间 API 记录没被改」,只打开事件历史不够——还得证明投递到 S3 的日志文件本身完整。
AWS CloudTrail《Validating CloudTrail log file integrity》说明:可用日志文件完整性验证判断投递后文件是否被修改、删除或未改动;采用 SHA-256 哈希与 SHA-256 with RSA 数字签名,使篡改/伪造在计算上难以不被发现;可用 AWS CLI 在 CloudTrail 投递位置校验。启用后,CloudTrail 为每个日志文件生成哈希;每小时另投递引用上一小时日志并含各文件哈希的 digest 文件,并用公私钥对中的私钥签名;投递后可用公钥验 digest。各 AWS 区域使用不同密钥对。digest 与日志进同一 trail 关联的 S3 桶;多区域/多账号汇入同一桶时,对应 digest 也进该桶。digest 与日志分目录存放,便于细粒度安全策略且不打断现有日志处理。当前 digest 还可含上一 digest 的签名;当前 digest 的签名在 S3 对象元数据中。可将日志与 digest 长期存放于 S3 或 Glacier,并可用 S3 MFA Delete 增强 digest 安全。启用验证会使 CloudTrail 向桶投递 digest,但并不会校验文件完整性;校验需用 AWS CLI 或自建方案。CLI 校验的是 CloudTrail 投递的原始位置;若日志已搬到其他 S3 位置或别处,需自建校验工具。本场景据此输出取证前自检清单。禁止声称「已证明未被篡改」。