Shivam-1980/ThreatWatch

GitHub: Shivam-1980/ThreatWatch

一个完全基于 AWS 原生服务的实时云安全监控系统,实现威胁检测、日志分析与自动化邮件告警。

Stars: 0 | Forks: 0

# 🛡️ 基于 AWS 的 AI 驱动安全警报系统 [![Cloud: AWS](https://img.shields.io/badge/Cloud-AWS-1D3557?logo=amazon-aws&logoColor=white)](https://aws.amazon.com/) [![架构:Serverless](https://img.shields.io/badge/Architecture-Serverless-6C5CE7)](#) [![构建工具](https://img.shields.io/badge/Built%20With-AWS%20Native%20Services-4682B4?logo=amazon-aws&logoColor=white)](#) [![项目状态:活跃](https://img.shields.io/badge/Status-Active-00B894)](#) [![在构建中学习](https://img.shields.io/badge/Project%20Type-Learning%20by%20Building-FDCB6E)](#) 一个用于 AWS 的实时安全监控系统 —— 100% 使用原生 AWS 服务构建。没有复杂的 ML 设置。只有巧妙的架构、清晰的自动化,以及对学习云安全的渴望。 ## 📌 项目概览 | 类别 | 详情 | |----------------|-----------------------------------------------------------| | 👨‍💻 这是什么? | 云安全 / DevSecOps 自动化项目 | | 🛠️ 构建工具 | GuardDuty, Lambda, EventBridge, SNS, CloudTrail, Athena | | 📨 它的作用 | 当 AWS 检测到威胁时发送实时邮件警报 | | 💼 为什么重要 | 展示了实际的云安全操作经验 | ## 🚀 为什么构建这个项目 作为一个深入研究云安全的人,我想构建一些实用的东西 —— 一些真实公司可能会使用的东西。这个项目帮助我: - 理解实时威胁检测的工作原理 - 探索 AWS 服务如何以安全、可扩展的方式相互通信 - 通过构建来学习 —— 而不仅仅是阅读文档 ## 🧠 它实际上做什么 该系统就像您 AWS 账户的 **24/7 云端看门狗** 🐶: - 使用 CloudTrail **跟踪 API 活动** - 使用 VPC Flow Logs **监控流量** - 使用 GuardDuty 的内置 AI **检测威胁**(如暴力破解或恶意软件) - 当发生可疑情况时**触发警报** - **立即向您发送包含警报详细信息的电子邮件** 所有这些都是**自动**发生的 —— 无需人工干预,也无需进行 ML 模型训练。 ## 🏗️ 架构概述 - **AWS CloudTrail** – 跟踪 API 调用和用户活动 - **Amazon VPC Flow Logs** – 捕获 VPC 内的网络流量 - **Amazon GuardDuty** – 使用 ML 检测威胁(例如,SSH 暴力破解、恶意软件) - **Amazon S3** – 集中存储所有原始日志 - **Amazon Athena** – 对 S3 中的日志进行基于 SQL 的查询 - **Amazon EventBridge** – 监控可疑事件(如未经授权的访问) - **AWS Lambda** – 在 EventBridge 规则匹配时发送实时警报 - **Amazon SNS** – 通过电子邮件发送安全警报 ## 🧪 我是如何测试它的 - 启动了一个测试 EC2 实例 - 模拟了 SSH 暴力破解攻击 - GuardDuty 检测到攻击并生成了一个发现结果 ✅ - EventBridge 捕获该事件并触发了 Lambda - Lambda 格式化警报并将其发送到 SNS - 实时收到了警报电子邮件 —— 效果完全按计划进行 - 清理了所有资源,以避免任何账单上的意外 ## 📸 截图 ### ⚙️ EventBridge 规则配置 该规则监控特定的 GuardDuty 事件并触发 Lambda: ![EventBridge 规则配置](https://static.pigsec.cn/wp-content/uploads/repos/cas/8b/8b9605179e86d25c39edfaf8667610c336332f97b9ee321d612f832660f51e31.png) ### 🔍 Lambda 执行日志 该函数在检测到威胁时运行,并通过 SNS 推送警报: ![Lambda 执行日志](https://static.pigsec.cn/wp-content/uploads/repos/cas/c4/c424fe081556db6b8126e4d8e92afb80689cafa7b11a87c50e501f59e81484ca.png) ### 🛡️ GuardDuty 检测日志 对模拟暴力破解攻击的实时检测: ![GuardDuty 检测日志](https://static.pigsec.cn/wp-content/uploads/repos/cas/50/509b43c1e6584df11d4366093e24ff5b2c0a0deacd4ec67a5b7594c00c8d2893.png) ### 📊 GuardDuty 概览仪表板 查看所有按严重程度分类的活动发现: ![GuardDuty 概览仪表板](https://static.pigsec.cn/wp-content/uploads/repos/cas/fc/fc193a81c5a38d10a89b007af0f671d3b8a7752c5492a52369366376913023c7.png) ### 📬 SNS 电子邮件警报 检测到威胁后从 SNS 收到的示例电子邮件: ![SNS 电子邮件警报](https://static.pigsec.cn/wp-content/uploads/repos/cas/5e/5ed4e23775ffe06b3e1ebbf9eee3407cb9e3d9c621940eb4f6aefcb57f3140b1.png) ## 🗂️ 项目结构 ``` /aws-security-alert-system ├── README.md # Full project walkthrough ├── lambda/ │ └── alert_handler.py # SNS email logic on threat detection ├── eventbridge/ │ └── guardduty-event-pattern.json # EventBridge rule for triggering Lambda └── screenshots/ ├── eventbridge-rule.png ├── guardduty-findings.png ├── guardduty-summary.png ├── lambda-log.png └── sns-email-alert.png ``` ## 💡 我学到了什么 这个项目教会我的远不止是如何连接 AWS 服务: - **API 日志记录和网络日志记录之间的区别** - **事件驱动架构**在安全自动化中是如何运作的 - **你不需要成为机器学习专家**也能使用由 ML 驱动的工具 - **IAM 角色和最小权限**的重要性 - 为什么**清理未使用的资源**与设置它们一样重要 ## 📚 使用的工具与服务 | AWS 服务 | 为什么使用它 | |---------------------|--------------------------------------------| | GuardDuty | 基于 AI 的威胁检测 | | Lambda | 实时警报处理程序 | | SNS | 立即发送电子邮件通知 | | CloudTrail | 跟踪用户/API 活动 | | VPC Flow Logs | 捕获网络层行为 | | S3 | 安全地存储所有日志 | | Athena | 对日志运行 SQL 查询(供未来使用) | | EventBridge | 将威胁检测与行动连接起来 | ## 📬 安全警报示例(电子邮件格式) ``` 🚨 AWS Security Alert Detected A suspicious activity was detected in your AWS environment. Details: UnauthorizedAccess:EC2/SSHBruteForce Severity: 5.3 (Medium) Region: ap-south-1 ``` ## 🧼 清理清单 ✅ 终止了测试 EC2 实例 ✅ (测试后)删除了 CloudTrail 跟踪 ✅ 移除了 VPC Flow Logs ✅ (验证后)禁用了 GuardDuty ✅ 删除了 EventBridge 规则和 Lambda ✅ 取消订阅了 SNS ✅ 清空并移除了 S3 存储桶 ✅ 检查了账单仪表板以确认使用费用为 $0 ## 🌱 下一步计划 - 🔍 使用 **Athena** 分析 S3 中的日志 - 📊 添加 **QuickSight** 或 **OpenSearch** 仪表板 - 🔒 启用 **自动修复**(例如,自动封锁恶意 IP) - 🧠 尝试使用 **Amazon Lookout for Metrics**(可选) ## 💰 成本明细 我的目标之一是让这个项目**完全控制在 AWS 免费套餐**内。以下是我的实现方法: | 服务 | 使用类型 | 费用 | 备注 | |----------------|---------------------------|------------|-------| | CloudTrail | 管理事件 | $0 | 免费 90 天 | | VPC Flow Logs | 限制时长 + 过滤 | $0 | 通过限制范围来优化成本 | | GuardDuty | 免费试用(30 天) | $0 | 测试后禁用以避免收费 | | S3 | 极少的日志存储 | ~$0.01 | 使用了不频繁访问存储类 | | Athena | (目前)未运行任何查询 | $0 | 计划用于后续 | | EventBridge | 少量规则 | $0 | 包含在免费套餐内 | | Lambda | 低调用次数 | $0 | 免费套餐包含每月 100 万次调用 | | SNS | 仅限电子邮件警报 | $0 | 前 1,000 封电子邮件免费 | ⚠️ **注意:** 测试后,我手动禁用/删除了所有服务,以防止产生意外的账单。 ## 🙋‍♂️ 关于我 **Shivam Solanki** 软件工程师 | 全栈开发者 | 云计算 | AI/ML 爱好者 | Oracle OCI 认证 | Java • React • SQL 在印度用 ❤️ 制作 🇮🇳 我是一个注重动手实践的构建者,对云安全、自动化和有意义的科技充满热情。这个项目反映了我在**使用 AWS 原生服务进行 DevSecOps** 方面的旅程 —— 结合了**实时监控**、**事件驱动自动化**和**安全优先的思维**。 ## 📬 建立联系 我乐于接受: - 🚀 初级全职职位 - 🛠️ 实习、协作构建或开源工作 - 🤝 云安全交流、指导或建议
标签:AWS, C语言, DevSecOps, DPI, 上游代理, 自动化响应, 逆向工具