昨天已經完成 Wazuh Agent 的安裝,今天不再重複安裝步驟,而是確認 Agent 是否真的有成功與 Wazuh Server 建立連線,並從 Dashboard 查看目前受監控的主機。
安裝完成並不代表 Agent 一定能正常傳送資料。
Wazuh Agent 必須與 Wazuh Manager 保持連線,才能將系統事件、日誌與安全資訊傳送到 Server 進行分析。
常見的 Agent 狀態如下:
| 狀態 | 說明 |
|---|---|
| Active | Agent 已正常連線 |
| Disconnected | Agent 曾經連線,但目前已中斷 |
| Pending | Agent 正等待 Manager 回應 |
| Never connected | Agent 尚未成功連線過 |
今天的目標就是讓昨天安裝的 Linux Agent 顯示為:
Active
回到安裝 Wazuh Agent 的 Linux 主機,輸入:
sudo systemctl status wazuh-agent
如果服務正常,應該可以看到:
Active: active (running)
代表 Wazuh Agent 程序目前正在執行。
除了確認服務有沒有啟動,也可以查看 Wazuh Agent 本身記錄的連線狀態。
輸入:
sudo grep ^status /var/ossec/var/run/wazuh-agentd.state
如果正常連線,應該會出現:
status='connected'
這代表 Agent 已經成功收到 Wazuh Manager 的連線確認。
如果顯示:
status='pending'
代表正在等待 Manager 回應。
如果顯示:
status='disconnected'
則表示 Agent 目前無法正常與 Manager 通訊。
接著也可以從 Wazuh Server 主動確認目前有哪些 Agent。
在 Server 輸入:
sudo /var/ossec/bin/agent_control -l
這個指令會列出目前已註冊的 Agent。
正常情況可能會看到類似:
Wazuh agent_control. List of available agents:
ID: 000, Name: wazuh-server, IP: 127.0.0.1, Active/Local
ID: 001, Name: ubuntu-agent, IP: any, Active
其中:
ID: 001
代表 Agent 的編號。
而:
Active
代表它目前已經成功與 Server 連線。
如果只想查看特定 Agent,例如 ID 為 001,可以輸入:
sudo /var/ossec/bin/agent_control -i 001
就可以看到更詳細的 Agent 資訊。
接下來開啟瀏覽器並登入之前建置好的 Wazuh Dashboard。
進入:
Agents management
↓
Summary
在這裡可以看到目前所有加入 Wazuh 的端點。
昨天安裝好的 Linux 主機應該會出現在清單中。
主要可以觀察:
| 項目 | 功能 |
|---|---|
| Agent ID | 每台 Agent 的識別編號 |
| Name | Agent 主機名稱 |
| IP | Agent 使用的 IP 位址 |
| Operating system | 主機作業系統 |
| Version | Wazuh Agent 版本 |
| Status | Agent 目前連線狀態 |
最重要的是:
Status:Active
如果顯示 Active,就代表第一台受監控主機已經正式加入目前的 Wazuh 環境。
目前的環境可以簡化成:
Linux Client
│
│ Wazuh Agent
│
│ TCP 1514
▼
Wazuh Manager
│
▼
分析與產生安全事件
│
▼
Wazuh Indexer
│
▼
Wazuh Dashboard
其中 Agent 預設會透過:
TCP 1514
將資料傳送到 Wazuh Manager。
所以即使 Agent 本身正常執行,如果網路、防火牆或 Server 設定有問題,也可能無法成功連線。
在 Agent 主機上,可以進一步確認是否有建立到 Manager 的 TCP 連線。
例如:
sudo ss -tnp | grep 1514
如果連線正常,可能會看到類似:
ESTAB 0 0 192.168.1.20:xxxxx 192.168.1.10:1514
其中:
192.168.1.20
代表 Agent。
192.168.1.10:1514
代表 Wazuh Manager。
而:
ESTAB
表示 TCP 連線目前已建立。
如果 Dashboard 中 Agent 顯示:
Disconnected
或:
Never connected
可以依序檢查以下項目:
| 檢查項目 | 指令或方式 |
|---|---|
| Agent 是否啟動 | sudo systemctl status wazuh-agent |
| Agent 是否 connected | 查看 wazuh-agentd.state |
| Manager IP 是否正確 | 檢查 Agent 設定 |
| 1514 Port 是否可連線 | 檢查網路與防火牆 |
| Agent 錯誤訊息 | 查看 /var/ossec/logs/ossec.log |
| Server 是否看到 Agent | agent_control -l |
也可以查看 Agent 的日誌:
sudo tail -f /var/ossec/logs/ossec.log
如果 Agent 無法連線,通常可以從這裡找到相關錯誤訊息。
完成今天的測試後,目前實驗環境已經從「只有 Wazuh Server」進一步變成:
┌─────────────────────┐
│ Wazuh Server │
│ Manager │
│ Indexer │
│ Dashboard │
└─────────┬───────────┘
│
│ TCP 1514
│
┌─────────▼───────────┐
│ Linux Client │
│ Wazuh Agent │
│ Status: Active │
└─────────────────────┘
也就是說,現在已經有真正的 Endpoint 可以被 Wazuh 監控,而不再只是單獨運作的 Server。
之後產生在這台 Linux 主機上的部分系統事件與安全事件,就能透過 Agent 傳送給 Wazuh Manager 進行分析。