Wazuh Docker 部署

用途

您可以将 Wazuh 部署为单节点或多节点堆栈:

  • 单节点部署:部署一个 Wazuh 管理节点、索引节点和仪表盘节点。
  • 多节点部署:部署两个 Wazuh 管理节点(一个主节点和一个工作节点)、三个 Wazuh 索引节点和一个 Wazuh 仪表盘节点。

两种部署都支持数据持久化,并允许配置证书以保障节点间通信安全。多节点堆栈 提供高可用性。


单节点部署

  1. 进入 single-node 目录,在该目录中执行以下操作。
  2. 为每个集群节点提供证书,以便安全通信。提供证书有两种方法:

克隆 Wazuh 仓库至您的系统

git clone https://github.com/wazuh/wazuh-docker.git -b v4.9.2

方法一:生成自签名证书

Wazuh 提供一个 Docker 镜像来自动生成证书。

执行以下命令生成证书:

docker-compose -f generate-indexer-certs.yml run --rm generator

证书将保存至 config/wazuh_indexer_ssl_certs 目录中。

完整示例:

# Wazuh App 版权所有 (C) 2017 Wazuh Inc. (GPLv2 许可)
version: '3'

services:
  generator:
    image: wazuh/wazuh-certs-generator:0.0.2
    hostname: wazuh-certs-generator
    volumes:
      - ./config/wazuh_indexer_ssl_certs/:/certificates/
      - ./config/certs.yml:/config/certs.yml
    environment:
      - HTTP_PROXY=您的代理地址或 DNS  

如果您的系统使用代理,请在 generate-indexer-certs.yml 文件中添加以下内容:

environment:
  - HTTP_PROXY=您的代理地址或 DNS  

方法二:提供自有证书

如果您已有证书,将其放置到以下路径:

Wazuh 仪表盘

config/wazuh_indexer_ssl_certs/wazuh.dashboard.pem  
config/wazuh_indexer_ssl_certs/wazuh.dashboard-key.pem  
config/wazuh_indexer_ssl_certs/root-ca.pem  

Wazuh 管理节点

config/wazuh_indexer_ssl_certs/root-ca-manager.pem  
config/wazuh_indexer_ssl_certs/wazuh.manager.pem  
config/wazuh_indexer_ssl_certs/wazuh.manager-key.pem  

Wazuh 索引节点

config/wazuh_indexer_ssl_certs/root-ca.pem  
config/wazuh_indexer_ssl_certs/wazuh.indexer-key.pem  
config/wazuh_indexer_ssl_certs/wazuh.indexer.pem  
config/wazuh_indexer_ssl_certs/admin.pem  
config/wazuh_indexer_ssl_certs/admin-key.pem  
  1. 启动 Wazuh 单节点部署
    • 用户名:admin
    • 密码:SecretPassword

Wazuh 仪表盘默认用户名和密码

为提高安全性,您可以更改 Wazuh 索引节点的默认密码。

后台运行:

docker-compose up -d

前台运行:

docker-compose up

注意
Wazuh 仪表盘容器在启动时通过多次调用 Wazuh 索引 API 查询是否就绪。您可能会看到多个以下消息,属于正常现象:

  • "Failed to connect to Wazuh indexer port 9200"
  • "Wazuh dashboard server is not ready yet"

索引节点启动大约需要 1 分钟,完成后设置过程将自动继续。


多节点部署

  1. 进入 multi-node 目录,执行以下步骤。
  2. 为每个集群节点生成或提供证书(操作方法与单节点相同)。
  3. 启动 Wazuh 多节点部署
  4. Wazuh 仪表盘默认用户名和密码
    • 用户名:admin
    • 密码:SecretPassword

后台运行:

docker-compose up -d

前台运行:

docker-compose up

克隆 Wazuh 仓库至您的系统

git clone https://github.com/wazuh/wazuh-docker.git -b v4.9.2

构建本地 Docker 镜像

  1. 构建镜像

对于 4.3.5 及以上版本

build-docker-images/build-images.sh

对于 4.3.4 及以前版本

docker-compose build

克隆 Wazuh 仓库

git clone https://github.com/wazuh/wazuh-docker.git -b v4.9.2

更改 Wazuh 用户密码

分两步更改:

  1. 更新配置文件

docker-compose.yml 文件中更新对应的旧密码:

services:
  wazuh.manager:
    environment:
      - INDEXER_PASSWORD=新密码  
  wazuh.dashboard:
    environment:
      - DASHBOARD_PASSWORD=新密码  

打开 config/wazuh_indexer/internal_users.yml 文件,替换相应用户的哈希:

admin:
  hash: "新生成的哈希值"
kibanaserver:
  hash: "新生成的哈希值"

生成新密码的哈希值

docker run --rm -ti wazuh/wazuh-indexer:4.9.2 bash /usr/share/wazuh-indexer/plugins/opensearch-security/tools/hash.sh

输入新密码并复制生成的哈希。

停止部署堆栈

docker-compose down

结束

现在,您已经完成了 Wazuh Docker 单节点或多节点部署的设置及密码更改配置!