Wazuh 是一款免费、开源且企业级的安全监控解决方案,提供威胁检测、完整性监控、事件响应和合规性检查功能。docker-wazuh-agent 是封装了 Wazuh Agent 的 Docker 镜像,内置自动注册功能,可无缝集成 Wazuh 服务器。该镜像设计灵活,既支持作为独立 Docker 容器运行,也可部署为 Kubernetes DaemonSet,适用于各类环境的安全监控需求。
容器化部署
Wazuh Agent 被封装为 Docker 镜像,提升跨环境的可移植性和部署便捷性。
自动注册机制
支持与 Wazuh 服务器自动注册,简化部署流程,无需手动配置。
多环境兼容
| GitHub 分支/标签 | Wazuh Agent 版本 | Docker 镜像标签 |
|---|---|---|
| main | v4.3.10 | latest |
| v4.7.1-1 | v4.7.1-1 | 4.7.1 |
| v4.6.0-1 | v4.6.0-1 | 4.6.0 |
| v4.5.4-1 | v4.5.4-1 | 4.5.4 |
| v4.4.5-1 | v4.4.5-1 | 4.4.5 |
| 仓库名称 | 描述 | 拉取命令 |
|---|---|---|
| [***] | 基于 Minideb 的 Wazuh Agent | docker pull opennix/wazuh-agent |
| [***] | 基于 Amazon Linux 2023.3.20231218.0 的 Wazuh Agent | docker pull opennix/wazuh-agent-amazonlinux |
| [***] | 基于 Ubuntu 24.04 的 Wazuh Agent | docker pull opennix/wazuh-agent-ubuntu |
| 名称 | 类型 | 描述 | 默认值 | 是否必填 |
|---|---|---|---|---|
JOIN_MANAGER_PROTOCOL | string | Wazuh REST API 连接协议(http 或 https) | https | 是 |
JOIN_MANAGER_MASTER_HOST | string | Wazuh 主服务器 IP 或域名(用于 REST API 调用) | None | 是 |
JOIN_MANAGER_WORKER_HOST | string | Wazuh 工作节点 IP 或域名(用于 Agent 通信),单机部署时与 JOIN_MANAGER_MASTER_HOST 相同 | None | 是 |
JOIN_MANAGER_USER | string | Wazuh API 认证用户名 | None | 是 |
JOIN_MANAGER_PASSWORD | string | Wazuh API 认证密码 | None | 是 |
JOIN_MANAGER_API_PORT | string | Wazuh API 监听端口 | 55000 | 是 |
JOIN_MANAGER_PORT | string | Agent 与服务器通信端口 | 1514 | 是 |
NODE_NAME | string | 节点名称,未指定时使用系统环境变量 HOSTNAME | None | 否 |
VIRUS_TOTAL_KEY | string | VirusTotal 集成 API 密钥 | None | 否 |
WAZUH_GROUPS | string | Agent 自动加入的组(逗号分隔) | default | 否 |
WAZUH_WAIT_TIME | string | 启动前等待时间(秒) | 10 | 否 |
shelldocker run --rm opennix/wazuh-agent:latest
bashdocker run -d --name wazuh-agent \ -v /:/rootfs:ro \ # 只读挂载主机根目录,用于完整性监控 --net host \ # 使用主机网络,确保 Agent 能与服务器通信 --hostname ${HOSTNAME} \ # 设置容器主机名 -e JOIN_MANAGER_MASTER_HOST=172.17.0.1 \ # Wazuh 主服务器 IP -e JOIN_MANAGER_WORKER_HOST=172.17.0.1 \ # Wazuh 工作节点 IP -e JOIN_MANAGER_USER=api-user \ # Wazuh API 用户名 -e JOIN_MANAGER_PASSWORD=api-pass \ # Wazuh API 密码 -v /etc/os-release:/etc/os-release \ # 挂载主机 OS 信息 -v /var/run/docker.sock:/var/run/docker.sock \ # 监控 Docker 容器 opennix/wazuh-agent:latest
shelldocker compose -f tests/single-node/generate-indexer-certs.yml run --rm generator
shelldocker compose up -d
Makefile 提供快捷命令,支持构建、运行、推送镜像等操作:
shellmake help # 查看命令帮助 make build-minideb # 构建基于 Minideb 的 Agent 镜像 make build-amazon-linux # 构建基于 Amazon Linux 的 Agent 镜像 make build-ubuntu # 构建基于 Ubuntu 的 Agent 镜像 make docker-run # 运行 Minideb 版本的 Agent 容器 make docker-push-minideb # 推送 Minideb 镜像到仓库 make docker-push-amazon-linux # 推送 Amazon Linux 镜像到仓库 make docker-push-ubuntu # 推送 Ubuntu 镜像到仓库 make run-local # 启动包含所有 Agent 类型的本地 Docker Compose 栈
在 wazuh-daemon-sets.yaml 中设置环境变量,示例:
yamlenv: - name: JOIN_MANAGER_MASTER_HOST value: "wazuh.wazuh.svc.cluster.local" # Wazuh 服务器集群内域名 - name: JOIN_MANAGER_WORKER_HOST value: "wazuh-workers.wazuh.svc.cluster.local" # Wazuh 工作节点域名 - name: JOIN_MANAGER_PROTOCOL value: "https" - name: NODE_NAME valueFrom: fieldRef: fieldPath: spec.nodeName # 自动获取节点名称 - name: JOIN_MANAGER_USER valueFrom: secretKeyRef: name: wazuh-api-cred # 从 Secret 获取 API 用户名 key: username - name: JOIN_MANAGER_PASSWORD valueFrom: secretKeyRef: name: wazuh-api-cred # 从 Secret 获取 API 密码 key: password - name: JOIN_MANAGER_API_PORT value: "55000" - name: JOIN_MANAGER_PORT value: "1514"
shellkubectl apply -f wazuh-daemon-sets.yaml # 部署到 wazuh 命名空间
默认构建 Wazuh Agent v4.3.10-1:
bashdocker build . -t wazuh-agent:latest
bashdocker build -f images/Dockerfile.amazonlinux . -t wazuh-agent:amazonlinux
bashdocker build -f images/Dockerfile.ubuntu . -t wazuh-agent:ubuntu
通过 --build-arg AGENT_VERSION 指定版本,例如构建 v4.4.5-1:
bashdocker build . -t wazuh-agent:4.4.5 --build-arg AGENT_VERSION=4.4.5-1
:ro),避免 Agent 对主机系统造成意外修改。本软件由版权持有人及贡献者按"原样"提供,不承担任何明示或暗示的担保,包括但不限于适销性和特定用途适用性的暗示担保。在任何情况下,版权持有人或贡献者均不对任何直接、间接、偶然、特殊、惩戒性或后果性损害(包括但不限于替代商品或服务的采购;使用、数据或利润损失;或业务中断)承担责任,无论其原因如何,也无论责任理论如何(合同、严格责任或侵权(包括疏忽或其他)),即使已被告知此类损害的可能性。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429