iT邦幫忙

2026 iThome 鐵人賽

DAY 16
0
Security

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

# Day 16|SSH 登入失敗留下了什麼?從 sshd 到 Linux Authentication Log

  • 分享至 

  • xImage
  •  

昨天介紹了 MITRE ATT&CK,以及接下來要測試的:

T1110 - Brute Force

但 Wazuh 並不是憑空知道有人正在嘗試 SSH 登入。

在 Wazuh 能夠產生警報之前,首先要有一個很重要的東西:

Log(日誌)

所以今天先不研究 Wazuh Rule,而是從最源頭開始,看看一次 SSH 登入失敗後,Linux 到底留下了什麼。


1. 先故意輸入錯誤密碼

首先從 Windows PowerShell 連線到 Ubuntu:

ssh hacker@192.168.212.128

接著故意輸入錯誤密碼。

可以看到:

hacker@192.168.212.128's password:
Permission denied, please try again.

連續輸入錯誤密碼後,最後會出現:

Permission denied (publickey,password).

https://ithelp.ithome.com.tw/upload/images/20260929/20184260yHlUKSJezj.png

對 Windows 端來說,我們只看到:

Permission denied

但 Ubuntu 端其實已經留下了這次登入失敗的相關紀錄。


2. sshd 才是真正處理 SSH 登入的服務

Ubuntu 上負責 SSH 連線的服務是:

sshd

當 Windows 發起:

Windows
   ↓
SSH Connection
   ↓
Ubuntu

實際上是 Ubuntu 上的 sshd 負責處理這次連線與認證。

如果帳號或密碼驗證失敗,系統就會留下相關的 Authentication Log。

因此整個流程可以理解成:

Windows 發起 SSH
       ↓
Ubuntu sshd
       ↓
進行身分驗證
       ↓
密碼錯誤
       ↓
Authentication Failed
       ↓
產生 Log

3. PAM 又是什麼?

Linux 的登入驗證還會接觸到另一個常見名詞:

PAM

也就是:

Pluggable Authentication Modules

可以把 PAM 簡單理解成 Linux 的一套認證框架。

SSH、sudo、系統登入等服務,都可以透過 PAM 進行身分驗證與相關處理。

因此 SSH 登入的流程可以簡化成:

SSH Client
    ↓
sshd
    ↓
PAM / Authentication
    ↓
成功 or 失敗
    ↓
產生認證紀錄

這些紀錄就是後面 Wazuh 判斷登入行為的重要資料來源。


4. 查看 SSH 登入失敗紀錄

在 Ubuntu 上,可以從系統日誌查看 SSH 相關事件。

例如使用:

sudo journalctl -u ssh

也可以針對 sshd 相關訊息進一步查看。

如果系統有使用 rsyslog 將認證事件寫入:

/var/log/auth.log

也可以使用:

sudo tail -f /var/log/auth.log

接著再從 Windows 輸入錯誤 SSH 密碼,就能即時觀察新的登入失敗紀錄。

可能會看到類似:

Failed password for hacker from 192.168.212.1 port XXXXX ssh2

這一行其實已經包含很多重要資訊:

Failed password
      ↓
登入失敗

hacker
      ↓
嘗試登入的帳號

192.168.212.1
      ↓
來源 IP

sshd
      ↓
產生事件的服務

這些資訊後面都會成為 Wazuh 分析事件的重要線索。


5. 為什麼 Day 04 的 auth.log 問題很重要?

這時候就可以回到前面 Day 04 遇到的問題。

當時 Ubuntu 24.04 環境中,我遇到:

找不到 /var/log/auth.log

最後才進一步研究 systemd-journald 與 rsyslog 的日誌機制。

現在就可以看出這件事情為什麼重要。

如果 Wazuh 要分析 SSH 登入失敗:

SSH Attack
     ↓
Linux Authentication Event
     ↓
Wazuh Agent
     ↓
Decoder
     ↓
Rule
     ↓
Alert

那麼最前面的 Log Source 就必須先確認正常。

如果連 SSH 登入失敗的紀錄都沒有取得,後面的偵測自然也無法正常進行。


6. 一次登入失敗就是 Brute Force 嗎?

現在我們已經可以看到:

Failed password for hacker

但有一個問題。

正常使用者也可能只是:

「密碼打錯一次。」

所以:

1 次 Failed Password

並不能直接代表:

Brute Force Attack

真正值得注意的情況比較像:

Failed Password
Failed Password
Failed Password
Failed Password
Failed Password
      ↓
短時間大量出現
      ↓
可能存在 Brute Force 行為

這就是接下來要測試的重點。


今日總結

今天我們從 SSH 登入失敗一路追到 Linux Authentication Log。

整個資料來源可以整理成:

Windows
   ↓
SSH Login
   ↓
Ubuntu sshd
   ↓
Authentication / PAM
   ↓
登入失敗
   ↓
Authentication Log
   ↓
Wazuh Agent

這也讓我更清楚:

Wazuh 的偵測能力,最前面其實建立在系統產生的 Log 上。

沒有 Log,就沒有後面的分析。


今天我們只觀察一次 SSH 登入失敗。

下一篇就要把次數提高。

從 Windows 攻擊端連續對:

hacker@192.168.212.128

進行多次登入嘗試。

看看原本只是普通的:

Permission denied

在短時間大量發生之後,會如何變成 Wazuh 眼中的可疑行為。


上一篇
Day 15|從攻擊行為到 ATT&CK:認識 MITRE ATT&CK 與 T1110 Brute Force
系列文
從零打造 Wazuh 自動化防禦與威脅狩獵戰情中心 共 16 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言