Labhary/minisoc

GitHub: Labhary/minisoc

MiniSOC 是一个开源的实时安全运营中心,专注于 Linux 日志监控、规则检测和攻击关联,以支持事件调查与管理。

Stars: 0 | Forks: 0

# 迷你SOC MiniSOC 是一个实时安全运营中心 (SOC) 平台,用于 Linux 日志监控、基于规则的检测、事件关联和分析师驱动的调查。 它收集和解析 Linux 安全事件,应用可解释的检测规则,将相关警报关联为攻击链,并提供 CLI 和 Web 仪表板工作流,用于分诊、调查、抑制治理、验证和报告。 ## 核心能力 - 实时 Linux 日志监控和回放模式 - 可解释的基于规则的检测引擎 - 多阶段攻击关联 - 事件生命周期管理 - 分析师所有权、状态、严重性、处置和解决工作流 - 分组调查时间线和活动历史 - MITRE ATT&CK 上下文和 IOC 可见性 - 按 IP、用户和警报系列进行相关事件分析 - 对可疑 IP 和用户的监视列表支持 - 带有审计历史的抑制规则 - 用于计划场景覆盖的攻击验证矩阵 - SQLite 支持的数据持久化 - 基于 Flask 的 SOC 仪表板 - 用于事件审查和解决的 CLI 实用程序 ## 仪表板预览 ### 安全运营仪表板 事件数量、严重性分布、分析师工作量、抑制状态和优先活动威胁的操作概览。 ![仪表板概览](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/d2457ba94f021040.png) ### 事件操作队列 用于筛选、分页、所有权分配、批量操作、处置审查和 CSV 导出的 SOC 队列。 ![事件操作队列](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/604311a00c021041.png) ### 调查工作区 事件级工作区,包含分析师检查清单、建议操作、相关事件和监视列表上下文。 ![调查工作区](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/543a422e8b021041.png) ### 事件上下文 详细的事件摘要,包含 MITRE ATT&CK 映射、IOC 上下文、时间戳、建议和处置。 ![事件概览和 IOC 上下文](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/d392bbf5fd021042.png) ### 活动时间线 分组的事件活动时间线,显示身份验证证据、分析师备注、生命周期变更和调查历史。 ![事件活动时间线](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/002ca3c585021043.png) ### 攻击验证矩阵 用于检查预期攻击场景是否产生正确的 MiniSOC 信号和证据的验证规划矩阵。 ![攻击验证矩阵](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/a4e1f93cae021043.png) ## 架构 ``` Kali Linux attacker VM | v Ubuntu monitored VM | v Linux Logs (auth.log / ufw.log / audit.log) | v Log Collector | v Parser | v Detection Engine | v Rule-Based Detections | v Alert + Incident Persistence | v Correlation + Timeline Reconstruction | v CLI + Flask Dashboard ``` ## 检测工作流 MiniSOC 通过结构化管道处理安全事件: 1. 从活动 Linux 日志或回放文件中收集日志行 2. 将识别的日志模式解析为标准化事件 3. 执行专注的基于规则的检测 4. 生成警报和事件记录 5. 将相关警报关联为攻击链 6. 构建事件时间线和调查上下文 7. 通过 CLI 和仪表板工作流呈现结果 ## 验证实验室环境 MiniSOC 在一个受控的多 VM 实验室中进行了验证,使用了独立的攻击者和受监控系统。 实验室设置: - Kali Linux 攻击者 VM,用于侦察和攻击模拟 - Ubuntu Linux 受监控 VM,运行 MiniSOC 收集和检测工作流 - 受控的 SSH 暴力破解、端口扫描、权限提升、横向移动、持久化和数据渗漏模拟场景 - 来自外部攻击活动的活动 Linux 日志生成 - 使用捕获的样本日志进行基于回放的验证 此设置验证了来自外部攻击者的活动遥测以及用于回归测试的确定性回放场景。 ## 支持的检测类别 - SSH 暴力破解 - 端口扫描活动 - 可疑登录行为 - 权限提升 - 持久化活动 - 横向移动 - 数据渗漏尝试 - 可疑的出站回调 ## 关联示例 MiniSOC 将相关检测关联为更高优先级的事件,包括: - 同一 IP 进行的端口扫描后接 SSH 暴力破解 - SSH 暴力破解后接成功登录 - 成功登录后接权限提升 - 可疑登录后接权限提升 - 被入侵主机活动后接渗漏行为 关联事件示例: - `MULTI_STAGE_INTRUSION` - `HOST_COMPROMISE_CRITICAL` - `DATA_EXFILTRATION_CONFIRMED` ## 示例攻击链 ``` Reconnaissance ↓ SSH brute-force activity ↓ Successful login ↓ Privilege escalation ↓ Data exfiltration attempt ↓ Correlated critical incident ``` ## 项目结构 | 路径 | 用途 | |---|---| | `main.py` | 用于活动监控和回放的 CLI 入口点 | | `dashboard.py` | Flask 仪表板和分析师工作流端点 | | `core/collector.py` | 活动日志收集和回放支持 | | `core/parser.py` | 日志解析和事件标准化 | | `core/alert.py` | 警报创建和持久化 | | `core/incident.py` | 事件生命周期逻辑 | | `core/incident_store.py` | SQLite 支持的事件存储 | | `detection/engine.py` | 检测编排 | | `detection/rules/` | 基于规则的检测模块 | | `investigation/timeline.py` | 时间线重建 | | `investigation/correlation.py` | 相关警报和事件关联 | | `templates/` | 仪表板 HTML 模板 | | `static/` | 仪表板 CSS 和前端资源 | | `scripts/seed_demo_data.py` | 演示数据填充脚本 | | `tests/` | 回归和工作流测试 | | `validation_scenarios.py` | 验证矩阵场景定义 | ## 技术栈 - Python - Flask - SQLite - HTML - CSS - JavaScript - unittest ## 入门指南 ### 克隆仓库 ``` git clone https://github.com/Labhary/minisoc.git cd minisoc ``` ### 创建虚拟环境 ``` python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt ``` ## 运行 MiniSOC ### 回放示例日志 ``` python3 main.py --replay --log samples/auth.log ``` ### 运行活动监控 ``` python3 main.py ``` 默认监控的日志源: ``` /var/log/auth.log /var/log/ufw.log /var/log/audit/audit.log ``` ### 启动仪表板 ``` python3 dashboard.py ``` 打开: ``` http://127.0.0.1:5000 ``` ## 演示环境 用代表性事件、相关案例、监视列表条目、抑制规则、分析师操作和验证场景填充本地 SQLite 数据库: ``` python3 scripts/seed_demo_data.py python3 dashboard.py ``` ## 有用的 CLI 命令 ``` python3 main.py --list-incidents python3 main.py --show-incident CASE-000001 python3 main.py --resolve CASE-000001 ``` ## 测试与验证 运行自动化回归测试套件: ``` python3 -m unittest discover -s tests ``` 可选的语法检查: ``` python3 -m py_compile dashboard.py validation_scenarios.py scripts/seed_demo_data.py ``` 验证覆盖包括: - 解析器和检测规则行为 - 事件创建和生命周期转换 - 关联和时间线重建 - 仪表板渲染和分析师工作流行为 - 抑制、监视列表和验证矩阵工作流 - 基于捕获的实验室风格安全事件的回放场景 该项目还在 Kali 到 Ubuntu 的实验室流程中进行了手动验证,其中来自 Kali VM 的攻击活动在受监控的 Ubuntu VM 上生成了 Linux 遥测数据,使 MiniSOC 能够通过 CLI 和仪表板检测、关联和呈现事件。 ## 路线图 - Sigma 规则支持 - 邮件或 Slack 警报通知 - 基于角色的仪表板身份验证 - Docker 部署 - 威胁情报增强 - OpenSearch 或 Elastic 集成
标签:Cloudflare, Flask框架, MITRE ATT&CK, SOC平台, SQLite数据库, 事件分类, 事件管理, 事件调查, 仪表板, 入侵指标, 内核监控, 分析师工作台, 多模态安全, 威胁分析, 威胁情报, 安全运营中心, 工作流管理, 开发者工具, 所有权分配, 批量操作, 抑制规则, 攻击关联, 数据可视化, 网络安全, 网络映射, 自动化侦查工具, 规则检测, 逆向工具, 隐私保护, 验证矩阵