AmbroseDAkash/cloudsentinel-aws-security-monitoring
GitHub: AmbroseDAkash/cloudsentinel-aws-security-monitoring
基于 AWS 无服务器架构的云安全监控与自动修复平台,通过事件驱动机制检测并自动响应 S3 权限的高风险变更。
Stars: 0 | Forks: 0
# 🔐 AWS 云安全监控与自动修复实验
     
# 📖 概述 本项目演示了如何构建一个**安全的 AWS 云环境**,该环境能够持续监控基础设施活动,检测 Amazon S3 权限的潜在风险变更,自动修复安全配置错误,并实时通知安全团队。 本项目遵循 **AWS 安全最佳实践**,包括** IAM 最小权限**、**网络隔离**、**审计日志**、**持续监控**和**无服务器事件响应**,同时保持与 **AWS 免费套餐**的兼容性。 # 🎯 目标 - 设计安全的 AWS 网络架构 - 实施身份与访问管理 (IAM) - 部署安全的 EC2 Web 服务器 - 配置 CloudTrail 以进行审计日志记录 - 使用 CloudWatch 监控 AWS 资源 - 使用 EventBridge 检测安全事件 - 使用 AWS Lambda 自动修复高风险的 S3 权限更改 - 使用 Amazon SNS 发送实时安全警报 # ☁ 使用的 AWS 服务 | 服务 | 用途 | |----------|----------| | IAM | 身份与访问管理 | | VPC | 安全网络架构 | | EC2 | Web 服务器 | | Security Groups | 网络防火墙 | | S3 | CloudTrail 日志存储 | | CloudTrail | 审计日志记录 | | CloudWatch | 基础设施监控 | | SNS | 电子邮件通知 | | EventBridge | 事件检测 | | Lambda | 自动化安全修复 | # 🔒 已实施的安全控制 - ✅ IAM 最小权限访问 - ✅ 基于角色的访问控制 (RBAC) - ✅ 安全的 VPC 架构 - ✅ 公有子网与私有子网 - ✅ Security Groups - ✅ CloudTrail 审计日志记录 - ✅ CloudWatch 监控 - ✅ 事件驱动的安全检测 - ✅ 自动化修复 - ✅ 电子邮件告警 - ✅ 无服务器事件响应 # 📂 项目结构 ``` cloudsentinel-aws-security-monitoring/ │ ├── README.md ├── LICENSE ├── .gitignore │ ├── architecture/ │ ├── README.md │ └── architecture-diagram.png │ ├── docs/ │ ├── setup-guide.md │ └── incident-report.md │ ├── lambda/ │ └── AutoRemediateS3.py │ └── screenshots/ ``` # 🚀 实施步骤 ## 步骤 1 — 创建安全的 VPC - 创建自定义 VPC - 创建公有子网 - 创建私有子网 - 附加 Internet Gateway - 配置 Route Tables ## 步骤 2 — 配置 IAM 创建 IAM 组 - Admins - Developers - SecurityTeam - Auditors 创建 IAM 用户 - admin-user - developer-user - security-user - auditor-user 使用 AWS 托管策略分配最小权限。 ## 步骤 3 — 配置 Security Groups 创建 **WebServer-SG** 入站规则 - SSH (22) → 我的 IP - HTTP (80) → 任意位置 - HTTPS (443) → 任意位置 ## 步骤 4 — 部署 EC2 Web 服务器 - Amazon Linux 2023 - t2.micro (免费套餐) - 已安装 Apache HTTP Server - 托管演示安全网页 ## 步骤 5 — 配置 CloudTrail - 多区域 Trail - 启用日志验证 - 日志存储在 Amazon S3 中 - 启用管理事件 ## 步骤 6 — 配置 Amazon SNS 创建主题 ``` SecurityAlerts ``` 订阅电子邮件端点以接收安全通知。 ## 步骤 7 — 配置 CloudWatch 创建 CPU 利用率警报 阈值 ``` CPU >= 70% ``` 通知目标 ``` SecurityAlerts SNS Topic ``` ## 步骤 8 — 配置 EventBridge 创建规则 ``` DetectS3PublicAccessChange ``` 监控的 CloudTrail 事件 - PutBucketAcl - PutBucketPolicy ## 步骤 9 — 创建 Lambda 函数 创建 ``` AutoRemediateS3 ``` 职责 - 检测公有 S3 存储桶的更改 - 移除不安全的配置 - 发送 SNS 通知 # 🔄 安全工作流 ``` User modifies S3 Bucket │ ▼ CloudTrail Records API Call │ ▼ EventBridge Detects Event │ ▼ Lambda Function Executes │ ┌──────┴────────┐ │ │ ▼ ▼ Remove Public Send SNS Bucket Access Alert │ ▼ Security Team Notified ``` # 🧪 测试 ### 测试 1 — EC2 部署 ✅ 成功托管 Apache Web 服务器。 ### 测试 2 — CloudWatch 警报 生成 CPU 活动并验证了警报配置。 ### 测试 3 — SNS 通知 验证了电子邮件订阅和通知送达。 ### 测试 4 — EventBridge 检测 验证了对 CloudTrail 管理事件的检测。 ### 测试 5 — Lambda 自动化 验证了通过 EventBridge 的自动调用。 # 🛠 挑战与故障排除 ## 问题 1 — EC2 公有 IP 无法访问 ### 根本原因 未安装 Apache HTTP Server。 ### 解决方案 ``` sudo yum install httpd -y sudo systemctl start httpd sudo systemctl enable httpd ``` ## 问题 2 — 网页无法加载 ### 错误 ``` tee: var/www/h: No such file or directory ``` ### 根本原因 Web 根目录路径不正确。 ### 修复 ``` echo 'AWS Cloud Security Monitoring Lab
' | sudo tee /var/www/html/index.html ``` ## 问题 3 — 无法进行 SSH 访问 ### 根本原因 EC2 启动时没有 Key Pair。 ### 解决方案 使用 **EC2 Instance Connect** 安全地访问实例。 ## 问题 4 — Internet 连接失败 ### 根本原因 Route Table 中包含**黑洞路由**。 ### 解决方案 附加了正确的 Internet Gateway 并更新了 Route Table。 # 📈 展示的技能 - AWS 云安全 - AWS IAM - Amazon VPC - EC2 管理 - Security Groups - Amazon S3 - CloudTrail - CloudWatch - Amazon SNS - Amazon EventBridge - AWS Lambda - 事件响应 - 无服务器安全 - 最小权限 - 安全监控 - 云审计 - 基础设施安全 # 🚀 未来增强功能 - AWS Config Rules - Amazon GuardDuty - AWS Security Hub - AWS WAF - Amazon Inspector - Systems Manager Automation - 基础设施即代码 (Terraform / CloudFormation) - CI/CD 集成 - 多账户安全监控 # 👨💻 作者 **Akash Deep** 云安全 | IAM | GRC | AWS | Azure | 零信任 | 安全监控 LinkedIn: *(https://www.linkedin.com/in/akash-deep-ism/)* ⭐ 如果您觉得这个项目有用,请考虑在 GitHub 上给它点个 **Star**!标签:AWS, DPI, 无服务器, 自动化响应, 运维, 逆向工具