資安職能-弱點掃描與入侵偵測 課程教材
講義 · Wazuh

在 CentOS 7 佈署 Wazuh Agent

兩種安裝方式(yum/rpm)、常見錯誤對照,以及裝好後如何產生告警。以下指令皆在 CentOS 7.6、Wazuh manager 4.2.7 上實測過。

實習環境

角色系統說明
Wazuh managerWazuh 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

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 demoNew user added to the system
usermod -aG wheel demoGroup changed、User added to group
su 輸入錯誤密碼User missed the password to change UID to root
userdel -r demoUser account deleted

想觀察檔案完整性監控(FIM):預設是定時掃描,需對測試目錄設定即時監控後,修改檔案才會馬上產生告警。

安全提醒:實習用的 root 密碼不要沿用到正式環境,課後請更換;只對自己的實習主機進行登入失敗等測試。