Princewill-chala/aws-cloudtrail-security-monitoring

GitHub: Princewill-chala/aws-cloudtrail-security-monitoring

该项目演示了如何利用 AWS CloudTrail 记录、追踪和审计 AWS 账户内的管理事件,以 EC2 实例终止操作为例展示了完整的云安全监控与调查流程。

Stars: 0 | Forks: 0

# AWS CloudTrail 安全监控 ![AWS CloudTrail 安全监控横幅](https://static.pigsec.cn/wp-content/uploads/repos/cas/80/806e5c6cc68b8552ff4337a6b133e3a00ebf5bd175e5595df4118e6dd6ada1ba.png) ## 项目概述 本项目演示了如何使用 AWS CloudTrail 来监控、调查和审计 AWS 账户内执行的活动。 AWS CloudTrail 记录跨 AWS 服务的各项管理事件和 API 活动。在本项目中,我们创建了一个 Amazon EC2 实例并随后将其终止。随后通过 CloudTrail Event history(事件历史记录)面板及其详细的 JSON 事件记录对该终止活动进行了调查。 该项目突出了 CloudTrail 如何通过展示操作执行者、执行的操作、发生时间、来源位置以及受影响的 AWS 资源,从而提高 AWS 账户操作的可见性。 ## 项目目标 - 创建一个 Amazon EC2 实例以用于监控活动。 - 启用并访问 AWS CloudTrail Event history。 - 通过终止 EC2 实例生成一项 AWS 管理事件。 - 在 CloudTrail Event history 中定位 `TerminateInstances` API 调用。 - 查看事件详情和 JSON 审计日志。 - 识别 IAM 用户、源 IP 地址、AWS Region、受影响的实例 ID 以及事件时间戳。 - 演示 CloudTrail 如何支持安全监控、审计和事件调查。 ## 使用的 AWS 服务 - **AWS CloudTrail** — 记录并显示 AWS 账户活动及 API 调用。 - **Amazon EC2** — 提供用于生成管理事件的测试实例。 - **AWS Identity and Access Management (IAM)** — 识别执行该操作的 IAM 用户。 ## 架构图 ``` +-------------------+ | IAM User | | naxty | +---------+---------+ | | Creates and terminates an EC2 instance v +-------------------+ | Amazon EC2 | | Test Instance | +---------+---------+ | | Management event: TerminateInstances v +-------------------+ | AWS CloudTrail | | Event History | +---------+---------+ | | Event details and JSON audit record v +-------------------+ | Security Review | | Audit & Analysis | +-------------------+ ``` ## 实施步骤 ### 1. 访问 AWS CloudTrail 从 AWS Management Console 打开 AWS CloudTrail,以监控账户活动并查看已记录的管理事件。 CloudTrail Event history 提供了对跨 AWS 服务执行的操作的可见性,包括通过 AWS Management Console、AWS CLI、SDK 以及其他 AWS 服务发起的 API 调用。 ![AWS CloudTrail 服务控制台](https://static.pigsec.cn/wp-content/uploads/repos/cas/60/604c8e89e37c3498bf4014066752eb4b7023fd76946b7cac76b7c6870c7084b8.png) ### 2. 创建 Amazon EC2 实例 创建了一个 Amazon EC2 实例,以生成随后可通过 CloudTrail 监控的 AWS 活动。 该实例作为本项目的测试资源。创建和终止该实例生成了被记录在 CloudTrail Event history 中的管理事件。 ![为监控创建的 EC2 实例](https://static.pigsec.cn/wp-content/uploads/repos/cas/d1/d129e97a9e13495c6a4cba7db70f72b5e294066554fe3f8a16da87cc241df4ad.png) ### 3. 查看 CloudTrail Event history 在创建和终止 EC2 实例后,使用 CloudTrail 的 **Event history** 面板查看了 AWS 账户中执行的操作和 API 调用列表。 Event history 面板显示了重要的审计信息,包括: - 事件名称 - 事件时间 - 用户名 - 事件源 - 资源类型 - AWS Region - 源 IP 地址 这使得调查账户活动并识别对 AWS 资源执行的操作成为可能。 ![CloudTrail Event history](https://static.pigsec.cn/wp-content/uploads/repos/cas/0b/0b15b667198f06cb87c4457b44fc3d9d9fec426e1860ac84b0b9f7698680d30a.png) ### 4. 定位 `TerminateInstances` 事件 从 CloudTrail Event history 中选择了 `TerminateInstances` 事件,以调查 EC2 实例的终止情况。 此事件确认了已发出 EC2 实例终止请求,并记录了用户身份、受影响的实例、AWS Region 以及操作的确切时间。 ![TerminateInstances 事件详情](https://static.pigsec.cn/wp-content/uploads/repos/cas/09/094a5dc9d37e19617b5d89ef083382d3284b1c979c2f041386aede9b78777da8.png) ## 安全发现 CloudTrail 事件日志提供了几项重要的安全见解: - 该事件是一个**管理事件**,这意味着它涉及对 AWS 资源执行的管理操作。 - 执行的操作是 `TerminateInstances`,如果在未经授权的情况下执行,可能会导致服务中断或数据丢失。 - 该事件由 IAM 用户通过 AWS Management Console 发起。 - 事件记录捕获了 IAM 用户名、源 IP 地址、AWS Region、受影响的 EC2 实例、时间戳和请求详细信息。 - IAM 会话显示 `mfaAuthenticated: false`,表明该操作是在没有多因素认证的情况下执行的。 - 该事件被标记为 `readOnly: false`,确认它更改了 AWS 资源的状态。 ## 安全建议 为了加强 AWS 账户监控并降低未授权资源更改的风险: - 为所有 IAM 用户启用多因素认证 (MFA),尤其是具有管理权限的用户。 - 应用最小权限原则,仅授予每个用户或工作负载所需的 IAM 权限。 - 创建多区域 CloudTrail trail 并将日志存储在专用的 Amazon S3 存储桶中。 - 启用 CloudTrail 日志文件验证,以帮助检测日志文件是否已被修改或删除。 - 配置 Amazon CloudWatch Logs 集成,以实现对 CloudTrail 事件的近实时监控。 - 创建 Amazon EventBridge 规则,以检测高风险 API 操作,例如 `TerminateInstances`、`DeleteBucket`、`DeleteTrail` 以及 IAM 策略更改。 - 配置 Amazon SNS 通知,以便在发生关键管理事件时提醒管理员。 - 定期查看 CloudTrail Event history 并调查意外的 API 调用。 - 使用 AWS Config 和 Security Hub 改进持续合规性监控和安全态势管理。 ## 展示的技能 - AWS CloudTrail 配置和 Event history 分析 - AWS 管理事件监控 - Amazon EC2 资源生命周期管理 - IAM 用户活动调查 - CloudTrail JSON 事件日志分析 - AWS 安全审计和事件调查 - 识别源 IP 地址、API 调用、受影响的资源和事件时间戳 - 应用 AWS 安全最佳实践进行日志记录、监控和访问控制 ## 结论 本项目演示了如何使用 AWS CloudTrail 来监控和调查 AWS 账户活动。 通过创建和终止一个 Amazon EC2 实例,生成了一个 `TerminateInstances` 管理事件并将其记录在 CloudTrail 中。事件历史记录和 JSON 审计记录使我们能够识别负责该操作的 IAM 用户、受影响的 EC2 实例、AWS Region、源 IP 地址以及实例状态转换。 CloudTrail 是一项重要的 AWS 安全服务,因为它提供了审计可见性、支持事件响应,并帮助组织检测其 AWS 环境中未经授权或意外的操作。 ## 作者 Elochukwu Princewill 云计算 • 网络安全 ## ⭐ 如果您觉得这个项目有帮助 欢迎给该仓库点个 ⭐ star,并探索我其他的 AWS 实践项目,我将继续构建实用的云工程解决方案。
标签:AWS, CloudTrail, DPI, 运维监控