opennix/wazuh-agent-amazonlinuxWazuh 是一款免费、开源且企业级的安全监控解决方案,用于威胁检测、完整性监控、事件响应和合规性管理。本 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 管理。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务