jnanadeep17/Automated-SOC-Lab

GitHub: jnanadeep17/Automated-SOC-Lab

一个完全自动化的容器化 SOC 实验室,通过自定义 Python API 桥接 Wazuh SIEM 和 Zammad 工单系统,实现威胁检测到事件响应工单的自动生成。

Stars: 0 | Forks: 0

# 自动化 SOC 与事件响应实验室 ## 概述 本项目是一个完全容器化的自动化安全运营中心 (SOC) pipeline。它展示了网络威胁的整个生命周期,从对目标 endpoint 的初始攻击到 SIEM 中的日志摄取和规则匹配。最后以自动为分析师创建可操作的工单结束。 我没有使用内置的原生集成,而是创建了一个基于 Python 的自定义 webhook。这个 webhook 会解析 JSON 安全告警,并直接与 Zammad 的 Ticketing REST API 进行交互。 ![攻击模拟](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/114524d32b014054.svg) ## 架构与技术栈 * **SIEM:** Wazuh (通过 Docker 部署) * **工单系统:** Zammad (通过 Docker 部署,通过分离 Elasticsearch 针对低资源环境进行了优化) * **集成层:** 自定义 Python 脚本 (JSON 解析、`requests` HTTP 库、REST API 身份验证) * **虚拟化:** VMware, Docker & Docker Compose * **操作系统环境:** Ubuntu Mate & Debian Linux 虚拟机 * **攻击模拟:** Bash 脚本 ``` graph TD subgraph Target [Target Environment] A(🖥️ Target Endpoint
Ubuntu/Debian) -->|Logs SSH Failures| B[🛡️ Wazuh Agent] end B -->|Encrypted Forwarding| C subgraph SIEM [ Wazuh SIEM Hub] C[📡 Wazuh Manager] -->|Rule Match: Level 10+| D{{⚙️ wazuh-integratord}} D -->|Triggers Payload| E[/<\> custom-zammad.py/] end E -->|POST JSON + Token Auth| F subgraph SOC [ Zammad SOC Desk] F[( Zammad REST API)] -->|Parses Forensics| G([🚨 Unassigned SOC Ticket]) end classDef target fill:#2d3436,stroke:#636e72,stroke-width:2px,color:#fff classDef wazuh fill:#0984e3,stroke:#74b9ff,stroke-width:2px,color:#fff classDef script fill:#6c5ce7,stroke:#a29bfe,stroke-width:2px,color:#fff classDef api fill:#00b894,stroke:#55efc4,stroke-width:2px,color:#fff classDef ticket fill:#d63031,stroke:#ff7675,stroke-width:3px,color:#fff class A,B target class C,D wazuh class E script class F api class G ticket ``` ## 核心功能 1. **容器化基础设施:** SIEM 和工单系统均使用 Docker 部署。这确保了环境是隔离的、可重复的且易于扩展的。 2. **资源优化:** Zammad 技术栈经过自定义配置,通过禁用其繁重的 Elasticsearch 依赖项,可以在低资源的实验室环境中运行。 3. **自定义 API 桥接:** 直接在 Wazuh manager 容器中添加了 Python 集成脚本。它会捕获 Level 10+ 的告警,提取取证数据 (规则、Agent、IP、完整日志),并使用基于 token 的 API 身份验证将格式化的 JSON payload 发送给 Zammad。 4. **自动化分类:** 安全告警会立即显示在 SOC dashboard 的未分配队列中。此过程将原始日志格式化为分析师可读的工单备注。 ## 配置与设置 ### 1. SIEM 到工单系统的桥接 此脚本充当 Wazuh 和 Zammad 之间的转换层。它存储在 Wazuh Manager 的 `/var/ossec/integrations/` 中,具有 wazuh 系统组的执行权限,并使用 Wazuh 内部的 Python 环境。 ### 2. Wazuh Manager 配置 OSSEC 配置将高严重性告警 (Level 5+) 定向到自定义集成脚本。它安全地传递 Zammad API token,而无需将其硬编码到 Python 逻辑中。 ### 3. Zammad 环境 这是修改后的 zammad Docker Compose 文件 `docker-compose.yml`,用于部署不带繁重搜索索引的 Zammad。此设置允许企业级工单系统在家庭实验室硬件上流畅运行。 ## 攻击模拟与验证 为了验证该 pipeline,针对受监控的 Debian endpoint 模拟了一次 SSH 暴力破解攻击。
标签:Docker, Python, Wazuh, Zammad, 安全运营中心, 安全防御评估, 应用安全, 无后门, 版权保护, 网络映射, 网络调试, 自动化, 请求拦截, 逆向工具