在前幾天的文章中,我們介紹了 Wazuh 的檔案完整性監控(FIM)與 VirusTotal 威脅情資整合,讓系統能夠偵測可疑行為。
然而,偵測到攻擊後,如果仍需要管理員手動處理,可能錯過最佳防禦時機。
因此,Wazuh 提供 Active Response(主動回應) 功能,能夠在特定安全規則被觸發時,自動執行對應的防禦措施。
常見應用包括:
Active Response 主要透過以下流程運作:
本次以 Linux 系統為例,示範如何利用 Wazuh 自動封鎖 SSH 暴力破解來源 IP。
步驟 1:開啟 Wazuh Manager 設定檔
在 Wazuh Server 執行:
sudo nano /var/ossec/etc/ossec.conf
步驟 2:確認封鎖指令
Wazuh 預設提供 firewall-drop 指令,可用於封鎖特定 IP。
確認設定檔中有以下內容:
<command>
<name>firewall-drop</name>
<executable>firewall-drop</executable>
<timeout_allowed>yes</timeout_allowed>
</command>
若原本已存在相同設定,就不需要重複新增。
步驟 3:設定觸發條件
在 <ossec_config> 區塊內加入:
<active-response>
<disabled>no</disabled>
<command>firewall-drop</command>
<location>local</location>
<rules_id>5763</rules_id>
<timeout>180</timeout>
</active-response>
設定參數說明:
其中,規則 ID 5763 對應 SSH 暴力破解偵測規則。
| 參數 | 功能 |
|---|---|
disabled |
是否停用主動回應功能 |
command |
指定執行的防禦指令 |
location |
指定執行位置 |
rules_id |
指定觸發規則 ID |
timeout |
設定封鎖持續時間,單位為秒 |
當此規則被觸發時,系統會嘗試封鎖攻擊來源 IP 180 秒。
完成設定後,執行:
sudo systemctl restart wazuh-manager
接著確認服務是否正常:
sudo systemctl status wazuh-manager
如果服務顯示 active (running),表示 Wazuh Manager 已正常啟動。
為了測試 Active Response,可以在隔離的實驗環境中,使用另一台測試電腦模擬多次 SSH 登入失敗。
步驟 1:確認 SSH 服務
在受測 Linux 主機執行:
sudo systemctl status ssh
確認 SSH 服務正常運作。
步驟 2:模擬登入失敗
從另一台測試主機執行:
ssh testuser@192.168.1.100
其中 192.168.1.100 為示範 IP,請替換成自己的測試主機位址。
使用不存在的帳號或錯誤密碼,重複數次登入測試。
當登入失敗事件符合 Wazuh 的 SSH 暴力破解偵測條件時,系統就可能觸發規則 5763。
注意: 不同環境的 SSH 日誌設定、規則條件及事件頻率都可能影響觸發結果。單次登入失敗通常不足以觸發暴力破解規則。
請勿在正式營運主機或未經授權的系統進行測試,也應避免封鎖自己的遠端管理 IP。
Wazuh Agent 會將主動回應的執行情況記錄在日誌中。
在受測 Linux 主機執行:
sudo tail -f /var/ossec/logs/active-responses.log
若封鎖成功,可從日誌確認指令執行情況。
也可以透過 Wazuh Dashboard 搜尋相關事件,例如:
rule.id: 5763
這個條件可用於查看 SSH 暴力破解警報,但要確認封鎖是否真正執行,仍應檢查 Active Response 日誌。
除了封鎖 SSH 暴力破解來源 IP,Active Response 還能應用於不同安全事件。
| 應用情境 | 自動回應措施 |
|---|---|
| SSH 暴力破解 | 暫時封鎖來源 IP |
| 可疑網路連線 | 執行防火牆封鎖指令 |
| 帳號異常活動 | 停用指定使用者帳號 |
| 惡意檔案偵測 | 執行自訂隔離或處理腳本 |
| 特定安全警報 | 執行自訂事件處理程序 |
其中,惡意檔案隔離等操作通常需要另外撰寫自訂腳本,並不是啟用 Active Response 後就會自動具備所有防護功能。
| 項目 | 說明 |
|---|---|
| 優點 | 能在偵測到攻擊後自動執行防禦措施 |
| 優點 | 減少管理員手動處理時間 |
| 優點 | 可根據不同規則設定回應動作 |
| 優點 | 支援自訂腳本擴充功能 |
| 限制 | 規則誤判可能造成正常使用者被封鎖 |
| 限制 | 自動執行指令可能影響正常服務 |
| 限制 | 需要事先設定觸發規則與回應條件 |