iT邦幫忙

0

Day 22|Wazuh Active Response 主動回應機制:從威脅偵測到自動防禦

  • 分享至 

  • xImage
  •  

一、什麼是 Active Response?

前面幾天介紹了 Wazuh 的檔案完整性監控(FIM)、漏洞偵測及漏洞管理,這些功能主要用於發現系統中的安全問題。
然而,當系統偵測到攻擊時,如果只能產生警報,仍需要管理人員進行後續處理。
Wazuh 提供的 Active Response(主動回應) 功能,可以在符合特定安全規則時,自動執行預先設定的處理動作,例如封鎖惡意 IP、停用帳號等,減少人工處理時間。

二、Active Response 的運作原理

Active Response 主要透過 Wazuh 的規則偵測與腳本執行機制運作。
其基本流程如下:

系統產生安全事件
       ↓
Wazuh Agent 收集日誌
       ↓
Wazuh Server 分析事件
       ↓
符合特定安全規則
       ↓
觸發 Active Response
       ↓
執行對應的防禦腳本
       ↓
封鎖 IP、停用帳號等
       ↓
記錄處理結果

例如,當有人持續嘗試透過 SSH 登入伺服器,Wazuh 可以根據登入失敗紀錄判斷是否符合暴力破解攻擊規則。
如果符合設定條件,系統便能自動執行 IP 封鎖腳本,暫時阻止該來源繼續連線。

三、Active Response 常見功能

Wazuh 提供多種預設的回應腳本,能依照不同安全事件執行對應措施。

回應方式 功能說明
firewall-drop 透過 iptables 封鎖指定 IP
firewalld-drop 使用 firewalld 封鎖 IP
disable-account 停用指定使用者帳號
netsh.exe 在 Windows 使用防火牆規則封鎖 IP
restart-wazuh 重新啟動 Wazuh Agent 或 Manager

其中,firewall-drop 是常見的應用方式,可用來阻擋 SSH 暴力破解等攻擊。
不同腳本有各自的作業系統及環境需求,並不是所有功能都能直接跨平台使用。

四、Active Response 的兩種模式

Active Response 可以分為兩種主要類型。

  1. Stateless(無狀態)
    執行一次指定動作,不會由 Active Response 的計時機制自動還原。
    例如:停用特定使用者帳號。
  2. Stateful(有狀態)
    執行指定動作後,可以透過設定時間,在期限結束時還原處理結果。
    例如:封鎖可疑 IP 180 秒,時間結束後自動解除封鎖。
    Stateful 模式適合需要暫時限制連線,但不希望永久封鎖來源的情境。

五、Active Response 設定方式

Wazuh 的 Active Response 可以透過修改 Server 端的設定檔進行設定。
設定檔位置:

/var/ossec/etc/ossec.conf

以下使用 SSH 暴力破解攻擊作為範例。

  1. 設定執行指令
    先確認設定檔中的 <ossec_config> 節點包含以下指令定義:
<command>
  <name>firewall-drop</name>
  <executable>firewall-drop</executable>
  <timeout_allowed>yes</timeout_allowed>
</command>

此設定代表使用 firewall-drop 腳本封鎖 IP,並允許設定自動解除封鎖的時間。
2. 設定觸發條件
在同一個設定檔的 <ossec_config> 節點中加入:

<active-response>
  <disabled>no</disabled>
  <command>firewall-drop</command>
  <location>local</location>
  <rules_id>5763</rules_id>
  <timeout>180</timeout>
</active-response>

各項參數說明:

參數 說明
disabled 是否停用主動回應功能,no 代表啟用
command 指定執行的防禦指令
location 指定執行位置,local 代表產生事件的端點
rules_id 指定觸發回應的規則 ID
timeout 設定回應持續時間,單位為秒

其中,規則 ID 5763 對應 SSH 暴力破解攻擊的偵測規則。
當事件符合該規則時,Wazuh 便會嘗試執行 firewall-drop,封鎖攻擊來源 IP 180 秒。此範例適用於具備相應 iptables 功能的 Linux 環境。
3. 重新啟動 Wazuh Manager
完成設定後,執行:

sudo systemctl restart wazuh-manager

六、如何確認 Active Response 是否執行?

當主動回應功能被觸發時,可以透過日誌確認執行結果。
在 Linux 端點執行:

sudo tail -f /var/ossec/logs/active-responses.log

如果封鎖動作成功執行,就能在日誌中找到對應的回應紀錄。
另外,也可以透過 Wazuh Dashboard 查看相關安全事件,例如:

  • SSH 暴力破解警報(Rule ID 5763)
  • IP 封鎖事件(Rule ID 651)
    透過這些紀錄,可以了解攻擊發生的時間、觸發的規則,以及系統採取的防禦行動。

七、使用 Active Response 的注意事項

雖然自動化防禦可以提升事件處理效率,但設定不當也可能影響正常服務。
例如,如果將一般登入失敗事件直接設定為封鎖條件,可能導致正常使用者因輸入錯誤密碼而被阻擋。
因此,使用時應注意以下事項:

  1. 設定合理的觸發條件: 避免單一低風險事件就觸發封鎖。
  2. 使用適當的封鎖時間: 優先考慮暫時封鎖,避免影響正常使用者。
  3. 避免封鎖重要管理 IP: 規劃必要的信任來源與例外設定。
  4. 先在測試環境驗證: 確認腳本及規則正常運作後,再導入正式環境。
    Active Response 的核心價值在於將安全事件的處理流程自動化,但仍需要搭配適當的規則與管理機制,才能有效降低安全風險。

圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言