我如何在 Docker 上构建生产就绪的 Wazuh SIEM(包含针对 VMware、AWS 和 GCP 的自定义规则)
Source: Dev.to
大多数 Wazuh 部署存在的问题
开箱即用时,Wazuh 只会给出通用的 Linux 警报。虽然有用,但噪声很大。我需要的是:
- 针对 Docker 容器滥用(特权运行、可疑挂载、加密货币挖矿)的检测规则
- VMware vCenter 监控——快照滥用、vMotion 事件、认证暴力破解
- 将 AWS CloudTrail 和 GCP Audit Log 异常映射到 Wazuh 规则
- 能够 大规模部署代理,而不必逐台机器通过 SSH 手动操作
- 能在实验室(4 GB RAM)和生产环境中都正常运行
技术栈概览
┌─────────────────────────────────┐
│ Wazuh Manager :1514 / :55000 │
│ Wazuh Indexer :9200 │
│ Wazuh Dashboard :5601 │
│ NGINX (optional reverse proxy)│
└─────────────────────────────────┘
↑ agents on port 1514
Linux servers · Windows servers · Docker hosts · vCenter
↑ log forwarding
AWS CloudTrail (S3) · GCP Pub/Sub
所有组件均通过 docker compose 启动。还有一个 docker-compose.lab.yml 覆盖文件,用于在测试时降低资源占用。
自定义检测规则
rules/ 目录下存放了针对每种环境的规则集。
Docker (rules/docker/)
- 容器 exec 事件
- 特权容器创建
- 主机命名空间滥用(
--pid=host、--network=host) - 可疑绑定挂载(
/etc、/var/run/docker.sock) - 加密货币挖矿特征
VMware (rules/vmware/)
- 虚拟机电源状态变化
- 快照创建/删除(勒索软件指示)
- 主机断开事件
- vCenter 登录暴力破解
AWS (rules/aws/)
- IAM 策略变更
- 安全组对
0.0.0.0/0开放 - 未使用 MFA 的控制台登录
- CloudTrail 被禁用或删除
GCP (rules/gcp/)
- 公共存储桶创建
- 防火墙规则对
0.0.0.0/0开放 - IAM 策略变更
- 在非允许区域创建计算实例
Ansible 代理部署
仓库中提供了 Ansible 剧本,用于自动化代理安装。
# Deploy to all Linux hosts in inventory
ansible-playbook -i inventories/production playbooks/deploy-linux-agent.yml
# Windows hosts (via WinRM)
ansible-playbook -i inventories/production playbooks/deploy-windows-agent.yml
网络发现脚本会扫描子网,生成 Ansible inventory,并直接喂入部署流水线:
make onboard SUBNET=10.0.0.0/24
一条命令:扫描 → 发现 → 部署代理 → 验证。
入门指南
git clone https://github.com/GiulioSavini/wazuh-docker-monitoring-platform.git
cd wazuh-docker-monitoring-platform
make preflight # 验证 Docker、内核参数、磁盘、端口
cp .env.example .env # 设置你的密码
make init # 生成 TLS 证书
make deploy # 启动整个栈
几分钟后,仪表盘将在 https://localhost:5601 可用。
实验室模式 vs 生产模式
在内存受限的家庭实验室上运行?使用实验室覆盖文件:
docker compose -f docker-compose.yml -f docker-compose.lab.yml up -d
这会降低 Wazuh Indexer 的堆内存和 manager 的内存限制,以适配 8 GB 机器。
接下来计划
路线图规划:
- Wazuh 集群模式(多节点 manager)
- Kubernetes Helm Chart
- SOAR 集成(Shuffle / TheHive)
- Sigma 规则自动导入
- 自动化合规仪表盘(PCI‑DSS、CIS)
如果你在使用 VMware、Docker 或任意云基础设施,并希望在不购买商业 SIEM 的情况下获得完整的安全可视化,欢迎尝试。欢迎提交 PR 和规则贡献。
→ https://github.com/GiulioSavini/wazuh-docker-monitoring-platform