Ayanoh/SOC-Automation-Lab
GitHub: Ayanoh/SOC-Automation-Lab
Stars: 28 | Forks: 9
# 🛡️ SOC 自动化实验室 - 企业安全运营中心



## 🎯 项目愿景
本项目实现了一个完整的 SOC 自动化流水线,能够:
- **检测** 来自端点 (EDR) 和网络 (NSM) 层面的威胁
- **编排** 基于 SOAR 的自动化响应工作流
- **富化** 威胁指标 的威胁情报
- **赋能** 分析师基于上下文信息进行决策
- **响应** 确认的威胁,自动执行端点隔离
**⚠️ 项目状态**:核心检测与富化流水线已完全运行。高级自动化功能(决策树、主动响应)已记录在案,但由于时间限制尚未实现。有关详细的实现状态,请参阅 [PROJECT_STATUS.md](PROJECT_STATUS.md)。
## 📐 架构

### 系统组件
| 组件 | 角色 | IP 地址 | 状态 |
|-----------|------|------------|--------|
| **Wazuh Manager** | SIEM/EDR | 10.2.15.20 | ✅ 运行中 |
| **Security Onion** | 网络安全监控 | 10.2.15.10 | ✅ 已部署 |
| **TheHive** | 事件管理 | 10.2.15.30:9000 | ✅ 运行中 |
| **Cortex** | 威胁情报 | 10.2.15.30:9001 | ✅ 运行中 |
| **n8n** | SOAR 编排 | 10.2.15.40:5678 | ✅ 运行中 |
| **Windows 10** | 受害者端点 | 10.2.15.50 | ✅ 运行中 |
| **Kali Linux** | 攻击平台 | 10.2.15.60 | ✅ 运行中 |
## 🚀 功能
### ✅ **已实现**
- [x] 使用 Wazuh EDR 进行自动告警检测
- [x] 使用 n8n 工作流进行 SOAR 编排
- [x] 威胁情报富化
- [x] 使用 TheHive 进行事件案例管理
- [x] 实时 Slack 通知
- [x] SSH 暴力破解检测规则
- [x] 从告警中自动提取可观察对象
- [x] 基于 Docker 的 Cortex 分析器
### 🚧 **已记录但未实现**
- [ ] Security Onion 集成的网络安全监控
- [ ] 具有交互式工作流的分析师决策提示
- [ ] 使用 Wazuh Active Response 自动隔离端点
- [ ] 邮件通知渠道
- [ ] 基于威胁严重程度的条件响应逻辑
- [ ] 网络与端点事件之间的关联
实现计划请参阅 [ROADMAP.md](ROADMAP.md)。
## 🔄 工作流概览
### 当前实现
```
1. Attack Detection
└─> Kali Linux → Windows 10 (SSH brute force attack)
2. Alert Generation
└─> Wazuh → n8n Webhook
3. Case Creation
└─> n8n → TheHive (with observables)
4. Threat Enrichment
└─> Cortex Analyzers (VirusTotal, AbuseIPDB, MaxMind)
5. Notification
└─> Slack (formatted alert details + TheHive link)
```
### 完整愿景
完整的架构包括分析师决策提示、条件工作流和自动化的主动响应。完整的数据流请参阅 [ARCHITECTURE.md](ARCHITECTURE.md)。
## 🛠️ 技术栈
**安全工具**:
- **Wazuh 4.x** - 用于端点监控的 SIEM/EDR
- **Security Onion** - 网络安全监控
- **TheHive 4.1.24** - 安全事件响应平台
- **Cortex 3.1.8** - 可观察对象分析和主动响应引擎
- **n8n** - 工作流自动化和 SOAR 平台
**基础设施**:
- **VirtualBox 6.1** - 虚拟化平台
- **Ubuntu 20.04** - 主机操作系统
- **隔离 NAT 网络上的 6 台虚拟机** (10.2.15.0/24)
**威胁情报来源**:
- VirusTotal API
- AbuseIPDB API
- MaxMind GeoIP 数据库
**通信**:
- Slack (实时告警)
- Email (已记录,未实现)
## 📚 文档
| 文档 | 描述 |
|----------|-------------|
| [PROJECT_STATUS.md](PROJECT_STATUS.md) | 当前实现状态与愿景对比 |
| [ARCHITECTURE.md](ARCHITECTURE.md) | 详细架构与数据流 |
| [SETUP_GUIDE.md](SETUP_GUIDE.md) | 完整安装与配置指南 |
| [TROUBLESHOOTING.md](TROUBLESHOOTING.md) | 常见问题与解决方案 |
| [ROADMAP.md](ROADMAP.md) | 未来实现计划 |
## 📸 截图
### Wazuh 告警检测

*根据 Wazuh 告警自动创建的 TheHive 案例及可观察对象*
### 威胁情报富化

*Cortex 分析器使用 VirusTotal、AbuseIPDB 和 MaxMind GeoIP 富化 IP 可观察对象*
### 实时通知

*包含告警详情和 TheHive 链接的自动 Slack 通知*
### SOAR 工作流

*编排从检测到响应流水线的 n8n 工作流*
[查看更多截图请访问 images/](images/)
## 🎓 学习成果
本项目展示了在以下方面的熟练程度:
### 技术技能
- **SIEM/EDR 配置**:规则编写、日志分析、Agent 部署
- **SOAR 开发**:工作流设计、API 集成、数据转换
- **威胁情报**:IOC 富化、信誉评分、地理位置定位
- **事件响应**:案例管理、可观察对象跟踪、告警分类
- **安全工具集成**:多平台 API 交互、认证流程
- **容器化**:Docker 用于安全工具、卷管理、故障排除
- **Python 脚本**:自定义集成、JSON 操作、API 客户端
- **网络安全**:流量分析、协议检查(基础)
### 专业技能
- **系统性故障排除**:根因分析、调试方法论
- **技术文档编写**:架构图、设置指南、知识转移
- **项目管理**:时间限制下的优先级排序、MVP 交付
- **安全运营**:告警处理、富化工作流、分析师工作流
### 解决的值得注意的技术挑战
1. **Docker Snap 限制问题** (4 小时调试)
- **问题**:Cortex 分析器失败并报 "worker not found" 错误
- **根本原因**:Docker Snap 限制阻止了对 `/tmp` 的访问
- **解决方案**:将作业目录重新配置为 `/home/thehive/cortex-jobs` 并设置适当权限
- **心得**:深入理解 Docker 安全边界和 Snap 隔离机制
2. **n8n 中的 JSONPath 数据提取**
- **问题**:创建的可观察对象值为 "N/A" 而非实际 IP
- **根本原因**:JSONPath 表达式错误 (`$json.sourceIP` vs `$json.data.srcip`)
- **解决方案**:根据 Wazuh 告警结构修正字段映射
- **心得**:理解源数据模式的重要性
3. **Python 库兼容性**
- **问题**:TheHive API 集成失败
- **根本原因**:在 TheHive 4.x 中使用了 thehive4py 2.x(版本不兼容)
- **解决方案**:降级至 thehive4py 1.8.1 以兼容 TheHive 4.x
- **心得**:版本兼容性验证至关重要
## 🚀 快速开始
```
# Clone 仓库
git clone https://github.com/Ayanoh/SOC-Automation-Lab.git
cd SOC-Automation-Lab
# 查看详细设置说明
cat SETUP_GUIDE.md
```
**前置条件**:
- Ubuntu 20.04+ 主机,拥有 **至少 48GB RAM**(推荐 64GB)
- VirtualBox 6.1+
- 用于包安装和威胁情报 API 的互联网连接
- VirusTotal、AbuseIPDB 的 API 密钥(提供免费层)
**预计设置时间**:完整部署需 8-12 小时
## 🐛 已知问题与限制
### 当前限制
1. **Security Onion**:已部署但未集成到 SOAR 工作流中
- 网络告警未转发至 TheHive
- 网络与端点事件之间无关联
- **变通方法**:使用 Security Onion 界面进行手动网络分析
2. **Cortex 自动化**:富化由 TheHive 手动触发
- n8n 不会自动触发 Cortex 分析器
- **变通方法**:案例创建后,分析师手动运行分析器
3. **决策逻辑**:无交互式分析师提示
- 无自动化的 Yes/No 决策工作流
- **变通方法**:在 TheHive 中手动处理案例
4. **主动响应**:未实现
- 无自动化的端点隔离
- **变通方法**:如需要,手动配置防火墙
详细的技术问题和解决方案请参阅 [TROUBLESHOOTING.md](TROUBLESHOOTING.md)。
## 🗺️ 路线图
详细的实现计划请参阅 [ROADMAP.md](ROADMAP.md)。
### 优先级 1 (下一阶段)
- [ ] 在 Slack 中实现分析师决策提示系统
- [ ] 配置并测试 Wazuh Active Response 脚本
- [ ] 完成 Security Onion → n8n → TheHive 集成
- [ ] 从 n8n 工作流自动化 Cortex 富化
### 优先级 2 (未来增强)
- [ ] 添加邮件通知渠道
- [ ] 实现基于威胁严重程度的条件响应逻辑
- [ ] 扩展检测规则(恶意软件、权限提升、横向移动)
- [ ] 增加更多攻击场景和用例
- [ ] 为 SOC 指标和 KPI 创建仪表板
## 📊 项目指标
- **开发时间**:约 3 个月(兼职)
- **虚拟机**:6 个系统
- **集成的 API**:5 个
- **配置文件**:12+ 个
- **代码行数**:约 500 行
- **文档页数**:15+ 页
- **调试的主要问题**:17+ 个
- **截图证据**:10+ 张
## 👤 作者
**Oussama EL Maskaoui**
网络安全工程学生 | 网络与安全专业
École Mohammadia d'Ingénieurs (EMI)
- 🔗 **LinkedIn**: [linkedin.com/in/oussama-el-maskaoui](https://www.linkedin.com/in/oussama-el-maskaoui/)
- 🐙 **GitHub**: [github.com/Ayanoh](https://github.com/Ayanoh/)
- 📧 **Email**: [oussama.elmaskaoui@gmail.com](mailto:oussama.elmaskaoui@gmail.com)
## 📄 许可证
本项目仅供**教育和作品集展示用途**。可随意将其作为学习资源或构建您自己 SOC 实验室的模板。
## 🙏 致谢
- **Wazuh** 社区提供的综合 SIEM/EDR 平台
- **TheHive Project** 提供的开源安全事件响应平台
- **n8n** 社区提供的强大工作流自动化引擎
- **Security Onion** 团队提供的多功能网络安全监控解决方案
- **Cortex** 项目提供的可观察对象分析能力
特别感谢网络安全社区分享的知识和最佳实践。
## ⚠️ 免责声明
此实验室环境仅供**教育目的**。
- 未经适当授权和全面测试,请**勿**在生产环境中使用这些技术或配置
- 演示的所有攻击均在隔离环境中进行模拟
- 不涉及真实恶意软件或生产系统
- 文档中显示的 API 密钥和凭据仅为示例
**对您不拥有的系统进行未经授权的测试是非法的。**
## 🔗 相关资源
- [Wazuh 文档](https://documentation.wazuh.com/)
- [TheHive 文档](https://docs.thehive-project.org/)
- [n8n 文档](https://docs.n8n.io/)
- [Security Onion 文档](https://securityonionsolutions.com/software)
- [MITRE ATT&CK 框架](https://attack.mitre.org/)
**⭐ 如果您觉得这个项目有帮助,请考虑在 GitHub 上给它一个 Star!**
标签:AbuseIPDB, Ask搜索, CIDR查询, Cloudflare, Conpot, Cortex, DAST, EDR, GeoIP, HTTP/HTTPS抓包, IP 地址批量处理, MITRE ATT&CK, n8n, NSM, OPA, PE 加载器, Security Onion, Slack通知, SOAR编排, SOC实验室, TheHive, VirusTotal, Wazuh, Windows内核驱动, Windows安全, 企业安全, 动态基础设施框架, 参数枚举, 威胁情报, 安全实验环境, 安全教育, 安全运营中心, 开发者工具, 态势感知, 恶意软件分析, 端点检测与响应, 网络安全, 网络安全监控, 网络映射, 网络资产管理, 脆弱性评估, 脱壳工具, 自动化威胁检测, 请求拦截, 运维自动化, 逆向工具, 速率限制, 隐私保护, 靶场, 驱动开发