部署wazuh实现对多台 Ubuntu 主机进行集中监控

对多台 Ubuntu 主机（例如 Ubuntu 18.04）进行集中监控，同时实现 **主机入侵检测（HIDS）** 和 **行为监控**，以下是一个轻量级、实用的集中监控方案，适用于中小型企业： 

 ### ✅ 方案目标 

 * 实现主机入侵检测（Host-based IDS） * 实现进程、登录、系统变更等行为监控 * 支持集中化日志采集与统一展示 * 成本低、依赖少，易于部署和维护 

 ## 🧩 架构组件 

 | 角色                  | 工具                                                | 说明                           | | ------------------- | ------------------------------------------------- | ---------------------------- | | Agent（每台 Ubuntu 主机） | [Wazuh Agent](https://documentation.wazuh.com)    | 实时监控主机安全事件（文件完整性、登录、root提权等） | | 集中服务器               | Wazuh Manager + Filebeat + Elasticsearch + Kibana | 管理所有 Agent 数据，并提供可视化界面       | | 日志转发                | Filebeat                                          | 将日志高效传输至 Elasticsearch       | | 可选轻量级替代             | [OSSEC](https://www.ossec.net/) + Graylog         | 更轻的方案，但功能相对简单                | 

 --- 

 ## 🛠️ 部署简要步骤 

 ### 1. 安装 Wazuh Server（集中监控端） 

 部署在一台专用 Ubuntu 主机（建议 ≥4C/8G） 

 cp /etc/apt/sources.list /etc/apt/sources.list.bak 

 cat > /etc/apt/sources.list << EOF deb https://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb-src https://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb https://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb-src https://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb https://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb-src https://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb https://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse deb-src https://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse EOF 

 apt update && apt upgrade -y 

 ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime &&\ apt-get install ntpdate -y &&\ if ! crontab -l | grep "ntpdate" &>/dev/null; then     (echo "*/5 * * * * /usr/sbin/ntpdate ntp.aliyun.com >/dev/null 2>&1"; crontab -l) | crontab fi 

 linux系统通过代理上网 vi ~/.bashrc 在文件末尾添加以下内容 cat >> ~/.bashrc << EOF export http_proxy="http://192.168.8.5:1080" export https_proxy="http://192.168.8.5:1080" export ftp_proxy="http://192.168.8.5:1080" export no_proxy="localhost,127.0.0.1,::1" EOF 保存关闭 source ~/.bashrc sudo vi /etc/apt/apt.conf.d/95proxies 添加以下内容： Acquire::http::Proxy "http://192.168.8.5:1080"; Acquire::https::Proxy "http://192.168.8.5:1080"; Acquire::ftp::Proxy "http://192.168.8.5:1080"; 

 在系统级别配置代理，以便所有应用程序都使用代理服务器 sudo vi /etc/environment http_proxy="http://192.168.8.5:1080" https_proxy="http://192.168.8.5:1080" ftp_proxy="http://192.168.8.5:1080" no_proxy="localhost,127.0.0.1,::1" 保存关闭 sudo reboot 

 http_proxy="http://10.2.2.24:1080" https_proxy="http://10.2.2.24:1080" ftp_proxy="http://10.2.2.24:1080" no_proxy="localhost,127.0.0.1,::1" 

 如果你还需要Docker通过代理上网，可以通过以下步骤配置Docker代理。 创建Docker的systemd目录（如果不存在）： sudo mkdir -p /etc/systemd/system/docker.service.d sudo vi /etc/systemd/system/docker.service.d/http-proxy.conf 添加以下内容： [Service] Environment="HTTP_PROXY=http://192.168.8.5:1080" Environment="HTTPS_PROXY=http://192.168.8.5:1080" Environment="NO_PROXY=localhost,127.0.0.1,::1" 保存关闭 sudo systemctl daemon-reload sudo systemctl restart docker 

 curl -sO https://packages.wazuh.com/4.12/wazuh-install.sh && sudo bash ./wazuh-install.sh -a 

 在 Wazuh 4.x（包括你安装的 4.12.0）中，`admin` 是一个系统保留账户，不允许通过 Web 界面或 API 直接重设密码。 

 ## ✅ 正确的解决方法： 

 ### 🛠 方法一：在命令行重置 `admin` 密码 

 你可以在 **Wazuh Dashboard 所在的主机上**运行以下命令来重置密码： 

 ```bash /usr/share/wazuh-indexer/plugins/opensearch-security/tools/wazuh-passwords-tool.s reset-admin ``` 

 这将： 

 * 生成一个新密码 * 输出密码（请记得保存） 

 ### 🛠 方法二：手动设置密码（推荐） 

 ```bash /usr/share/wazuh-indexer/plugins/opensearch-security/tools/wazuh-passwords-tool.sh --user admin --password 新密码 ``` 

 例如： 

 /usr/share/wazuh-indexer/plugins/opensearch-security/tools/wazuh-passwords-tool.sh --user admin --password Heli@147369. 

 执行后会看到提示密码修改成功。 

 ## ✅ 修改后重启 Wazuh Dashboard（可选） 

 如果你登录仍有问题，可重启 Dashboard 服务： 

 systemctl restart wazuh-dashboard 

 安装agent 

 官方方法：在ubuntu20.04 18.04 14.04上测试通过 

 wget https://packages.wazuh.com/4.x/apt/pool/main/w/wazuh-agent/wazuh-agent_4.12.0-1_amd64.deb && sudo WAZUH_MANAGER='10.2.2.16' WAZUH_AGENT_NAME='ubuntu20.04-2.18' dpkg -i ./wazuh-agent_4.12.0-1_amd64.deb 

 10.2.2.16 替换为 wazuh server端ip地址 

 ubuntu20.04-2.18 替换为该agent的名称 

 sudo systemctl daemon-reload &&\ sudo systemctl enable wazuh-agent &&\ sudo systemctl start wazuh-agent 

 其他方法，在ubuntu14.04上测试通过 curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | gpg --no-default-keyring --keyring gnupg-ring:/usr/share/keyrings/wazuh.gpg --import && chmod 644 /usr/share/keyrings/wazuh.gpg echo "deb [signed-by=/usr/share/keyrings/wazuh.gpg] https://packages.wazuh.com/4.x/apt/ stable main" | tee -a /etc/apt/sources.list.d/wazuh.list apt-get update apt-get install gnupg apt-transport-https curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | apt-key add - echo "deb https://packages.wazuh.com/4.x/apt/ stable main" | tee -a /etc/apt/sources.list.d/wazuh.list WAZUH_MANAGER="192.168.30.49" apt-get install wazuh-agent 

 ubuntu安装客户端 service wazuh-agent start 

 service wazuh-agent status wazuh-modulesd is running... wazuh-logcollector is running... wazuh-syscheckd is running... wazuh-agentd is running... wazuh-execd is running... 

 卸载方法： 1. 停止 agent 服务（可选但推荐）： 

 sudo systemctl stop wazuh-agent 

 2. 卸载 wazuh-agent： 

 sudo apt-get remove --purge wazuh-agent -y 

 3. 删除相关配置文件（可选，如果你想彻底清除）： 

 sudo rm -rf /var/ossec sudo rm -rf /etc/ossec-init.conf sudo rm -rf /etc/systemd/system/wazuh-agent.service 

 4. 更新 systemd（可选）： 

 sudo systemctl daemon-reload 

 ## ✅ 修改 agent 名称的正确方式 

 Wazuh agent 的名称保存在配置文件中，你可以按以下步骤修改： 

 ### 1. 停止 agent 服务 

 ```bash sudo systemctl stop wazuh-agent ``` 

 ### 2. 修改配置文件 `/var/ossec/etc/ossec.conf` 

 找到如下配置段落（大约在前几十行）： 

 ```xml <client>   <name>ubuntu14.04-2.14</name>   <server-ip>10.2.2.16</server-ip> </client> ``` 

 将 `<name>` 修改为你想要的新名称，例如： 

 ```xml <client>   <name>ubuntu14.04-new</name>   <server-ip>10.2.2.16</server-ip> </client> ``` 

 保存退出。 

 --- 

 ### 3. 删除旧的 `client.keys` 条目（可选，若你在 manager 上要重配） 

 登录 Wazuh Manager，然后运行： 

 ```bash /var/ossec/bin/manage_agents ``` 

 选择： 

 * `R` 删除旧名称对应的 agent * `A` 添加新名称 * `E` 保存并分发 key，得到以下这串字符 

 MDA0IHVidW50dTE0LjA0LWNjaW90LTIuMTQgMTAuMi4yLjE0IDEwMjJiY2U2N2ViNGY2MmYzMTAzZGZjNTFlZWMzYzBhNjE1ZjI1ZGNmNzU4ZGRlNjRiMmZjMmY3MWMxMGI1ZWM= 

 到 agent 端运行： 

 /var/ossec/bin/manage_agents 

 选 I ，粘贴key  上面那串字符 

 ### 4. 重启 agent 服务 

 ```bash sudo systemctl start wazuh-agent ``` 

 --- 

 ### ✅ 验证新名称是否生效 

 查看 agent 日志： 

 ```bash sudo tail -f /var/ossec/logs/ossec.log ``` 

 你应该能看到类似如下内容： 

 ``` ossec-agent: INFO: Using agent name as configured: 'ubuntu14.04-new' ``` 

 在 Wazuh Manager UI 中刷新 agent 列表，也应能看到新名称。