檔案完整性監控(File Integrity Monitoring,FIM)是一種資安防護技術,主要用於偵測系統中重要檔案或目錄是否遭到未授權修改。
Wazuh 透過 Syscheck 模組,可以持續監控指定檔案,當檔案發生新增、修改或刪除時,便會產生對應的安全事件。
常見應用包括:
Wazuh FIM 主要透過以下步驟進行監控:
本次以 Linux 系統為例,示範如何設定 Wazuh Agent 監控指定目錄。
步驟 1:編輯 Agent 設定檔
開啟設定檔:
sudo nano /var/ossec/etc/ossec.conf
找到 區塊,在其中加入:
<directories realtime="yes" check_all="yes">/home/ubuntu/test</directories>
參數說明:
| 參數 | 功能 |
|---|---|
directories |
指定監控目錄 |
realtime="yes" |
啟用即時監控 |
check_all="yes" |
啟用多項檔案屬性檢查 |
注意:/home/ubuntu/test 為示範路徑,請依實際環境調整,並確保目錄存在。即時監控需要作業系統支援,Linux 通常使用 inotify。
步驟 2:重新啟動 Wazuh Agent
sudo systemctl restart wazuh-agent
重新啟動後,Agent 便會依照設定監控指定目錄。
為了確認 FIM 是否正常運作,可以進行以下測試。
echo "Wazuh FIM Test" > /home/ubuntu/test/demo.txt
echo "Modified Content" >> /home/ubuntu/test/demo.txt
rm /home/ubuntu/test/demo.txt
上述操作分別模擬檔案新增、修改及刪除。
如果監控設定正確,Wazuh 就能偵測這些變化並產生相關事件。
登入 Wazuh Dashboard,進入 File Integrity Monitoring 相關頁面,選擇對應的 Agent,即可查看檔案異動紀錄。
也可以在事件搜尋介面中使用條件:
rule.groups: syscheck
常見的事件資訊包括:
| 欄位 | 說明 |
|---|---|
agent.name |
發生事件的 Agent |
syscheck.path |
異動檔案路徑 |
syscheck.event |
檔案異動類型 |
syscheck.sha256_after |
修改後的 SHA-256 雜湊值(若有) |
rule.description |
安全事件描述 |
timestamp |
事件發生時間 |
透過這些資訊,管理員可以快速確認哪些檔案遭到修改,以及異動發生的時間。
假設企業網站的網頁檔案遭到攻擊者竄改,攻擊者可能修改首頁內容或植入惡意 JavaScript。
若事先使用 Wazuh 監控網站目錄:
<directories realtime="yes" check_all="yes">/var/www/html</directories>
當網站檔案被修改時,Wazuh 便能偵測異動並產生警報,協助管理員及早調查。
不過,FIM 只能確認檔案發生變化,不能單憑異動事件判定一定遭到攻擊,仍需要結合其他日誌及安全事件進行分析。
| 項目 | 說明 |
|---|---|
| 優點 | 能快速發現重要檔案異動 |
| 優點 | 支援定期掃描與即時監控 |
| 優點 | 可搭配 Wazuh 規則產生警報 |
| 限制 | 大量檔案異動可能產生許多事件 |
| 限制 | 無法直接判斷修改行為是否惡意 |
| 限制 | 需要合理設定監控範圍以降低系統負擔 |