alejandroZ345/-Cloud-Native-Security-Operations-Wazuh-SIEM-XDR-Deployment
GitHub: alejandroZ345/-Cloud-Native-Security-Operations-Wazuh-SIEM-XDR-Deployment
基于 Docker Compose 的企业级 Wazuh SIEM/XDR 部署项目,提供完整的安全运营中心搭建流程与威胁检测验证。
Stars: 2 | Forks: 0
# Wazuh SIEM 家庭实验室





## 概述
本项目记录了在 WSL2 环境中使用 Docker Compose 编排部署和操作企业级 SIEM/XDR 平台 **Wazuh v4.14.4** 的过程。目标是模拟真实的安全运营中心 (SOC) 流程——从基础设施配置到主动威胁检测——涵盖适用于初级 SOC 分析师和网络安全工程师职位的技能。
该实验室构建为一系列文档化的阶段,每个阶段都建立在前一个阶段的基础上,以便每个配置决策和故障排除步骤都是可复现且可审计的。
[架构](./wazuh_lab_architecture.md/)
## 实验室环境
| 组件 | 详情 |
|---|---|
| 主机操作系统 | Windows (AMD Ryzen 7 5700X, Aorus B450-M, RTX 3050) |
| Hypervisor | WSL2 |
| Linux 发行版 | Ubuntu — 迁移至 D: 盘 |
| 容器引擎 | Docker Desktop v29.3.1 (WSL2 后端) |
| SIEM 版本 | Wazuh v4.14.4 — 单节点架构 |
| 攻击者操作系统 | Kali Linux (WSL2) — 迁移至 D: 盘 |
## 阶段
| 阶段 | 标题 | 状态 |
|---|---|---|
| [阶段 1](./phase-1-stack-deployment.md/) | 栈部署与安全加固 | ✅ 已完成 |
| [阶段 2](./phase-2-agent-deployment.md/) | Agent 部署与生命周期管理 | ✅ 已完成 |
| [阶段 3](./phase-3-threat-simulation/) | Linux Agent 与主动威胁模拟 | ✅ 已完成 |
| 阶段 4 | 文件完整性监控 (FIM) | 🔄 进行中 |
| 阶段 5 | 自定义检测规则 | 🔜 计划中 |
## 主要目标
**基础设施即代码** — 整个栈通过 `docker-compose.yml` 部署,凭据在初始化时进行预哈希处理并注入。无需对运行中的容器进行手动后期修改。
**凭据加固** — 默认的 `admin / SecretPassword` 凭据已被高熵密码替换。Wazuh Indexer 在初始化之前需要在 `internal_users.yml` 中包含 Bcrypt 哈希值;推导该哈希值并在 Manager 和 Dashboard 之间同步的过程已完整记录。
**多 Agent 遥测** — Agent 部署在 Windows 主机 (`WazuhSvc`) 和 Linux 端点 (`Ubuntu_Admin`) 上,均通过加密通道向 Manager 汇报。
**主动威胁模拟** — 从专用的 Kali Linux 实例针对暴露的 OpenSSH 服务器发起的 Hydra 字典攻击在几秒钟内生成了 **1,815 个身份验证失败事件**,触发了关联引擎中的 Level 5 和 Level 10 警报。
**检测验证** — 所有警报级别、规则 ID 和仪表板视图均通过截图记录,并映射到 MITRE ATT&CK 技术。
## 检测覆盖范围
| 模拟攻击 | 工具 | Wazuh 警报级别 | ATT&CK 技术 |
|---|---|---|---|
| SSH 暴力破解 (批量) | Hydra + rockyou.txt | Level 10 | T1110.001 — 密码猜测 |
| SSH 认证失败 (单次) | Hydra | Level 5 | T1110 — 暴力破解 |
| 网络侦察 | Nmap | Level 5 | T1046 — 网络服务扫描 |
| 文件完整性违规 | 手动 | Level 7 | T1565 — 数据篡改 *(阶段 4)* |
## 已解决的重大技术挑战
**Docker 引擎迁移** — 无论 WSL 发行版位于何处,Docker Desktop v29.3.1 都会将容器卷数据硬编码到 `AppData\Local\Docker`。Ubuntu 和 Kali 已成功迁移至 D: 盘;Docker 的有效载荷仍保留在 C: 盘。这是一个已知的架构限制,已作为社区说明记录在案。
**Bcrypt 凭据同步** — 将自定义密码注入 Wazuh Docker 部署需要三项同步更改:在临时容器中使用 OpenSearch 哈希工具对密码进行哈希处理,将哈希值写入 `config/wazuh_indexer/internal_users.yml`,并在 `docker-compose.yml` 中更新明文凭据,且对特殊字符进行严格的双引号包装。在得出经过验证的步骤之前,记录了两次失败的尝试(容器内脚本执行和纯 IaC 注入)。
**用于攻击模拟的 WSL2 共享网络** — Kali 攻击者和 Ubuntu 目标共享 WSL2 `eth0` 接口,无需外部硬件即可实现真实的网络层攻击模拟。通过利用 Docker 在 localhost 上的端口暴露,Manager IP 被解析为 `127.0.0.1`。
## 路线图
- [ ] 阶段 4:在 `/etc`、`/bin`、`/usr/bin` 上配置 FIM 并记录警报输出
- [ ] 阶段 5:编写自定义 Wazuh XML 检测规则(暴力破解阈值、sudo 滥用、`/etc/passwd` 修改)
- [ ] MITRE ATT&CK 映射表(覆盖所有阶段的完整范围)
- [ ] 集成 TheHive 用于事件案例管理
- [ ] 实施 Active Response 脚本以实现自动化威胁遏制
## 关于
**Alejandro Zavala** — 系统工程师 & 网络安全专家
ISC2 网络安全认证 (CC) · 专长:SOC 运营、事件检测、技术文档
[linkedin.com/in/alejandro-zavala-zenteno](https://www.linkedin.com/in/alejandro-zavala-zenteno) · [ISC2 徽章](https://www.credly.com/badges/fe6eeefe-d684-45fa-8f57-9f7d025db2d6/public_url)
标签:AMSI绕过, Cloudflare, Docker, Docker Compose, GitHub Advanced Security, GPT, MITRE ATT&CK, SecOps, Wazuh, WSL2, x64dbg, 云安全架构, 企业级安全, 威胁检测, 安全加固, 安全实验环境, 安全运营中心, 安全防御评估, 容器化部署, 漏洞管理, 版权保护, 红队行动, 网络安全, 网络映射, 请求拦截, 隐私保护