iT邦幫忙

2023 iThome 鐵人賽

DAY 23
0

每網路環境都有不同的需求和風險,因此需要自訂的規則來應對特定的情況。
通過建立自訂規則,就可以根據自己的網路的特點和需求來調整偵測行為。


本篇大綱
一、為何要自己建立 Snort 規則
二、建立自訂 Snort 規則的基本步驟


一、為何要自己建立 Snort 規則

  • Snort 附帶了一些預設的偵測規則,但它可能無法涵蓋所有潛在的威脅。透過建立自訂規則,可以擴展 Snort 的偵測範圍,來包含更多的攻擊特徵和威脅。
  • 自訂規則也可以更準確地定義要偵測的條件,從而降低誤報警報的可能性。有助於節省時間和資源,能夠更好地處理實際的安全事件。
  • 某些行業或法規可能要求特定的網路安全措施。透過建立符合合規性的 Snort 規則,確保網路有遵守相關的法規和標準。

二、建立自訂 Snort 規則的基本步驟

建立 Snort 規則需要具備一定的網路安全和 Snort 配置知識。
這裡就來簡單教大家如何在 Ubuntu 上建立自訂 Snort 規則的基本步驟:

步驟 1:確保 Snort 安裝正確
需要先確保已經在 Ubuntu 上成功安裝了 Snort。如果還沒有安裝,可以參考之前提供的教學步驟來安裝 Snort。

延伸閱讀:動手架設入侵偵測系統吧~Snort 介紹、安裝教學

步驟 2:了解 Snort 規則的結構
在建立 Snort 規則之前,需要了解 Snort 規則的基本結構。

  • Snort 規則由兩個部分組成:規則頭(Rule Header)和規則選項(Rule Options)。
  • 規則頭(Rule Header):指定要偵測的事件、通訊協定、IP 位址等訊息。
  • 規則選項(Rule Options):定義如何偵測事件以及警告行為。

延伸閱讀:Snort 入侵偵測系統的核心概念和規則結構

步驟 3:選擇偵測目標

  • 確定要建立什麼規則來偵測的特定事件或威脅,例如:特定攻擊、漏洞利用或惡意流量。
  • 了解當前的威脅情報、最新的攻擊趨勢和漏洞。
  • 根據威脅的嚴重性和可能性,訂立優先順序,來確保更重要的威脅優先處理。

步驟 4:創建自訂規則文件

  1. 打開終端機:可以按 Ctrl + Alt + T 同時按下來打開終端機。

  2. 使用文本編輯器:選擇使用常見的文本編輯器,如 nano 或 vim,來創建規則文件。這裡以 nano 為例,可以運行以下命令來打開 nano 編輯器,同時創建一個新的自訂規則文件(假設你已經進入 /etc/snort/rules/ 目錄):

    sudo nano my_custom_rules.rules
    

    這將在 /etc/snort/rules/ 目錄中創建一個名為 my_custom_rules.rules 的文件,並使用 nano 編輯器打開它以進行編輯。

  3. 編輯自訂規則:在 nano 或你選擇的編輯器中,開始編寫你的自訂規則。按照 Snort 規則的格式,添加規則頭(rule header)和規則選項(rule options)。這些規則將根據你的需求來定義入侵偵測的行為。確保編寫正確的規則並保存文件。

    規則的基本結構如下:

    alert [設置] -> [協議] [源IP] [源端口] -> [目標IP] [目標端口] ([規則選項])
    
    • alert:表示當事件匹配規則時,生成一個警報。
    • [設置]:規則的配置選項,如 msg(警報消息)、sid(規則 ID)等。
    • [協議]:通訊協定,如 TCP、UDP、ICMP 等。
    • [源IP][源端口]:事件的源 IP 地址和端口。
    • [目標IP][目標端口]:事件的目標 IP 地址和端口。
    • [規則選項]:進一步定義事件的選項,如 content(內容匹配)和 classtype(事件類型)等。

    以下是一個簡單的 Snort 規則示例,用於偵測對目標 IP 192.168.1.100 的 ICMP ping 請求:

    alert icmp 192.168.1.0/24 any -> 192.168.1.100 any (msg:"ICMP Ping detected"; sid:1000001;)
    

步驟 5:保存規則文件
在完成編寫自訂規則後,都要記得保存文件並退出編輯器喔~
在 nano 中,你可以按 Ctrl + O 來保存文件,然後按 Enter 確認。然後,按 Ctrl + X 來退出 nano 編輯器。

步驟 6:測試和啟用規則
最後,可以使用以下命令來測試 Snort 規則是否有效,以及是否存在語法錯誤:

sudo snort -T -q -c /etc/snort/snort.conf -i <interface>

步驟 7:重新載入 Snort 規則
完成自訂規則的編輯和保存後,你需要重新載入 Snort 的配置以應用這些新規則。在終端中運行以下命令:

sudo service snort restart

這將重新啟動 Snort 服務,使其能夠讀取並應用新的自訂規則。

延伸閱讀:在 Ubuntu 上使用 Snort 的常見指令集


祝大家連假愉快啊~
/images/emoticon/emoticon12.gif


上一篇
[Day22] 探索異常行為特徵分析的關鍵元素
下一篇
[Day24] 第一次當駭客嗎?向自己發動攻擊吧~
系列文
由淺入深,探索 NFV 與入侵偵測系統在其中的應用31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言