pallavikhadse/AWS-Security-Monitoring-System-and-Real-Time-Alerts

GitHub: pallavikhadse/AWS-Security-Monitoring-System-and-Real-Time-Alerts

AWS安全监控系统,实时监控敏感凭证访问并触发警报。

Stars: 0 | Forks: 0

# AWS 安全监控系统 & 实时警报 一个零信任的 AWS 安全基础设施,旨在监控对敏感凭证的非授权或关键访问。此项目演示了如何使用 AWS CloudTrail 跟踪秘密访问事件,通过 Amazon CloudWatch 集中日志,并在阈值被突破时即时广播实时电子邮件通知使用 AWS SNS(简单通知服务)。 ## 项目概述 此项目的目标是实现围绕 AWS Secrets Manager 的自动化安全边界。通过建立即时警报管道,系统将检测到补救的时间窗口从小时缩短到秒。 ### 关键学习目标 * 实施身份访问管理和跟踪 API 活动。 * 通过 **AWS CloudTrail** 审计数据事件和资源级操作。 * 使用聚合指标(`Sum`)构建自定义 **CloudWatch 指标过滤器** 和 **警报**。 * 使用 **AWS SNS** 结构解耦的 pub/sub 警报架构。 * 利用 **AWS Management Console** 和 **AWS CLI** 与 AWS 资源接口。 ## 架构与服务使用 * **AWS Secrets Manager**:数据库凭证、API 密钥和 OAuth 令牌的安全存储。 * **AWS CloudTrail**:管理和数据事件跟踪以记录操作历史。 * **AWS CloudWatch Logs**:集中存储和实时交互式模式过滤。 * **AWS CloudWatch Alarms**:基于零信任逻辑评估违规的指标监控。 * **AWS SNS(简单通知服务)**:解耦的消息主题,提供跨渠道警报。 * **AWS CLI / CloudShell**:API 访问事件的命令行验证。 ## 实施步骤 ### 步骤 1:在 AWS Secrets Manager 中创建一个秘密 * 部署了一个名为 `MySecretInfo` 的秘密,其中包含敏感的键值对。 * 使用默认的 `aws/secretsmanager` KMS 密钥配置了标准加密。 ### 步骤 2:设置 AWS CloudTrail 监控 * 配置了一个专门的跟踪来捕获 **数据事件** 和跟踪资源级操作。 * 启用了 API 活动的日志记录,确保审计了 *只读*(例如,获取详细信息)和 *写入*(例如,修改配置)活动。 ### 步骤 3:配置 CloudWatch 日志和自定义指标过滤器 * 将 CloudTrail 配置为将日志事件直接流式传输到 CloudWatch 日志组(`mysecretsmanager-loggroup`)。 * 创建了一个名为 `GetSecretsValue` 的指标过滤器,用于解析原始日志字符串以进行目标模式匹配。 * 将 **指标值** 设置为 `1`(每次访问尝试增加计数器),将 **默认值** 设置为 `0`,以在仪表板图表上保持连续的基线。 ### 步骤 4:建立零信任 CloudWatch 警报 * 基于自定义指标过滤器配置了一个警报。 * **应用逻辑规则**: * **统计**:`Sum`(在 `1 分钟` 期间评估,用于近实时检测)。 * **条件**:大于或等于($\ge$)`1`。 * **安全结果**: * `0` 访问 = 正常状态(`OK`) * `1+` 访问 = 安全违规状态(`ALARM`) ### 步骤 5:配置 AWS SNS 通知管道 * 创建了一个名为 `SecurityAlarms` 的标准 SNS 主题。 * 将管理电子邮件地址订阅到主题,并验证订阅链接以授予投递权限。 * 将 CloudWatch 警报操作状态直接链接到 SNS 主题 ARN。 ## 验证与测试 为了测试管道的弹性,故意通过 **AWS CLI / CloudShell** 获取了秘密: ``` aws secretsmanager get-secret-value --secret-id "MySecretInfo" --region us-east-1 ```
标签:AWS CLI, CloudTrail, CloudWatch, CSV输出, SNS 通知, WSL, 事件追踪, 云审计, 云服务集成, 代码分析, 凭证管理, 安全警报, 漏洞利用检测, 结构化查询, 自动化安全, 零信任架构