昨天介紹了 Linux 的 inotify 與 Wazuh Real-time FIM,知道 Wazuh 可以即時發現檔案的建立、修改與刪除。
但這時我想到另一個問題:
如果我故意放一個「正常情況下沒有人應該去碰」的檔案,是不是只要它發生異動,就值得注意?
這就是今天要介紹的 Honeyfile(誘餌檔案)。
Honeyfile 可以理解成一種故意放置的誘餌檔案。
它看起來可能包含重要資訊,例如:
database_password.txt
vpn_credentials.conf
private_keys.conf
backup_password.txt
但這些檔案並不是真的拿來存放重要資料。
它真正的目的,是讓我們觀察:
有沒有人對這個不應該被碰觸的檔案進行操作?
正常的系統服務或使用者沒有理由去修改它,因此一旦發生異動,就具有較高的調查價值。
兩者概念很像,但規模不同。
Honeypot 通常模擬的是一台主機、服務或系統,吸引攻擊者進行互動。
而 Honeyfile 則更單純:
Honeypot
↓
誘餌系統 / 服務
Honeyfile
↓
誘餌檔案
這次我的目標不是架設完整的 Honeypot,而是利用 Wazuh 已經具備的 FIM 功能,設計一個簡單的誘餌檔案。
因為我的另一個研究方向與 PQC(Post-Quantum Cryptography,後量子密碼學) 有關,所以這次我決定建立:
/etc/pqc_secret_keys.conf
內容則設計成看起來像某個密碼系統的設定:
# PQC TLS Project - Master Keys
ALGORITHM=ML-KEM-768
PRIVATE_KEY=quantum_safe_key_99887766
注意:這些全部都是測試用的假資料,不是真正的 Private Key,也不應該在真正的 Honeyfile 中放入任何真實憑證或金鑰。
檔名刻意使用:
pqc_secret_keys.conf
就是希望它看起來像是一個具有敏感性的設定檔。
在 Ubuntu 中建立:
sudo nano /etc/pqc_secret_keys.conf
加入測試內容:
# PQC TLS Project - Master Keys
ALGORITHM=ML-KEM-768
PRIVATE_KEY=quantum_safe_key_99887766
儲存之後,我的第一個 Honeyfile 就完成了。
這時它還只是一個普通檔案。
Wazuh 還不知道:
「這個檔案很重要,我要特別監控它。」
所以接下來還需要把它加入 FIM 的監控範圍。
這也是我這次實驗真正想做的事情。
把昨天介紹的:
Real-time FIM
跟今天的:
Honeyfile
結合起來:
建立 Honeyfile
↓
Wazuh Real-time FIM
↓
等待檔案發生異動
↓
偵測異常
↓
產生 Alert
如此一來,我們就不只是被動監控原本存在的重要系統檔案,而是自己建立一個具有偵測目的的監控點。
今天完成了 PQC Honeyfile 的設計:
/etc/pqc_secret_keys.conf
目前它還只是一個誘餌。
接下來真正重要的是:
怎麼讓 Wazuh 盯著它?