ciabeysinghe/Automated-Incident-Response-Lab
GitHub: ciabeysinghe/Automated-Incident-Response-Lab
该项目构建了一个端到端的 SOC 自动化管道,解决终端告警噪音大、响应慢的问题。
Stars: 0 | Forks: 0
# 🚀 自动化SOC管道:SIEM (Wazuh) → SOAR (Shuffle) → ChatOps (Discord)
## 📌 项目概述
本项目的目标是架构并部署一个端到端的安全运营中心(SOC)自动化管道。通过将终端遥感的SIEM与自动化分诊的SOAR平台集成,我设计了一个高度响应的系统,能够过滤掉常规的OS级“噪音”,并将高保真、实时的安全警报直接传递到ChatOps仪表板,供分析师快速审核。
## 🏗️ 架构与技术栈
`Windows 11 终端` ➔ `Wazuh SIEM` ➔ `Shuffle SOAR` ➔ `Discord API`
* **云基础设施:** Microsoft Azure(Ubuntu 虚拟机)
* **终端:** Windows 11(目标机器)
* **SIEM:** Wazuh(管理端和代理)
* **SOAR:** Shuffle(通过 Docker 部署)
* **ChatOps/告警:** Discord Webhooks
## 🛠️ 执行与方法论
### 阶段 1:终端遥测与 SIEM 部署
管道的基础是启动 SIEM 并将其绑定到实时终端以开始捕获安全事件。
1. **代理部署:** 通过 PowerShell 在 Windows 目标机器上安装 Wazuh 代理,并配置管理端 IP 以建立与 Azure VM 的安全连接。

2. **遥测验证:** 验证代理成功认证并在 Wazuh SIEM 仪表板中注册为“Active”,确认日志流不间断。

### 阶段 2:SOAR 部署与基础设施故障排查
我使用 Docker Compose 在 Azure VM 上部署了 Shuffle SOAR。在部署过程中,我处理了真实的云网络和容器冲突问题。
1. **云防火墙配置:** 配置 Azure 网络安全组(NSG)以允许必要流量,打开自定义端口 `3443`(Shuffle UI)和 `5001`(Webhook 接收端)。

2. **Docker 端口冲突解决:** 初次执行 `docker-compose up` 时,Opensearch 容器因 `0.0.0.0:9200` 的端口绑定冲突而失败。我成功诊断并解决了此问题:停止守护进程、删除孤立容器,然后干净地重新部署堆栈。

3. **SOAR 初始化:** 成功访问 Shuffle 网页界面以开始工作流编排。

### 阶段 3:SIEM 到 SOAR 的 API 桥接
为了将告警从 SIEM 路由到 SOAR 引擎,我在 Wazuh Manager 的 `ossec.conf` 文件中设计了一个自定义的 `` 块。该配置指示 SIEM 通过 JSON 负载将 3 级及以上警报直接转发到 Shuffle Webhook URI。

### 阶段 4:有效载荷检查与逻辑过滤
原始数据管道会因常规操作系统操作产生大量“噪音”。我在 Shuffle 中设计了逻辑过滤器,以隔离真正的安全异常并防止分析师出现告警疲劳。
1. **工作流构建:** 构建了一个 Shuffle 工作流,将 Wazuh Webhook 触发器连接到映射到 Discord 的 HTTP POST 应用。

2. **数据解析与条件判断:** 进行了原始 JSON 有效负载检查,以映射 Wazuh 发送的精确变量路径(`$exec.title` 和 `$exec.severity`)。构建了一个条件门以丢弃常规后台事件(如标准登录),并仅转发目标攻击向量。
### 阶段 5:最终 ChatOps 交付
最后一步是将原始 JSON 遥测转换为人类可读、可操作的警报。
1. **动态 Webhook:** 配置 Discord HTTP 节点以动态解析 `$exec.title` 和 `$exec.severity` 变量为格式化消息。
2. **实时攻击模拟:** 锁定 Windows 终端并故意暴力破解锁屏密码以触发 OS 审核策略。
3. **成功:** 管道成功忽略了 Windows 后台噪音,捕获了失败的登录攻击,通过 Azure 基础设施路由,并以实时高保真警报的形式传递到 Discord SOC 频道。

## 💡 关键经验与收获
* **日志过滤至关重要:** 如果没有 SOAR 平台来过滤噪音,SIEM 的“消防水龙带”毫无用处。诊断为何正常告警通过管道条件的过程教会了我精确的数据类型匹配和原始有效负载检查的重要性。
* **基础设施故障排查:** 遇到并解决 Docker 网络冲突加深了我对容器化应用程序管理和拆除流程的实际理解。
* **终端可见性:** 认识到标准 Windows 版本默认不审核失败的密码(通过 `auditpol`)是一个宝贵的教训。自动化管道的有效性取决于生成底层日志的本地安全策略。
标签:AI合规, AMSI绕过, Azure, ChatOps, Discord, Docker, NSG, Shuffle, SOAR, Triage, Wazuh, Webhooks, Windows11, Windows端点, 云基础设施, 分析师协作, 威胁检测, 安全运营中心, 安全防御评估, 日志采集, 端点遥测, 网络安全, 网络映射, 自动化响应, 请求拦截, 隐私保护