quentinprevi-tech/wazuh-siem-homelab

GitHub: quentinprevi-tech/wazuh-siem-homelab

在 Proxmox VE 上使用 Wazuh 构建的 SIEM 家庭实验室,集中收集 Windows、Active Directory 和 Linux 系统的安全事件并实现入侵检测。

Stars: 0 | Forks: 0

# Wazuh SIEM 家庭实验室 一个基于 Proxmox VE 并使用 Wazuh 构建的实用 SIEM 与集中化日志家庭实验室。 本项目演示了如何部署专用的 Wazuh 服务器,并集中收集来自 Windows、Active Directory、Linux 和 DMZ 系统的安全事件。 ## 实验室概述 该实验室构建于 Proxmox VE 之上,并使用 OPNsense 在相互隔离的虚拟网络之间路由流量。 受监控系统: - SRV-AD01:运行 AD DS 和 DNS 的 Windows Server 2022 域控制器 - SRV-SYNC01:用于 Microsoft Entra Cloud Sync 的 Windows Server 2022 - win11-client-lab:已加入域的 Windows 11 客户端 - web01:位于 DMZ 中的 Debian/Nginx Web 服务器 - wazuh-siem01:专用的 Wazuh all-in-one SIEM 服务器 ## 目标 - 部署专用的 Wazuh SIEM 服务器 - 在 Windows 和 Linux 系统上安装 Wazuh agent - 集中收集 Windows 安全、系统和应用程序日志 - 收集 Linux 系统日志和 Nginx Web 服务器日志 - 检测 Active Directory 登录失败尝试 - 检测针对 DMZ Web 服务器的可疑 Web 请求 - 记录防火墙规则和网络分段 - 构建一个适合放入作品集的安全监控项目 ## 架构 网络区域: | 区域 | 子网 | 用途 | |---|---|---| | LAN | 10.10.10.0/24 | Windows 11 客户端网络 | | SERVERS | 10.10.20.0/24 | AD, Cloud Sync, Wazuh | | DMZ | 10.10.30.0/24 | Debian/Nginx Web 服务器 | 主要系统: | 主机名 | IP 地址 | 角色 | |---|---|---| | wazuh-siem01 | 10.10.20.50 | Wazuh all-in-one SIEM | | SRV-AD01 | 10.10.20.10 | Active Directory 域控制器 / DNS | | SRV-SYNC01 | 10.10.20.20 | Microsoft Entra Cloud Sync 服务器 | | win11-client-lab | 10.10.10.105 | Windows 11 域客户端 | | web01 | 10.10.30.10 | Debian/Nginx DMZ Web 服务器 | ## 网络拓扑图 ``` flowchart TD subgraph LAN["LAN - 10.10.10.0/24"] WIN11["win11-client-lab
Windows 11
10.10.10.105"] end subgraph SERVERS["SERVERS - 10.10.20.0/24"] AD["SRV-AD01
AD DS / DNS
10.10.20.10"] SYNC["SRV-SYNC01
Entra Cloud Sync
10.10.20.20"] WAZUH["wazuh-siem01
Wazuh SIEM
10.10.20.50"] end subgraph DMZ["DMZ - 10.10.30.0/24"] WEB["web01
Debian / Nginx
10.10.30.10"] end FW["OPNsense Firewall
LAN / SERVERS / DMZ routing"] WIN11 --> FW AD --> FW SYNC --> FW WEB --> FW WAZUH --> FW AD -- "Windows Security logs
4625 / 4776" --> WAZUH SYNC -- "Windows logs" --> WAZUH WIN11 -- "Endpoint logs" --> WAZUH WEB -- "Linux + Nginx logs
web01_access.log" --> WAZUH WIN11 -- "HTTP tests
/wp-login.php / .env / test404" --> WEB WIN11 -- "Failed logon test" --> AD ``` ## Wazuh 部署 Wazuh 作为 all-in-one 安装包部署在一台专用的 Ubuntu Server 虚拟机上。 虚拟机配置: | 设置 | 值 | |---|---| | 虚拟机 ID | 350 | | 主机名 | wazuh-siem01 | | IP 地址 | 10.10.20.50 | | CPU | 4 核 | | 内存 | 8 GB | | 硬盘 | 100 GB | | 网络 | SERVERS / vmbr20 | | Wazuh 版本 | 4.14.5 | ## Agents 以下 Wazuh agent 已安装并验证: | Agent | 操作系统 | IP 地址 | 状态 | |---|---|---|---| | web01 | Debian GNU/Linux 13 | 10.10.30.10 | Active | | SRV-AD01 | Windows Server 2022 | 10.10.20.10 | Active | | SRV-SYNC01 | Windows Server 2022 | 10.10.20.20 | Active | | win11-client-lab | Windows 11 Pro | 10.10.10.105 | Active | ## 检测测试 ### Active Directory 登录失败检测 从 Windows 11 客户端向域控制器发起了一次失败的认证尝试。 测试命令: ``` net use \\10.10.20.10\IPC$ /user:HOMELAB\compte.inexistant MauvaisMotDePasse123! ``` 检测到的 Windows 事件 ID: | 事件 ID | 含义 | |---|---| | 4625 | 登录失败 | | 4776 | 凭据验证失败 | Wazuh 检测到的事件: | 规则 ID | 描述 | 等级 | |---|---|---| | 60122 | 登录失败 - 未知用户或密码错误 | 5 | | 60104 | Windows 审计失败事件 | 5 | ### Nginx Web 请求检测 针对 Debian/Nginx DMZ 服务器生成了可疑的 HTTP 请求。 示例请求: ``` http://web01.homelab.local/test404 http://web01.homelab.local/.env http://web01.homelab.local/wp-login.php http://web01.homelab.local/etc/passwd ``` Nginx 访问日志收集来源: ``` /var/log/nginx/web01_access.log ``` Wazuh 检测到的事件: | 规则 ID | 描述 | 等级 | |---|---|---| | 31101 | Web 服务器 400 错误代码 | 5 | ## 截图 ### Wazuh 概览仪表板 ![Wazuh 仪表板概览](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/d623c493e5080346.png) ### 活动的 Wazuh agent ![Wazuh 活动 agent](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/f44619d735080352.png) ### Active Directory 登录失败检测 ![检测到 SRV-AD01 登录失败](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/61937e66ea080358.png) ### 检测到 Nginx Web 事件 ![Wazuh 中的 web01 Nginx 日志](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/22e624779b080404.png) ## 文档 - [架构](docs/architecture.md) - [部署](docs/deployment.md) - [Agent](docs/agents.md) - [检测测试](docs/detection-tests.md) - [防火墙规则](docs/firewall-rules.md) - [故障排除](docs/troubleshooting.md) ## 防火墙规则 在 OPNsense 中配置了防火墙规则,仅允许受监控系统与 Wazuh 服务器之间所需的流量。 所需的 Wazuh 端口: | 端口 | 协议 | 用途 | |---|---|---| | 1514 | TCP | Agent 事件转发 | | 1515 | TCP | Agent 注册/认证 | | 443 | TCP | Wazuh 仪表板访问 | 示例: | 源地址 | 目标地址 | 端口 | 用途 | |---|---|---|---| | SRV-AD01 | wazuh-siem01 | TCP 1514-1515 | Wazuh agent 通信 | | SRV-SYNC01 | wazuh-siem01 | TCP 1514-1515 | Wazuh agent 通信 | | win11-client-lab | wazuh-siem01 | TCP 1514-1515, 443 | Agent 和仪表板访问 | | web01 | wazuh-siem01 | TCP 1514-1515 | Linux agent 通信 | ## 维护说明 在项目期间,还对 Proxmox 宿主机进行了检查和清理: - 修复了 Proxmox VE 9 升级后不一致的 APT 仓库 - 将 Debian 和 Proxmox 仓库对齐到 trixie - 将 Proxmox VE 升级到 9.2 - 使用 VirtIO 客户机工具修复了 Windows 虚拟机上的 QEMU Guest Agent 通信问题 - 清理了旧的中间快照 - 将 LVM thinpool 的使用率从大约 50% 降低到了 37% 左右 - 确认磁盘 I/O wait 恢复到 0% ## 经验总结 本项目帮助验证了多项实用的管理和安全技能: - 在分段的家庭实验室中部署 SIEM - 在 Windows 和 Linux 上安装并验证 Wazuh agent - 从 Active Directory 域控制器收集 Windows 安全事件 - 启用用于检测登录失败的审计策略 - 从 DMZ 服务器收集自定义的 Nginx 访问日志 - 对日志收集路径进行故障排除 - 管理 LAN、SERVERS 和 DMZ 网络之间的防火墙规则 - 维护 Proxmox 仓库、快照和虚拟机客户机工具 ## DNS / 名称解析 内部 DNS 由 Active Directory 域控制器 SRV-AD01 提供。 实验室使用的内部域: ``` homelab.local ``` 重要的 DNS 记录: | 名称 | IP 地址 | 用途 | |---|---|---| | SRV-AD01.homelab.local | 10.10.20.10 | 域控制器 / DNS | | web01.homelab.local | 10.10.30.10 | DMZ Nginx Web 服务器 | | wazuh-siem01 | 10.10.20.50 | Wazuh SIEM 服务器 | Windows 11 域客户端使用 SRV-AD01 作为 DNS 服务器。 这使得客户端可以解析内部实验室名称,例如: ``` web01.homelab.local ``` 在检测测试期间,使用 web01 的 DNS 名称和 IP 地址生成了 Web 请求。 ## 参考 本项目期间使用的官方文档: - Wazuh 文档 - 架构和默认端口:https://documentation.wazuh.com/current/getting-started/architecture.html - Wazuh 文档 - Agent 注册要求:https://documentation.wazuh.com/current/user-manual/agent/agent-enrollment/requirements.html - Wazuh 文档 - Agent 注册故障排除:https://documentation.wazuh.com/current/user-manual/agent/agent-enrollment/troubleshooting.html - Microsoft 文档 - 事件 ID 4625,登录失败:https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-10/security/threat-protection/auditing/event-4625 - Microsoft 文档 - 事件 ID 4776,凭据验证:https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-10/security/threat-protection/auditing/event-4776 - Microsoft 文档 - 高级审核策略配置:https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/plan/security-best-practices/advanced-audit-policy-configuration - Proxmox VE 文档 - 软件包仓库:https://pve.proxmox.com/wiki/Package_Repositories ## 状态 项目状态:已完成并验证。 核心验证点: - Wazuh 仪表板可访问 - 4 个 agent 处于活动状态 - Active Directory 登录失败检测正常工作 - Nginx Web 事件检测正常工作 - 维护后 Proxmox 宿主机运行稳定
标签:Proxmox VE, Terraform 安全, Wazuh, Windows Server, 安全实验环境, 安全运营, 扫描框架