檔案完整性監控(File Integrity Monitoring,FIM)是一種用於偵測檔案異常變更的資安技術。
當重要的系統設定檔或應用程式檔案遭到修改時,可能代表正常的系統維護,也可能是攻擊者正在進行未經授權的操作。
Wazuh 的 FIM 功能可以監控以下事件:
Wazuh 提供多種檔案監控模式,可以依照系統需求進行設定。
| 監控模式 | 功能說明 | 適用情境 |
|---|---|---|
| Scheduled Scan | 定期掃描指定檔案或目錄 | 一般系統檢查 |
| Real-time Monitoring | 持續偵測檔案變更 | 重要設定檔監控 |
| Who-data Monitoring | 記錄造成變更的使用者與程序等資訊 | 事件調查與稽核 |
其中,Real-time Monitoring 可以在檔案發生變更時快速偵測事件,而 Who-data Monitoring 則可以提供更詳細的變更來源資訊。
本次以 Linux 系統為範例,建立一個測試目錄,並設定 Wazuh 進行即時監控。
步驟一:建立測試目錄
sudo mkdir -p /home/wazuh-test
步驟二:修改 Agent 設定檔
開啟 Wazuh Agent 的設定檔:
sudo nano /var/ossec/etc/ossec.conf
找到原本的 區塊,在其中加入:
<directories realtime="yes" check_all="yes">/home/wazuh-test</directories>
這段設定代表:
sudo systemctl restart wazuh-agent
重新啟動後,Wazuh Agent 就會載入新的 FIM 監控設定。
完成設定後,可以透過簡單的指令模擬檔案異動。
echo "Hello Wazuh" | sudo tee /home/wazuh-test/test.txt
此指令會建立 test.txt,並寫入測試文字。
2. 修改檔案
echo "File Modified" | sudo tee -a /home/wazuh-test/test.txt
這個操作會在原有檔案中新增文字,模擬檔案內容遭到修改。
3. 刪除檔案
sudo rm /home/wazuh-test/test.txt
刪除檔案後,Wazuh 也可以偵測到對應的異動事件。
完成上述操作後,可以進入 Wazuh Dashboard,開啟 File Integrity Monitoring 功能查看相關事件。
正常情況下,可以觀察到下列資訊:
| 事件類型 | 說明 |
|---|---|
| Added | 偵測到新增檔案 |
| Modified | 偵測到檔案內容或屬性修改 |
| Deleted | 偵測到檔案遭到刪除 |
| File Path | 顯示發生變更的檔案路徑 |
| Timestamp | 顯示事件時間 |
| Rule ID | 顯示觸發的偵測規則 |
透過這些資訊,管理人員可以確認哪些檔案發生變更,並進一步判斷事件是否正常。
FIM 不僅能用於測試環境,也經常應用在企業的伺服器安全監控。
例如: