Wazuh Agent 是安裝在端點裝置上的程式,可以部署在伺服器、個人電腦或其他需要監控的系統中。
Agent 主要負責收集端點產生的資訊,例如:
整個資料傳遞方式可以簡化成:
被監控裝置
│
▼
Wazuh Agent
│
│ 收集並傳送資料
▼
Wazuh Server
│
│ 分析安全事件
▼
Wazuh Dashboard
例如某台 Linux 主機發生多次登入失敗:
Linux 發生登入失敗
↓
Agent 收集登入紀錄
↓
傳送給 Wazuh Server
↓
Server 套用規則進行分析
↓
產生 Security Alert
↓
Dashboard 顯示事件
之後實際進行攻擊偵測時,就會利用這個流程觀察安全事件。
今天會在另一台 Linux 主機安裝 Agent,並連線到昨天建立的 Wazuh Server。
| 裝置 | 功能 | 安裝元件 |
|---|---|---|
| Wazuh Server | 接收與分析資料 | Wazuh Server |
| Linux Client | 被監控裝置 | Wazuh Agent |
完成後的架構如下:
Linux Client
192.168.x.x
Wazuh Agent
│
│
▼
Wazuh Server
192.168.x.x
│
▼
Wazuh Dashboard
這裡的 IP 位址請依照自己的實驗環境修改。
登入 Wazuh Dashboard 後,可以透過 Agent 部署功能新增裝置。
進入 Agent 管理或部署頁面後,選擇要安裝 Agent 的作業系統。
例如今天使用 Linux,就選擇:
Linux
接著選擇對應的 Linux 發行版與套件格式。
常見的選擇包括:
| Linux 系統 | 套件 |
|---|---|
| Ubuntu | DEB |
| Debian | DEB |
| CentOS | RPM |
| Rocky Linux | RPM |
| AlmaLinux | RPM |
如果使用 Ubuntu,就選擇 DEB amd64。
接著需要指定 Agent 要連線的 Wazuh Server。
假設 Server IP 為:
192.168.1.100
那麼 Agent 就必須知道資料要傳送到這個位置。
Dashboard 產生的安裝指令通常會包含 Manager 的 IP,例如:
WAZUH_MANAGER="192.168.1.100"
這裡最重要的是:
不要直接照抄範例 IP,要改成自己的 Wazuh Server IP。
如果 IP 設定錯誤,即使 Agent 安裝成功,也無法正常與 Server 建立連線。
完成設定後,Dashboard 會產生對應的安裝指令。
以 Ubuntu 為例,會看到類似:
wget https://packages.wazuh.com/4.x/apt/pool/main/w/wazuh-agent/wazuh-agent_x.x.x-1_amd64.deb
下載完成後安裝:
sudo WAZUH_MANAGER="192.168.1.100" dpkg -i ./wazuh-agent_x.x.x-1_amd64.deb
其中:
192.168.1.100
要換成自己的 Wazuh Server IP。
另外,Wazuh 版本更新後,實際套件版本與指令可能有所不同,因此實作時以 Dashboard 自動產生的指令為主。
安裝完成後,需要啟動 Agent。
首先重新載入 systemd:
sudo systemctl daemon-reload
設定開機自動啟動:
sudo systemctl enable wazuh-agent
接著啟動:
sudo systemctl start wazuh-agent
可以使用以下指令查看目前狀態:
sudo systemctl status wazuh-agent
如果正常運作,應該可以看到:
Active: active (running)
代表 Agent 已經成功啟動。
Agent 啟動後,回到 Wazuh Dashboard 查看 Agent 清單。
正常情況下,剛才新增的裝置應該會出現在列表中。
常見狀態包括:
| 狀態 | 意義 |
|---|---|
| Active | Agent 正常連線 |
| Disconnected | 曾連線,但目前中斷 |
| Pending | 尚未完成連線 |
| Never connected | 從未成功連線 |
今天最希望看到的就是:
Active
這代表:
Agent 安裝完成
↓
Agent 成功啟動
↓
連線 Wazuh Server
↓
Server 接收到 Agent
↓
Dashboard 顯示 Active
到這裡,第一台被監控裝置就正式加入 Wazuh。
如果 Dashboard 沒有出現 Agent,或狀態不是 Active,可以先從幾個地方檢查。
sudo systemctl status wazuh-agent
確認 Agent 設定的 Manager 位址是否為正確的 Wazuh Server IP。
可以先測試 Client 是否能連到 Server:
ping <Wazuh Server IP>
例如:
ping 192.168.1.100
如果兩台主機完全無法互相連線,就需要先檢查虛擬機網路設定、防火牆或 IP 設定。
如果服務有啟動,但仍然無法連線,可以查看:
sudo tail -f /var/ossec/logs/ossec.log
這個 Log 可以協助判斷 Agent 是否有連線錯誤、設定錯誤或其他問題。
完成今天的設定後,我們的 Wazuh 環境不再只有 Server,而是正式加入第一台被監控的端點。
目前架構變成:
Wazuh Agent
│
│ Security Data
▼
Wazuh Server
│
▼
Wazuh Dashboard
接下來只要端點產生事件,Agent 就能將相關資料送到 Server。
也就是說,從今天開始,我們已經具備實際進行端點安全監控的基本條件。