如何检测有人擦除 Cloudtrail 日志

问题描述

我想监控任何试图从我的 CloudTrail 的 S3 存储桶中擦除日志的人。

我尝试使用自己的 IAM 用户删除此存储桶上的日志之一,但 CloudTrail 本身似乎没有注意到我已从其存储桶中删除一个对象。

是否需要激活特定的监控来检查这些日志是否被可能的攻击者删除

还有一个优点:Guard Duty 是否可以通过任何方式检测我的环境中的此类操作?

提前致谢。

解决方法

您可以为此使用 CloudTrail log validation,它可以在控制台中或通过 AWS CLI 启用:

要验证 CloudTrail 日志文件的完整性,您可以使用 AWS CLI 或创建您自己的解决方案。 AWS CLI 将验证文件 CloudTrail 交付它们的位置。

,
  1. 启用 cloudtrail 以监控管理和 Data Events。当您启用数据事件监控时,所有与 S3 相关的数据事件也将被 cloudtrail 监控。

  2. 在 cloudtrail 中启用 log file integrity validation。 CloudTrail 为其提供的每个日志文件创建一个哈希。每小时,CloudTrail 还会创建并交付一个文件,该文件引用上一小时的日志文件并包含每个文件的哈希值。该文件称为摘要文件。 CloudTrail 使用公钥和私钥对的私钥对每个摘要文件进行签名。 validating log file integrity.

  3. 此外,为 S3 删除事件设置 lambda 函数,以便在需要时通过 SNS 触发通知。

  4. 作为最佳实践,如果您管理多个 AWS 账户,请使用 AWS Organizations 管理 cloudtrail,并将 cloudtrail 记录在专门用于限制访问的日志记录的专用 AWS 账户中。此外,请考虑在删除对象版本时启用 S3 存储桶和 Enable MFA delete 的跨区域复制/版本控制以要求多重身份验证 (MFA)。

,

您可以使用 CloudTrail 日志验证,但请注意它不会自动提醒您。相反,它会留下一个痕迹,您可以根据需要验证完整性。有关详细信息,请参阅 this link

如果您将这些日志摄取到日志聚合器(如 Splunk 或 Elk)中,那么您可以定义警报,其中 cloudtrail 操作会从包含您的日志的 S3 存储桶中删除日志文件。如果您没有它,您或许可以使用云监视警报来触发 events from CloudTrail,但请注意,它是一种相当生硬的工具,您可能无法获得所需的搜索粒度。

我认为 GuardDuty 不会对此类操作发出警报,但我可能是错的。