iT邦幫忙

2026 iThome 鐵人賽

DAY 21
1
佛心分享-IT 人職涯歷練

從 IT 工程師到資安領域系列 第 21

Day 21|從欄位到 Alert:我怎麼把 SIEM 規則變成可用的告警

  • 分享至 

  • xImage
  •  

前一篇談到 Parser 會把原始 Log 裡面的資料拆成可以使用的欄位,例如 IP、User、Hostname、Port、Action 等。

當這些資料被正確解析之後,下一步才是利用這些欄位去建立規則,讓 SIEM 幫忙從大量事件裡,把比較值得注意的內容先挑出來。

但對我來說,Alert 並不是「規則符合了,就代表攻擊成立」。

它比較像是先幫我把範圍縮小。


我最常先看的幾個欄位

我自己在分析事件時,比較常先看:

  • Source IP
  • Destination IP
  • User
  • Hostname
  • 時間
  • Port
  • 連線次數

這些欄位單獨看都不一定代表異常,但搭配在一起之後,就可以開始建立一些判斷條件。

例如來源 IP 可以先讓我知道連線從哪裡來。

接著我會去確認它所屬的國家或區域,再搭配 Port 看這個連線到底在嘗試做什麼。

像是:

  • 3389:RDP
  • 22:SSH
  • 445:SMB

如果來源不是台灣,又持續嘗試連到這些通常不應該直接暴露在 Internet 上的服務,我就會先把它列成值得觀察的條件。

除此之外,我有時也會注意一些比較高編號的 Port。

不是因為高 Port 本身就等於有問題,而是如果它出現在一個原本不應該提供這類服務的主機上,我就會進一步確認。


https://ithelp.ithome.com.tw/upload/images/20260919/20183856hiYmgSS1SW.png


為什麼不能只看到國外 IP 就阻擋

剛開始看這類事件時,很容易看到國外 IP 就直覺覺得有問題。

但實際上,我還是會再往下確認。

通常我會先查來源 IP,再看:

它來自哪個國家、使用哪個 Port、連到客戶哪一個 IP。

接著我會詢問客戶:

這台設備是做什麼的?

因為目的端設備的用途,會直接影響這個 Alert 是否真的需要處理。

例如今天同樣都是外部來源連線到一台 Server。

如果這台 Server 本來就是 Web Server,本來就需要對外提供服務,那看到大量外部 IP 並不奇怪。

但如果它只是一台內部使用的 Server,平常根本不應該被 Internet 直接存取,卻持續看到外部來源連到 3389、22 或 445,那重要性就完全不一樣。

所以我現在不會只看:

「這個 IP 是不是國外的?」

而是會再問:

「它為什麼會連到這台設備?」


Port 本身不是結論,還是要看設備用途

Port 是我很常拿來當作 Alert 條件的欄位,但 Port 本身也不能直接當成攻擊判斷。

例如 22 是 SSH。

如果出現在 Linux Server 上,不一定有問題。

3389 是 RDP。

如果客戶真的有遠端維運需求,它也可能是正常流量。

甚至有些設備,原廠文件本來就會要求開放特定管理 Port 或預留連線 Port。

所以在實際環境裡,我通常還是會去確認:

這個 Port 是客戶自己開的、原廠要求的,還是根本不知道為什麼會存在?

這三種情況代表的風險其實差很多。


我也會看「連線次數」

除了 IP 和 Port,我也很常看連線次數。

因為有些行為單看一筆其實很普通。

例如一個外部 IP 對 22 Port 連線一次,可能只是掃描,也可能只是誤連。

但如果同一個來源 IP 在短時間內一直嘗試連線,重要性就會提高。

這時候我會開始注意:

  • 同一來源嘗試了幾次
  • 集中在多短的時間內
  • 是不是持續嘗試相同服務
  • 有沒有同時嘗試不同 Port

這些資訊可以幫我判斷,它到底只是偶發流量,還是比較像持續性的探測或登入嘗試。


帳號也是我會特別看的資訊

如果 Log 裡有 User 欄位,我也會特別注意帳號名稱。

尤其是在防火牆或其他管理設備上。

如果外部來源一直嘗試使用:

  • admin
  • administrator
  • 或設備常見的預設管理帳號

這種情況我通常會比較優先處理。

因為它代表對方並不只是碰到某個 Port,而是已經開始嘗試進入管理介面。

如果再搭配:

國外來源 + 管理 Port + 高頻率嘗試 + 預設管理帳號

那 Alert 的優先程度自然會比只有單一條件高很多。


https://ithelp.ithome.com.tw/upload/images/20260919/20183856TidZFGDUGA.png


自訂規則通常不是一次就完成

我自己在建立自訂 Alert 規則時,通常不會覺得「寫完就結束」。

比較常見的方式,是先把條件設出來,讓它跑一段時間。

接著我會觀察:

  • 抓到的是不是我原本想看的內容
  • 會不會出現很多正常流量
  • 有沒有某些客戶環境本來就會使用
  • 條件是不是太寬或太窄

如果產生的 Alert 大部分都不是我想處理的內容,那我就會再調整。

但實務上也不是所有規則都一定先測試很久。

有些情況風險比較明確,我也會直接讓它成為正式規則,再一邊觀察、一邊調整。

例如某些本來就不應該對外提供的管理服務,如果很明確看到外部來源持續嘗試,我就不一定會等很久才啟用。

所以規則調整本身其實也是 SIEM 維運的一部分。


真正重要的是「環境背景」

如果只看技術條件,其實很容易把規則寫得很漂亮。

例如:

非台灣 IP + 3389 = Alert

看起來很合理。

但真正放到客戶環境裡後,才會發現有些設備本來就有海外維運、有些服務本來就需要對外、有些 Port 是原廠文件明確要求。

所以我現在在看 Alert 時,會把「環境背景」放進判斷裡。

也就是:

這個行為對這個客戶來說,到底正不正常?

同一個事件放到不同客戶環境裡,結論可能完全不同。


從欄位到 Alert,其實還要經過人的判斷

Parser 把原始 Log 拆成欄位後,SIEM 才能利用 IP、User、Hostname、Port、時間等資訊建立規則。

規則再把大量資料縮小成 Alert。

但 Alert 最後還是要搭配:

  • IP 來源
  • 國家
  • Port
  • 連線次數
  • User
  • Host 用途
  • 客戶環境
  • 原廠需求

一起看,才比較有辦法知道它到底值不值得處理。

所以我現在比較不會把 Alert 當成「答案」。

它比較像是:

把值得調查的事情先挑出來。

真正的判斷,還是在 Alert 出現之後才開始。


上一篇
Day 20|Log 有收到,不代表 SIEM 就能用:從 Parser 談資料解析
下一篇
Day 22|查到惡意 IP 就代表攻擊嗎?我怎麼搭配 Threat Intelligence 判斷
系列文
從 IT 工程師到資安領域23
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言