MozB-lab/soar-thehive-cortex-automation
GitHub: MozB-lab/soar-thehive-cortex-automation
基于 TheHive、Cortex 与 Elasticsearch 构建的 SOAR 自动化实验室,用于演示从安全告警接入到自动化遏制响应的完整事件响应工作流。
Stars: 0 | Forks: 0
# SOAR 平台部署:TheHive + Cortex + Elasticsearch
## 🎯 项目概述
本项目演示了使用开源工具进行的**生产级安全编排、自动化与响应(SOAR)平台**部署。该平台旨在复制现代安全运营中心(SOC)的核心事件响应工作流:自动化告警接入、结构化案件管理、基于角色的访问控制以及从检测到遏制的自动化。
**主要成就:** 构建了一个完全可运行的 SOAR 技术栈(TheHive 5.3 + Cortex 3.1.7 + Elasticsearch 7.17.9),捕获了 3 个模拟安全告警,将其中 1 个提升为受跟踪的案件,执行了自动化的暴力破解响应剧本,并计算了 MTTR 指标 —— 展示了从首个告警到遏制的完整 SOC 工作流自动化。
## 📊 项目指标
| 指标 | 数值 | 行业基准 |
|--------|-------|-------------------|
| **集成的平台组件** | 3 个 (TheHive, Cortex, Elasticsearch) | 企业级 SOC:5-10+ 个集成 |
| **模拟告警总数** | 3 个安全告警 | 真实 SOC:每天 1,000-4,000 个告警 |
| **由告警提升的案件** | 1 个(暴力破解) | 因组织而异 |
| **执行的响应剧本** | 1 个(暴力破解自动化) | 生产环境:每个事件类别数十个 |
| **配置的用户角色** | 3 个(全局管理员、SOC 管理员、分析师) | 执行最小权限原则 |
| **创建的案件模板** | 3 个(钓鱼、恶意软件、暴力破解) | 标准化调查基准 |
| **每个事件的自动化动作** | 3+ 个(防火墙封禁、任务创建、MTTR) | 生产环境:通常 10+ 个动作 |
| **平均响应时间 (MTTR)** | 亚秒级自动化 | 行业平均:197 天(从检测到遏制) |
| **遇到并解决的技术问题** | 9 个(均有记录) | 展示了故障排除深度 |
## 🔍 本项目展示的内容
### 技术能力
- ✅ **SOAR 平台部署** — 在 Docker Compose 上部署 TheHive + Cortex
- ✅ **基础设施编排** — 多容器应用架构、服务依赖项
- ✅ **基于角色的访问控制** — 组织和用户配置及最小权限强制执行
- ✅ **告警接入自动化** — 通过 REST API 以编程方式生成告警(复制 SIEM 集成)
- ✅ **案件管理工作流** — 告警分流、案件提升、标准化模板
- ✅ **响应自动化** — 用于自动化事件响应的剧本开发
- ✅ **API 集成** — TheHive 和 Cortex REST API 配置与脚本编写
- ✅ **性能度量** — MTTR 报告和事件跟踪
### 专业技能
- ✅ SOC 运营和事件响应工作流
- ✅ 安全自动化与编排原则
- ✅ 从检测到遏制的 pipeline 优化
- ✅ 威胁情报集成规划
- ✅ 安全加固与合规性考量
- ✅ 技术故障排除与根因分析
## 🏗️ 技术架构
```
┌────────────────────────────────────────────────────────┐
│ Kali Linux VM (Client) │
│ 192.168.56.26 │
│ │
│ Browser: Access TheHive (9000) and Cortex (9001) │
└────────────┬─────────────────────────────────────────┘
│ Host-Only Network (192.168.56.x)
│
┌────────────▼─────────────────────────────────────────┐
│ Ubuntu Server 22.04 VM │
│ 192.168.56.22 │
│ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ Docker Compose Stack │ │
│ │ │ │
│ │ ┌──────────────────────────────────────────┐ │ │
│ │ │ TheHive 5.3 (Case Management) │ │ │
│ │ │ Port: 9000 │ │ │
│ │ │ • Alert intake and case creation │ │ │
│ │ │ • Template-driven investigations │ │ │
│ │ │ • User/org management │ │ │
│ │ └──────────────┬──────────────────────────┘ │ │
│ │ │ │ │
│ │ ┌──────────────▼──────────────────────────┐ │ │
│ │ │ Cortex 3.1.7 (Threat Analysis) │ │ │
│ │ │ Port: 9001 │ │ │
│ │ │ • Observable enrichment (IP, hash) │ │ │
│ │ │ • Automated analyzer integration │ │ │
│ │ │ • Threat intelligence lookups │ │ │
│ │ └──────────────┬──────────────────────────┘ │ │
│ │ │ │ │
│ │ ┌──────────────▼──────────────────────────┐ │ │
│ │ │ Elasticsearch 7.17.9 (Shared Database) │ │ │
│ │ │ Port: 9200 │ │ │
│ │ │ • Storage backend for TheHive + Cortex │ │ │
│ │ │ • Alert and case persistence │ │ │
│ │ └──────────────────────────────────────────┘ │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ Python Automation Scripts │ │
│ │ │ │
│ │ • alert_feeder.py — Simulates SIEM alerts │ │
│ │ • playbook_bruteforce.py — Response actions │ │
│ │ • mttr_report.py — Performance metrics │ │
│ │ │ │
│ │ Local Ticket Database (SQLite) │ │
│ │ • Incident tracking │ │
│ │ • MTTR calculation │ │
│ └─────────────────────────────────────────────────┘ │
└────────────────────────────────────────────────────────┘
```
## 📋 工作流:从告警到响应
### 自动化的完整事件生命周期
```
Step 1: Alert Generation
└─ Python script sends alert via TheHive REST API
└─ Alert includes observables: IPs, hashes, URLs, emails
└─ Alert captured in TheHive alert queue
Step 2: Alert Triage
└─ SOC analyst reviews alert in TheHive UI
└─ Severity: 2 (medium) - Brute force attempt
└─ Decides to promote to case for investigation
Step 3: Case Creation
└─ Alert promoted to formal case using template
└─ Case Template: "Brute Force Attack Response"
└─ Inherits standardized investigation structure
└─ Case number assigned (CASE-001, etc.)
Step 4: Observable Analysis (Ready via Cortex)
└─ Cortex analyzers configured to:
└─ Query VirusTotal for file hashes
└─ Query AbuseIPDB for malicious IPs
└─ Query Shodan for service exposure
└─ Results automatically enriched in case
Step 5: Response Automation (Playbook Execution)
└─ Playbook triggered on case creation
└─ Action 1: Issue firewall rule to block source IP
└─ Action 2: Create task: "Verify firewall block"
└─ Action 3: Create task: "Review affected account"
└─ All actions logged with timestamp
Step 6: Performance Measurement
└─ MTTR calculated: alert creation → containment action
└─ Recorded in local SQLite database
└─ MTTR Report generated showing metrics by alert type
[TOTAL TIME: Sub-second automation vs. 197-day industry average]
```
## 🛡️ 已部署的安全功能
### 基于角色的访问控制
```
Global Administrator (admin@thehive.local)
└─ Platform-level management
└─ Organization provisioning
└─ User account creation
└─ Cannot access organization-scoped work
SOC Organization Administrator (socadmin@thehive.local)
└─ Organization-level configuration
└─ Case template management
└─ Analyst account oversight
└─ Limited to SOC organization
SOC Analyst (soc@thehive.local)
└─ Day-to-day case management
└─ Alert triage and promotion
└─ Investigation execution
└─ No platform or organization changes
└─ Principle of least privilege enforced
```
### 案件模板(调查基准)
```
Template 1: Phishing Email Investigation
├─ Severity: 2 (Medium)
├─ TLP: 2 (Green)
├─ Tags: phishing, email, social-engineering
└─ Ensures consistent phishing investigations
Template 2: Malware Detection Response
├─ Severity: 3 (High)
├─ TLP: 3 (Amber)
├─ Tags: malware, endpoint, threat
└─ Standardized malware response workflow
Template 3: Brute Force Attack Response
├─ Severity: 2 (Medium)
├─ TLP: 2 (Green)
├─ Tags: brute-force, authentication, access
└─ Automated credential attack containment
```
## 🚀 现实世界中的业务影响
### 解决的问题
- **行业挑战:** SOC 每天接收 4,000 个告警;手动分流需要约 200 个分析师工时
- **攻击窗口:** 从攻陷到部署勒索软件的平均时间:<4 天
- **检测差距:** 人工分析师审查无法可靠地缩小这一窗口
### 提供的解决方案
- **从检测到响应:** 自动化剧本在 <1 秒内执行
- **节省时间:** 消除告警接收与响应动作之间的手动步骤
- **可扩展性:** 每天支持数千个告警,无分析师瓶颈
- **合规性:** MTTR 指标展示事件响应性能(符合 SLA)
### 应对的行业基准
- **2023 年 Ponemon 报告:** 拥有 SOAR 自动化的组织遏制违规事件**快了 16 天**
- **成本降低:** 启用 SOAR 的组织平均违规成本**降低了 176 万美元**
- **IBM X-Force 数据:** 从攻陷到勒索软件的窗口期为 4 天 —— SOAR 会自动关闭此窗口
## 📁 仓库结构
```
soar-thehive-cortex-automation/
├── README.md (this file)
├── SETUP.md (Complete deployment guide)
├── DOCKER-COMPOSE.yml (Platform orchestration)
├── WORKFLOWS.md (Playbook documentation)
├── INTEGRATION.md (Cortex analyzer setup)
├── METRICS.md (MTTR reporting)
├── ARCHITECTURE.md (System design)
├── TROUBLESHOOTING.md (9 issues & resolutions)
│
├── scripts/
│ ├── config.py (API keys & URLs)
│ ├── alert_feeder.py (Simulates SIEM alerts)
│ ├── setup_db.py (Initialize ticket database)
│ └── mttr_report.py (Generate MTTR metrics)
│
├── playbooks/
│ ├── playbook_bruteforce.py (Brute-force response)
│ ├── playbook_phishing.py (Phishing response)
│ └── playbook_malware.py (Malware response)
│
├── data/
│ ├── thehive/ (TheHive persistence)
│ ├── cortex/ (Cortex data)
│ ├── elasticsearch/ (Database storage)
│ └── tickets.db (Incident tracking)
│
└── TECHNICAL_IMPLEMENTATION_REPORT.docx (Full documentation)
```
## 🎯 展示的平台能力
### 告警管理
- ✅ 通过 REST API 从多个来源接收告警
- ✅ 自动提取 observable(IP、哈希、URL、电子邮件)
- ✅ 告警严重程度和 TLP 分类
- ✅ 告警队列管理和分流工作流
### 案件管理
- ✅ 从告警到案件的提升工作流
- ✅ 针对每种威胁类型的标准化案件模板
- ✅ 任务创建和跟踪
- ✅ 案件严重程度和 TLP 继承
- ✅ 调查文档记录
### 响应自动化
- ✅ 在创建案件时触发剧本执行
- ✅ 自动化响应动作(防火墙封禁、通知)
- ✅ 为后续调查自动生成任务
- ✅ 针对 ITSM/工单系统的集成点
### 性能指标
- ✅ 平均响应时间 (MTTR) 计算
- ✅ 事件跟踪和历史分析
- ✅ 按事件类型进行性能报告
- ✅ SLA 合规性跟踪
## 💡 实际应用场景
### 在生产环境中的部署
此平台架构直接支持:
1. **7x24 小时 SOC 运营**
- 从 SIEM (Splunk, Wazuh, QRadar) 接入告警
- 自动化分流可将分析师工作量减少 60%+
- 对关键告警保证响应(亚秒级)
2. **大规模事件响应**
- 标准化剧本确保响应的一致性
- 将响应时间从几小时缩短到几秒钟
- 使单个分析师能够处理数以千计的事件
3. **合规性与审计**
- 所有调查的完整审计追踪
- 用于 SLA 合规性报告的 MTTR 指标
- 用于历史分析的集中式案件库
4. **威胁情报集成**
- Cortex 分析器自动丰富 observable
- 针对 VirusTotal、AbuseIPDB、Shodan 进行实时查询
- 威胁上下文自动添加到案件中
## 🔧 技术规格
### 部署环境
- **托管:** VirtualBox 虚拟机(可在云端或本地复制)
- **操作系统:** Ubuntu Server 22.04 LTS
- **编排:** Docker Compose
- **网络:** 用于虚拟机间通信的 Host-Only 适配器
### 平台版本
- **TheHive:** 5.3(案件管理)
- **Cortex:** 3.1.7(Observable 丰富)
- **Elasticsearch:** 7.17.9(共享数据库后端)
- **Python:** 3.x,带有 REST API 客户端库
### 资源需求
- **内存:** 2GB Elasticsearch + 1.5GB TheHive + 1GB Cortex = 总计 4.5GB
- **磁盘:** 20GB,用于所有组件 + 数据持久化
- **CPU:** 建议 2+ 核
## 📊 主要成就
| 成就 | 意义 |
|------------|-------------|
| **通过 API 接入 3 种告警类型** | 展示了 SIEM 集成能力 |
| **1 个带有自动化的案件提升** | 验证了端到端工作流 |
| **识别并解决了 9 个技术问题** | 展示了故障排除深度和生产就绪情况 |
| **强制执行基于角色的访问控制** | 演示了安全最佳实践 |
| **创建了 3 个案件模板** | 标准化调查基准 |
| **实现亚秒级 MTTR** | 证明了自动响应能力 |
| **部署了本地事件数据库** | 建立了性能跟踪基础设施 |
## 🎓 职业相关性
### 证明已准备好胜任的职位
- ✅ **SOC 分析师 II/III** — 案件管理、告警分流、调查
- ✅ **安全运营工程师** — 平台部署、自动化脚本编写
- ✅ **事件响应分析师** — 案件工作流、剧本执行、MTTR 跟踪
- ✅ **检测工程师** — 告警和剧本配置
- ✅ **安全自动化工程师** — REST API 集成、Python 脚本编写
- ✅ **SOAR 管理员** — 用户配置、模板管理、合规性
### 重视 SOAR 经验的组织
- 🏢 一级云提供商 (AWS, Azure, Google)
- 🏢 金融机构(银行、金融科技、保险)
- 🏢 企业 SOC 团队(财富 500 强)
- 🏢 托管安全服务提供商 (MSP)
- 🏢 政府和关键基础设施
- 🏢 医疗和受监管行业
## 🚀 下一阶段:生产就绪
### 当前实验室状态
- ✅ 核心平台已部署并可运行
- ✅ 配置了基于角色的访问控制
- ✅ 基本告警接入和响应自动化正在运行
- ⚠️ 为实验室环境放宽了安全控制
### 针对生产环境的加固
- [ ] 启用 Elasticsearch 身份验证 (xpack.security)
- [ ] 为所有服务部署 TLS/HTTPS
- [ ] 实施 Docker socket 代理(安全限制)
- [ ] 网络分段(分离应用层和数据层)
- [ ] 密钥管理 (Vault/AWS Secrets Manager)
- [ ] 集中审计日志记录到 SIEM
- [ ] API 密钥轮换和过期策略
- [ ] Cortex 分析器与实时威胁情报 API 的集成
### 扩展到生产环境
- [ ] SIEM 集成(替换模拟告警)
- [ ] 来自生产检测的实时告警流
- [ ] 剧本扩展(增加更多响应场景)
- [ ] 针对组织特定信息丰富的自定义分析器开发
- [ ] 针对告警量扩展的容量规划
## 📚 文档与资源
- **完整实施报告:** `TECHNICAL_IMPLEMENTATION_REPORT.docx`
- **设置指南:** 有关完整的部署步骤,请参见 `SETUP.md`
- **故障排除:** `TROUBLESHOOTING.md` 记录了遇到的所有 9 个问题
- **工作流文档:** `WORKFLOWS.md` 详述了每个剧本
- **集成指南:** `INTEGRATION.md` 用于添加数据源
## 🎯 面试谈话要点
*"我使用 TheHive、Cortex 和 Elasticsearch 从头构建了一个完整的 SOAR 平台。我将其部署在 Docker Compose 上,配置了具有三个用户层级的基于角色的访问控制,并为钓鱼、恶意软件和暴力破解场景创建了标准化的案件模板。我编写了 Python 脚本来模拟 SIEM 告警接入,创建了一个在亚秒级内执行遏制动作的自动化响应剧本,并构建了 MTTR 报告以跟踪事件响应性能。在部署过程中,我遇到了九个技术问题 —— 从 Elasticsearch 版本兼容性到 API 权限范围界定 —— 并在根因层面解决了每一个问题。最有价值的启发是认识到 SOAR 不仅仅是一种工具;它关乎将从检测到响应的时间线从几小时或几天压缩到几秒钟。在生产环境中,这将直接转化为对实际违规事件的更快遏制。该平台在架构上具有生产代表性,接下来的步骤非常明确:用真实的 SIEM 替换模拟的告警源,将实时威胁情报 API 集成到 Cortex 中,并针对生产告警量进行扩展。"*
**项目日期:** 2026 年 6 月
**部署状态:** ✅ 完全可运行,并已通过端到端测试
**难度级别:** 高级
**复制时间:** 4-6 小时(含文档)
**现实适用性:** ⭐⭐⭐⭐⭐
## 📝 本项目的出彩之处
1. **不仅是“已部署”** — 您配置了基于角色的访问权限,创建了模板,并测试了工作流
2. **解决问题的深度** — 遇到了 9 个问题,并记录了根因
3. **自动化与脚本编写** — 用于告警、剧本和报告的 Python 脚本
4. **具备生产就绪思维** — 您报告的第 8 部分记录了加固路线图
5. **关注业务影响** — MTTR 指标性能度量展示了价值
6. **完整的文档** — 技术实施报告达到面试级水准
这个作品集项目表明您理解 SOAR 不仅是一种工具,更是对每年使组织损失数百万美元的运营问题的有效应对。
*本项目展示了企业级安全运营能力,适用于每天处理数千个安全告警的公司中的 SOC 分析师、安全自动化工程师或事件响应分析师职位。*
标签:CIDR查询, Elasticsearch, SOAR平台, TheHive, 告警分诊, 安全运营, 扫描框架, 版权保护, 自动化运维, 逆向工具