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, 告警分诊, 安全运营, 扫描框架, 版权保护, 自动化运维, 逆向工具