iT邦幫忙

2026 iThome 鐵人賽

DAY 21
0
Security

從零打造 Wazuh 自動化防禦與威脅狩獵戰情中心系列 第 21 篇

# Day 21|從 Alert 找出攻擊來源:用 Wazuh Dashboard 進行 Threat Hunting

  • 分享至 

  • xImage
  •  

前幾天我們已經完成:

SSH 登入失敗
      ↓
Wazuh 收集 Log
      ↓
Decoder 解析
      ↓
Rule 判斷
      ↓
Rule 100002
      ↓
產生 Alert

但實際進行資安監控時,看到 Alert 並不是工作的終點。

真正需要回答的是:

這個 Alert 是誰造成的?從哪裡來?影響哪台主機?發生了什麼事情?

所以今天不再修改 Rule,而是回到 Wazuh Dashboard,從已經產生的 SSH Alert 進行事件調查。


1. 從 Rule 100002 找到事件

首先在 Wazuh Dashboard 找到前一天成功觸發的:

Rule ID:100002

進入事件詳細資訊後,就可以看到這筆 Alert 的完整內容。

這次我主要關注幾個欄位:

Rule ID
Source IP
Agent IP
Agent Name
User
Full Log

這些欄位可以幫助我重新還原這次 SSH 登入事件。


2. 誰發起了 SSH 登入?

從事件中可以看到來源 IP:

Source IP:192.168.212.1

這代表 Wazuh 從 SSH Log 中解析出的連線來源。

而被測試的 Ubuntu Agent 則是:

Agent Name:ubuntuagent
Agent IP:192.168.212.128

所以這次事件可以整理成:

192.168.212.1
   攻擊/測試來源
        │
        │ SSH
        ▼
192.168.212.128
   Ubuntu Agent

這裡也可以看出:

Source IP

和:

Agent IP

代表的是不同角色。

一個是連線來源,一個是被 Wazuh 監控的端點。


3. 使用了什麼帳號?

接著再查看 SSH Log,可以看到這次測試使用的帳號:

hacker

例如事件中可以看到類似:

Invalid user hacker from 192.168.212.1

因此現在我們已經知道:

來源 IP
192.168.212.1

        ↓

嘗試使用
hacker

        ↓

登入
192.168.212.128

單純看到「SSH Alert」時可能沒有太多感覺,但把這些資訊組合起來之後,事件就開始變得清楚。


4. Full Log 是很重要的調查線索

Dashboard 裡面的 Full Log 也很重要。

因為 Rule Description 是 Wazuh 告訴我們:

「它認為發生了什麼事情。」

而 Full Log 則更接近:

「系統當時實際留下了什麼紀錄。」

例如:

sshd[14729]: Invalid user hacker from 192.168.212.1 port 55430

從這一行就可以找到:

sshd
→ 事件來源服務

hacker
→ 嘗試登入的帳號

192.168.212.1
→ 來源 IP

55430
→ 來源連線 Port

所以在分析 Alert 時,我不會只看 Rule Description,也會回頭確認原始 Log。


5. 把事件重新整理一次

經過 Dashboard 的資訊後,這次事件就可以整理成:

來源
192.168.212.1
      ↓
透過 SSH
      ↓
使用 hacker 帳號
      ↓
嘗試登入 Ubuntu
192.168.212.128
      ↓
登入失敗
      ↓
Wazuh 收集事件
      ↓
Rule 100002
      ↓
產生 Alert

這就是一次很簡單的 Threat Hunting 過程。

不是只確認:

「有 Alert」

而是利用 Alert 裡面的資訊,把事件發生的過程重新還原。


6. 從偵測走向回應

做到這裡,我已經可以從 Wazuh 找到:

發生什麼事情
      ✓

來源 IP 是誰
      ✓

目標主機是哪一台
      ✓

使用什麼帳號
      ✓

哪條 Rule 被觸發
      ✓

但現在仍然有一個問題。

即使我知道:

Source IP = 192.168.212.1

目前還是需要人工看到 Alert 之後,再決定要不要處理。

如果每次都變成:

Wazuh 發現異常
      ↓
我看到 Alert
      ↓
查看 Source IP
      ↓
手動進行處理

那整個流程仍然屬於比較被動的防禦方式。

所以接下來,我希望把:

Detection

進一步變成:

Detection
    +
Response

讓 Wazuh 在符合指定條件時,可以自動做出回應。


今日總結

今天沒有再新增 Rule,而是從資安分析的角度重新查看 Rule 100002 產生的 SSH Alert。

透過 Dashboard,我們可以從一筆警報中找到:

Source IP
Agent
User
Rule
Full Log

並把原本分散的資訊重新整理成完整事件。

這也讓整個流程從單純的:

「Wazuh 有跳警報」

進一步變成:

「我知道這個警報為什麼出現,以及事件是怎麼發生的。」

但目前仍然需要人工查看與處理。

下一步,就要開始讓 Wazuh 自己做出反應。


從 Detection 到 Response:認識 Wazuh Active Response

目前:

SSH 異常
   ↓
Rule 100002
   ↓
Alert
   ↓
人工查看

下一步我希望做到:

SSH 異常
   ↓
Rule 100002
   ↓
Active Response
   ↓
自動處理來源 IP

下一篇正式進入這次實驗最重要的一個階段:

Wazuh Active Response。


上一篇
Day 20|Rule 100002 實戰:我的 SSH 自訂警報成功了嗎?
下一篇
Day 22|不只發出警報:讓 Wazuh 開始自動回應 Active Response
系列文
從零打造 Wazuh 自動化防禦與威脅狩獵戰情中心 共 23 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言