在 CentOS 7 佈署 Wazuh Agent
兩種安裝方式(yum/rpm)、常見錯誤對照,以及裝好後如何產生告警。以下指令皆在 CentOS 7.6、Wazuh manager 4.2.7 上實測過。
實習環境
| 角色 | 系統 | 說明 |
|---|---|---|
| Wazuh manager | Wazuh 4.2.7(OVA) | IP 例:192.168.0.35;需開放 1514(資料)、1515(註冊)埠 |
| 被監控主機 | CentOS 7(x86_64) | 以 root 操作;可連到 manager 與 packages.wazuh.com |
先記住:agent 版本必須小於或等於 manager 版本,否則無法連線。下列指令請把 IP、版本換成自己的環境。
A方式一:用 yum 安裝(建議)
A-1 修正 CentOS 7 的 yum 來源
CentOS 7 已停止維護,預設的 mirrorlist.centos.org 已無法解析,yum 會直接報錯 Cannot find a valid baseurl for repo: base/7/x86_64。把來源改到 vault:
sed -i -e 's|^mirrorlist=|#mirrorlist=|' \
-e 's|^#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|' \
/etc/yum.repos.d/CentOS-*.repo
yum clean all
yum repolist
成功時 repolist 會列出 base、extras、updates(各數千個套件)。
A-2 加入 Wazuh repo
cat > /etc/yum.repos.d/wazuh.repo << EOF
[wazuh]
gpgcheck=1
gpgkey=https://packages.wazuh.com/key/GPG-KEY-WAZUH
enabled=1
name=EL-\$releasever - Wazuh
baseurl=https://packages.wazuh.com/4.x/yum/
protect=1
EOF
\$releasever 的反斜線不能省,否則 shell 會先展開成空字串。
A-3 安裝(指定版本與 manager)
WAZUH_MANAGER="192.168.0.35" WAZUH_AGENT_NAME="centos7" yum install -y wazuh-agent-4.2.7
WAZUH_MANAGER:寫進/var/ossec/etc/ossec.conf,並自動向 manager 註冊。WAZUH_AGENT_NAME:agent 在 dashboard 顯示的名稱;多台機器請取不同名字。-y:自動同意匯入 Wazuh 金鑰(gpgcheck=1第一次會詢問)。
B方式二:直接用 rpm 安裝(不依賴 yum)
yum 來源有問題、或想快速安裝時使用:
cd /tmp
curl -O https://packages.wazuh.com/4.x/yum/wazuh-agent-4.2.7-1.x86_64.rpm
WAZUH_MANAGER=192.168.0.35 WAZUH_AGENT_NAME=centos7 rpm -ivh wazuh-agent-4.2.7-1.x86_64.rpm
出現 NOKEY 簽章警告屬正常;要消除可先執行 rpm --import https://packages.wazuh.com/key/GPG-KEY-WAZUH。
C啟動並驗證
systemctl daemon-reload
systemctl enable wazuh-agent
systemctl start wazuh-agent
systemctl status wazuh-agent
grep status /var/ossec/var/run/wazuh-agentd.state
tail /var/ossec/logs/ossec.log
應看到 status='connected',日誌出現 Connected to the server (192.168.0.35:1514/tcp)。再到 dashboard 的 Agents 頁面確認為 Active。
D常見寫法對照:錯在哪?
| 常見寫法 | 問題 | 正確做法 |
|---|---|---|
WAZUH_MANAGER=“ServerIP"錯 | 開頭是全形引號 “,shell 不認得,值會變成錯誤字串;ServerIP 也只是佔位字,沒換成實際 IP | 用半形 ",並填實際 IP:WAZUH_MANAGER="192.168.0.35"對 |
yum install wazuh-agent錯 | 沒指定版本,會裝 repo 裡最新版(實測為 4.14.9),比 4.2.7 的 manager 新,連不上 | 指定與 manager 相同的版本:yum install -y wazuh-agent-4.2.7對 |
直接加 Wazuh repo 後就 yum install漏步驟 | CentOS 7 預設的 base/updates 來源已失效,yum 整個中止,連 Wazuh repo 也無法使用 | 先做 A-1 的 vault 修正,再安裝 對 |
沒有加 -y卡住 | 第一次安裝會詢問是否匯入 GPG 金鑰,自動化腳本會停在這裡 | 加 -y,或先 rpm --import https://packages.wazuh.com/key/GPG-KEY-WAZUH對 |
用 heredoc 寫 repo 時漏掉 \$releasever 的反斜線錯 | 變數被 shell 展開成空字串,repo 名稱變成 EL- - Wazuh | 保留 \$releasever對 |
其餘寫法(protect=1、baseurl=…/4.x/yum/、daemon-reload → enable → start 三步驟、環境變數寫在 yum install 前面)原本就是正確的。
E其他問題排除
| 現象 | 檢查方向 |
|---|---|
| agent 連不上 manager | 防火牆與路由;agent 要能連 manager 的 1514、1515 埠 |
| 版本不相容 | agent 版本不可高於 manager;改裝相同或較舊版本 |
| manager 要求註冊密碼 | 安裝時加 WAZUH_REGISTRATION_PASSWORD=密碼 |
| dashboard 的名稱不是想要的 | 名稱在註冊時就固定了,之後改主機名稱不會變。重新註冊:停止 agent → 刪除 /var/ossec/etc/client.keys → /var/ossec/bin/agent-auth -m 192.168.0.35 -A 新名稱 → 啟動 agent;manager 端再刪除舊 agent |
F課堂練習:產生告警並觀察
在被監控主機上執行下列動作,然後到 dashboard 的 Security events 篩選該 agent(時間設最近 15 分鐘)。
| 動作 | 預期告警 |
|---|---|
| 從別台機器用錯誤密碼 SSH 登入數次 | sshd: authentication failed;多次失敗後出現 Multiple authentication failures(暴力破解,MITRE T1110) |
useradd demo | New user added to the system |
usermod -aG wheel demo | Group changed、User added to group |
su 輸入錯誤密碼 | User missed the password to change UID to root |
userdel -r demo | User account deleted |
想觀察檔案完整性監控(FIM):預設是定時掃描,需對測試目錄設定即時監控後,修改檔案才會馬上產生告警。
安全提醒:實習用的 root 密碼不要沿用到正式環境,課後請更換;只對自己的實習主機進行登入失敗等測試。