Wazuh 是一款免费、开源且企业级的安全监控解决方案,用于威胁检测、完整性监控、事件响应和合规性管理。本 Docker 镜像封装了 Wazuh Agent,并集成了自动注册功能,可无缝对接 Wazuh 服务器。该实现不仅可作为独立 Docker 容器运行,还能部署为 Kubernetes DaemonSet,适用于多种环境的安全监控需求。
本软件由版权持有人及贡献者按"原样"提供,不承担任何明示或暗示的担保,包括但不限于适销性和特定用途适用性的默示担保。在任何情况下,版权持有人或贡献者均不对任何直接、间接、偶然、特殊、惩戒性或后果性损害(包括但不限于替代商品或服务的采购;使用、数据或利润损失;或业务中断)承担责任,无论其成因及责任理论如何(无论是合同责任、严格责任还是侵权责任,包括过失或其他),即使已被告知此类损害的可能性。
| 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 |
register_agent.py: 用于 Docker 代理的自动注册脚本cleanup_agents.py: 清理超过 N 天未连接或从未连接的代理脚本deregister_agent.py: 代理注销脚本| 名称 | 类型 | 描述 | 默认值 | 是否必填 |
|---|---|---|---|---|
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 地址或域名(用于代理连接),若为单机部署则与 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 | Wazuh 服务器与代理通信的端口 | 1514 | 是 |
NODE_NAME | string | 节点名称,若未指定则使用系统环境变量 HOSTNAME | None | 否 |
VIRUS_TOTAL_KEY | string | VirusTotal 集成的 API 密钥 | None | 否 |
WAZUH_GROUPS | string | 代理自动加入的组名称(多个组用逗号分隔) | default | 否 |
WAZUH_WAIT_TIME | string | 等待时间(秒) | 10 | 否 |
shelldocker run --rm opennix/wazuh-agent:latest
bashdocker run -d --name wazuh-agent \ -v /:/rootfs:ro \ --net host \ --hostname ${HOSTNAME} \ -e JOIN_MANAGER_MASTER_HOST=172.17.0.1 \ -e JOIN_MANAGER_WORKER_HOST=172.17.0.1 \ -e JOIN_MANAGER_USER=user \ -e JOIN_MANAGER_PASSWORD=test123 \ -e JOIN_MANAGER_API_PORT=55000 \ -e JOIN_MANAGER_PORT=1514 \ -e WAZUH_GROUPS=default,linux \ -v /etc/os-release:/etc/os-release \ -v /var/run/docker.sock:/var/run/docker.sock \ opennix/wazuh-agent:latest
shelldocker compose -f tests/single-node/generate-indexer-certs.yml run --rm generator
shelldocker compose up -d
shellmake help # 查看帮助信息 make build-minideb # 构建基于 Minideb 的 Wazuh Agent 镜像 make build-amazon-linux # 构建基于 Amazon Linux 的 Wazuh Agent 镜像 make build-ubuntu # 构建基于 Ubuntu 的 Wazuh Agent 镜像 make docker-run # 运行基于 Minideb 的 Wazuh Agent 容器 make docker-push-minideb # 推送 Minideb 基础镜像到仓库 make docker-push-amazon-linux # 推送 Amazon Linux 基础镜像到仓库 make docker-push-ubuntu # 推送 Ubuntu 基础镜像到仓库 make run-local # 启动包含所有代理的 docker-compose 栈
在 wazuh-daemon-sets.yaml 中设置环境变量,示例:
yamlenv: - name: JOIN_MANAGER_MASTER_HOST value: "wazuh.wazuh.svc.cluster.local" - name: JOIN_MANAGER_WORKER_HOST value: "wazuh-workers.wazuh.svc.cluster.local" - name: JOIN_MANAGER_PROTOCOL value: "https" - name: NODE_NAME valueFrom: fieldRef: fieldPath: spec.nodeName - name: JOIN_MANAGER_USER valueFrom: secretKeyRef: name: wazuh-api-cred key: username - name: JOIN_MANAGER_PASSWORD valueFrom: secretKeyRef: name: wazuh-api-cred key: password - name: JOIN_MANAGER_API_PORT value: "55000" - name: JOIN_MANAGER_PORT value: "1514"
shellkubectl apply -f wazuh-daemon-sets.yaml
(将部署到 wazuh 命名空间)
bashdocker build . -t wazuh-agent:latest
bashdocker build -f images/Dockerfile.amazonlinux . -t wazuh-agent:latest
bashdocker build -f images/Dockerfile.ubuntu . -t wazuh-agent:latest
通过 --build-arg AGENT_VERSION 指定版本,示例:
shelldocker build . -t wazuh-agent:4.4.5-1 --build-arg AGENT_VERSION=4.4.5-1
JOIN_MANAGER_PASSWORD)建议通过 Kubernetes Secrets 或 Docker Secrets 管理。来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 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