fuadabizar/wazuh-soc-homelab
GitHub: fuadabizar/wazuh-soc-homelab
基于 Docker 部署的 Wazuh SIEM 家用实验室项目,帮助安全从业者实践安全监控、Windows 日志分析和自定义检测规则编写。
Stars: 0 | Forks: 0
# Wazuh SOC 家用实验室部署
这是一个注重实践的安全信息和事件管理 (SIEM) 家用实验室项目,主要侧重于部署、配置和测试 Wazuh,用于安全监控和检测工程实践。
本项目演示了 Wazuh 环境的实现,该环境与 Windows 终端节点集成,用于监控日志、生成警报和构建自定义检测规则。
## 项目目标
构建本项目旨在加强以下方面的实践技能:
- SIEM 部署与配置
- 安全监控
- Windows 日志分析
- 检测工程
- 自定义规则创建
- SOC 警报调查
- 安全事件关联
## 架构概述
```
+-----------------------------+
| Windows 11 Host |
| - Wazuh Agent |
| - Windows Event Logs |
+--------------+--------------+
|
v
+-----------------------------+
| Ubuntu Environment |
| Docker Engine |
+--------------+--------------+
|
v
+-----------------------------+
| Wazuh Manager Container |
| Wazuh Indexer Container |
| Wazuh Dashboard Container |
+-----------------------------+
```
## 实验室环境
## | 组件 | 详情 |
|------------|---------|
| 宿主机操作系统 | Windows 11 |
| Linux 环境 | Ubuntu on WSL |
| 容器化 | Docker Engine |
| SIEM 平台 | Wazuh |
| 部署方式 | 基于 Docker 的 Wazuh 部署 |
| 终端节点监控 | Windows Wazuh Agent |
| 受监控的终端节点 | Windows 11 |
| 目的 | 安全监控与检测工程家用实验室 |
## 已实现的功能
### ✅ Wazuh 部署
- 安装并配置了 Wazuh SIEM
- 验证了仪表板的可访问性
- 确认了管理器的功能正常
### ✅ Windows 终端节点监控
- 在 Windows 终端节点上安装了 Wazuh Agent
- 将终端节点连接到 Wazuh Manager
- 验证了 Agent 的主动通信
### ✅ 日志收集
- 收集了 Windows Event Logs
- 验证了日志成功摄取至 Wazuh 仪表板
### ✅ 登录失败检测
**用例:** Windows 登录失败监控
**描述:**
从 Windows Event Logs 中检测失败的登录尝试,以识别身份验证失败和潜在的暴力破解活动。
**Windows Event ID:**
`4625`
**检测结果:**
成功在 Wazuh 仪表板中检测并生成了警报。
## 检测规则
### 1. 登录失败检测
| 类别 | 详情 |
|----------|---------|
| 事件类型 | 身份验证失败 |
| Event ID | 4625 |
| 严重性 | 中 |
| 状态 | 已实现 |
**目的:**
识别失败的身份验证尝试,以进行安全监控和调查。
## 部署流程
本项目在 Windows 11 主机上的 Ubuntu 环境中,使用基于 Docker 的 Wazuh 设置进行部署。
### 1. 环境准备
- 在 Windows 上准备了 Ubuntu 环境
- 安装了 Docker Engine 和 Docker Compose 依赖项
- 验证了 Docker 服务和 container 运行时
### 2. Wazuh Stack 部署
- 使用 Docker 部署了 Wazuh Manager、Wazuh Indexer 和 Wazuh Dashboard
- 验证了所有 Wazuh 容器是否正常运行
- 通过 localhost 访问了 Wazuh Dashboard
### 3. 终端节点集成
- 在 Windows 终端节点上安装了 Wazuh Agent
- 将 Windows 终端节点连接到 Wazuh Manager
- 从 Wazuh Dashboard 验证了 Agent 状态
### 4. 日志摄取验证
- 验证了 Windows Event Log 收集情况
- 确认与身份验证相关的日志已被摄取到 Wazuh 中
- 使用 Windows Event ID 4625 测试了登录失败遥测数据
### 5. 检测工程
- 为 Windows 登录失败事件创建了自定义检测规则
- 为 120 秒内 5 次登录失败创建了暴力破解检测规则
- 为多次尝试失败后成功登录的情况创建了关联规则
- 将检测映射到 MITRE ATT&CK 技术
- 通过受控测试验证了警报
## 截图
### Wazuh 仪表板

### Agent 已连接

### 登录失败警报检测

## 已实现的检测
### Windows 登录失败检测 (Event ID 4625)
检测 Windows 身份验证失败尝试。
**Rule ID:** `60122`

### 暴力破解检测
检测 120 秒内发生的 5 次登录失败尝试。
**Rule ID:** `100500`
**MITRE ATT&CK:** `T1110 - Brute Force`

## 挑战与故障排除
在部署过程中,遇到了一些挑战:
- Wazuh 仪表板连接问题
- Docker 配置故障排除
- Agent 通信设置
- 事件日志可见性验证
- 自定义检测规则测试
这些问题有助于提升故障排除、系统管理和安全监控技能。
## 经验教训
通过这个项目,我获得了以下方面的实践经验:
- 部署 SIEM 平台
- 了解日志摄取流程
- 安全事件监控
- Windows Event Log 分析
- 编写和测试检测规则
- 调查与身份验证相关的警报
## 未来改进
此家用实验室计划进行的增强包括:
- [ ] 暴力破解登录检测
- [ ] 多次失败后成功登录的关联分析
- [ ] 权限提升检测
- [ ] 新建本地管理员账户检测
- [ ] 多终端节点监控
- [ ] Sigma 规则集成
- [ ] MITRE ATT&CK 映射
## 仓库结构
```
wazuh-soc-homelab/
│── README.md
│
├── screenshots/
│ ├── wazuh-dashboard.png
│ ├── agent-connected.png
│ ├── login-failure-alert.png
│
├── config/
│ ├── local_rules.xml
│ ├── ossec.conf
│
├── detections/
│ ├── login-failure.md
│
└── documentation/
└── deployment-notes.md
```
## 作者
**Achmad Fuad Abizar**
安全运营中心 (SOC) 分析师
## 免责声明
本项目是在受控的家庭实验室环境中构建的,仅供教育和学习目的使用。
标签:Docker, Wazuh, Windows 11, Windows事件日志, 主机安全监控, 事件关联, 告警调查, 安全信息与事件管理, 安全运营, 安全防御评估, 家庭实验室, 容器化部署, 扫描框架, 搜索引擎爬取, 红队行动, 网络安全, 自定义规则, 请求拦截, 隐私保护