sujallamichhane18/Integration-of-Open-Source-Security-Tools-for-a-Unified-SOC-Framework
GitHub: sujallamichhane18/Integration-of-Open-Source-Security-Tools-for-a-Unified-SOC-Framework
基于纯开源工具构建的统一SOC框架,打通了从威胁检测、情报富化到自动响应的完整安全运营流程。
Stars: 0 | Forks: 0
[](https://wazuh.com) [](https://pfsense.org) [](https://suricata.io) [](https://shuffler.io) [](https://thehive-project.org) [](https://www.misp-project.org) [](LICENSE) []()
### 🎓 学术隶属 **Forbes College, Chitwan, Nepal** *隶属于 University of Computer Science and Skills, Łódź, Poland* **专业:** 计算机科学学士 (B.Sc. CS) **方向:** Cybersecurity & Networking **项目类型:** 毕业年度重大项目
*图:统一 SOC 框架的高级架构*
| 层级 | 工具 | 用途 |
|:---:|:---|:---|
| 🔥 **防火墙 / 网关** | pfSense | 网络边界控制,通过 REST API 自动阻断 IP |
| 🕵️ **IDS / IPS** | Suricata | 基于特征的深度包检测和流量分析 |
| 📊 **SIEM** | Wazuh | 日志聚合,关联规则,XDR 级别威胁检测 |
| 🤖 **SOAR** | Shuffle | 工作流编排和自动化 Playbook 执行 |
| 🗂️ **事件响应** | TheHive + Cortex | 案例管理,自动化样本分析器 |
| 🌐 **威胁情报** | MISP | 结构化 IOC 管理和社区源同步 |
| 🔍 **TI 富化** | VirusTotal · AbuseIPDB · AlienVault OTX | 实时指标评分和富化 |
| 💻 **端点检测** | OpenEDR + Wazuh Agent | 端点遥测和文件完整性监控 (FIM) |
| 🔔 **通知** | Discord Webhook | 向分析师发送带有富化摘要的实时告警 |
## 🧱 核心组件
### 1. 🔥 pfSense — 边界防火墙
pfSense 作为网络网关,提供有状态包过滤、VLAN 分段和 NAT。它暴露了一个 REST API,允许 Shuffle SOAR 引擎在威胁情报确认恶意源 IP 时以编程方式插入阻断规则。
### 2. 🕵️ Suricata — IDS/IPS
Suricata 部署在 pfSense 后的内联位置,针对 Emerging Threats 规则集执行深度包检测。它生成 EVE JSON 日志并转发至 Wazuh 进行关联。在 IPS 模式下,它可以在线速丢弃匹配高置信度特征的数据包。
### 3. 📊 Wazuh — SIEM & XDR
SOC 的核心检测引擎。Wazuh 聚合来自所有源(pfSense、Suricata 和端点)的日志,并应用检测规则生成评分从 0 到 15 的告警。本项目专门编写了自定义解码器和关联规则,用于检测端口扫描、暴力破解尝试和横向移动。
### 4. 🤖 Shuffle — SOAR 平台
Shuffle 通过可视化拖放编辑器编排所有自动响应工作流。当 Wazuh 通过 webhook 触发严重告警时,Shuffle 工作流会自动解析、富化、评估并响应 —— 创建防火墙规则、TheHive 案例和 Discord 通知,无需人工干预。
### 5. 🗂️ TheHive + Cortex — 案例管理
TheHive 接收来自 Shuffle 的升级案例并提供结构化的事件跟踪。Cortex 分析器自动对样本数据(IP、文件哈希、域名)运行分析,利用 VirusTotal、MISP 和其他响应器展示取证上下文。
### 6. 🌐 MISP — 威胁情报平台
MISP 作为本地威胁情报数据库。入侵指标 —— IP、域名、文件哈希 —— 在告警富化期间被存储、标记和查询。MISP 与社区威胁源同步以获取最新覆盖。
### 7. 💻 OpenEDR + Wazuh Agent — 端点层
安装在受监控端点上的 Wazuh agent 发送系统日志、审计事件和 FIM 变更。OpenEDR 增加进程级遥测以检测恶意软件执行、持久化技术和异常行为。
## 🔄 数据流
```
╔═══════════════════════════════════════════════════════════════════════╗
║ NETWORK PERIMETER ║
║ [ pfSense Firewall ] ──► [ Suricata IDS/IPS ] ║
║ ↑ Block Rule via API │ EVE JSON Logs ║
╚═══════════════════════╤═════════════╪═══════════════════════════════╤═╝
│ │ │
│ ▼ │
╔═══════════════════════╪══════════════════════════════════════════════╗
║ SIEM — Wazuh ║
║ Endpoint Logs ──► Log Aggregation & Normalization ║
║ [ Wazuh Agents + OpenEDR ] ║
║ Correlation Rules & Threat Detection ║
║ Alert Generated → Severity Score 0–15 ║
╚══════════════════════════════════════╤══════════════════════════════╝
│ Webhook (severity > 7)
▼
╔══════════════════════════════════════════════════════════════════════╗
║ SOAR — Shuffle Workflow ║
║ ║
║ [1] Receive Wazuh Alert ──► [2] Parse JSON Payload ║
║ │ ║
║ [3] Enrich IOC ║
║ VirusTotal · AbuseIPDB · OTX · MISP ║
║ │ ║
║ [4] Evaluate Severity + TI Confidence ║
║ │ ║
║ ┌──── HIGH (score > 7 + confidence ≥ HIGH) ─────────────┐ ║
║ │ │ ║
║ [5] Block IP — pfSense API LOW → Monitor ║
║ [6] Create Case — TheHive ║
║ [7] Notify — Discord Webhook ║
╚══════════════════════════════════════════════════════════════════════╝
│
▼
╔══════════════════════════════════════╗
║ TheHive + Cortex ║
║ Case Management & Triage ║
║ Cortex Auto-Analyzers (IOCs) ║
╚══════════════════════════════════════╝
```
## ⚡ 使用 Shuffle 的 SOAR 自动化
Shuffle 是将每个组件连接在一起的编排层。主要的响应工作流是使用 Shuffle 的可视化工作流编辑器构建和测试的,并作为 SOC 的自动化 Playbook 部署。
### 工作流步骤
| 步骤 | 操作 | 使用的集成 |
|:---:|:---|:---|
| **1** | 通过 webhook 触发接收 Wazuh 告警 | Wazuh → Shuffle HTTP trigger |
| **2** | 提取源 IP、规则 ID、agent、严重程度 | Shuffle — JSON parser node |
| **3** | 查询 VirusTotal 获取 IP 信誉评分 | VirusTotal API |
| **4** | 查询 AbuseIPDB 获取滥用置信度评分 | AbuseIPDB API |
| **5** | 查询 AlienVault OTX 获取被动 DNS / IOC | OTX API |
| **6** | 匹配本地 MISP IOC 数据库 | MISP API |
| **7** | 评估综合严重程度 + 置信度评分 | Shuffle — condition branch node |
| **8** | *(高置信度)* 在防火墙阻断源 IP | pfSense REST API |
| **9** | *(高置信度)* 在 TheHive 创建富化案例 | TheHive API |
| **10** | 向分析师发送格式化的 Discord 通知 | Discord Webhook |
## 🤖 自动响应逻辑
当**同时**满足以下条件时,将触发自动防火墙阻断和案例创建:
- **Wazuh 严重程度评分 > 7** (满分 15)
- **威胁情报置信度 = 高** —— 经至少一个外部 TI 源确证 (VirusTotal 恶意判定,AbuseIPDB 置信度 ≥ 75%,或确认的 MISP IOC 匹配)
```
# 镜像 Shuffle workflow decision node 的概念逻辑
def process_alert(alert):
enrichment = {
"virustotal": virustotal.lookup(alert.source_ip),
"abuseipdb": abuseipdb.lookup(alert.source_ip),
"misp": misp.search_ioc(alert.source_ip),
"otx": otx.lookup(alert.source_ip),
}
confidence = evaluate_confidence(enrichment) # "HIGH" | "MEDIUM" | "LOW"
if alert.severity > 7 and confidence == "HIGH":
pfsense.block_ip(alert.source_ip) # Firewall rule insertion
thehive.create_case(alert, enrichment) # Structured case management
discord.notify(alert, enrichment) # Analyst notification
else:
wazuh.log_for_monitoring(alert) # Queued for manual review
```
此逻辑完全在 Shuffle 工作流内执行 —— 对于已确认的高危威胁,无需人工操作。
## 🚀 设置与部署
### 前置条件
- 虚拟化平台 (VMware Workstation / VirtualBox / Proxmox)
- 最小 **64 GB RAM**,**100 GB 存储空间** 分布在各个 VM 上
- 具有静态 IP 寻址的隔离实验室网络
### 实验室网络拓扑
```
[Internet] ──► [pfSense WAN] ──► [pfSense LAN] ──► [Lab: 192.168.10.0/24]
│
┌────────────┬──────────┼───────────┬──────────────┐
│ │ │ │ │
[Wazuh VM] [Shuffle VM] [TheHive VM] [MISP VM] [Endpoint VMs]
[Suricata — inline tap]
```
## 🎯 用例
- **毕业设计学术项目** —— 为 B.Sc. CS / BCA / BIT 学生演示端到端 SOC 设计
- **SOC 分析师培训** —— 从零开始学习 SIEM、SOAR 和 IR 工作流的实操实验室
- **蓝队演练** —— 真实的威胁检测与响应模拟环境
- **网络安全研究** —— 用于检测工程和规则开发的开源基准 SOC
- **CTF 与网络靶场** —— 可作为夺旗赛和团队演练的监控后端进行部署
## 👥 项目团队
| | 姓名 | 角色 | |:---:|:---|:---| | 👤 | **Rupesh Mahato** | 团队成员 | | 👤 | **Ujjwal Kandel** | 团队成员 | | 👤 | **Sujal Lamichhane** | 团队成员 |
## ⚖️ 免责声明
标签:AMSI绕过, Beacon Object File, CIDR查询, CISA项目, FTP漏洞扫描, HTTP工具, IP 地址批量处理, IT安全, Metaprompt, pfSense, Shuffle, SOAR, Suricata, TheHive, Wazuh, 企业安全, 入侵防御, 威胁情报, 威胁检测, 安全架构, 安全编排, 安全运营中心, 库, 应急响应, 开发者工具, 毕业设计, 现代安全运营, 网络安全, 网络安全审计, 网络映射, 网络资产管理, 自动化响应, 计算机科学, 防火墙, 隐私保护, 集中监控