Snort - manual 筆記(一)

Chapter 1

Snort Overview ##


This manual is based on Writing Snort Rules by Martin Roesch and further work from Chris Green [email protected].It was then maintained by Brian Caswell

1.1 Getting Started ##

  • Sniffer mode, 嗅探模式, 將嗅探的數據輸出到控制檯(屏幕)
  • Packet Logger mode, 日誌模式, 將嗅探的數據輸出到文件
  • Network Intrusion Detection System (NIDS) mode, 網絡入侵檢測(NIDS) 模式, 檢測和分析網絡流量, 最爲複雜配置最多

1.2 Sniffer Mode ##

輸出 TCP/IP packet headers :

./snort -v

這個選項只會輸出 IP TCP/UDP/ICMP headers ,

顯示 application data :

./snort -vd 

1.3 Packet Logger Mode ##

如果想把捕獲的數據存入磁盤, 可用這個模式, 例如:

./snort -dev -l ./log

使用這個選項時, log 文件夾必須存在, 否則會報錯

指定home network:

./snort -dev -l ./log -h 192.168.1.0/24

在高速網絡環境下, 可以保存爲二進制模式(Binary mode), 這樣會將 tcpdump 格式儲存爲一個二進制文件:

./snort -l ./log -b

保存的二進制文件可以用 -r 選項載入查看:

./snort -dv -r packet.log

Snort 支持 BPF 過濾規則, 例如想查看 log 中關於的內容 ICMP :

./snort -dvr packet.log icmp

For more info on how to use the BPF interface, read the Snort and tcpdump man pages.

1.4 Network Intrusion Detection System Mode ##

啓用NIDS模式, 可以簡單的用以下命令 :

./snort -dev -l ./log -h 192.168.1.0/24 -c snort.conf

snort.conf 是 snort 的配置文件, -c 是啓用配置文件, 後面跟的是配置文件存放的路徑+文件名. 關於配置文件 snort.conf .

如果沒有聲明 ./log, 日誌會默認存放在 /var/log/snort

如果要長期開着IDS模式, -v 和 -e 選項應該去掉, -v 輸出到屏幕太慢 可能會丟包, -e 是記錄數據鏈接的headers :

./snort -d -h 192.168.1.0/24 -l ./log -c snort.conf

1.4.1 NIDS Mode Output Options ###

使用命令行可以快速調試, 比使用配置文件的優先級要高

輸出警報信息到 syslog 可以使用 -s 選項, 默認的警報機制是 LOG AUTHPRIV 和 LOG ALER. 詳細的 syslog output configuration 之後會講.

例如, 用一下命令行可以記錄默認的(ASCII解碼)系統並且將警報信息輸出到syslog :

./snort -c snort.conf -l ./log -h 192.168.1.0/24 -s

另一組命令會記錄在 /var/log/snort 默認系統, 併發送警報信息到快速警報文件(fast alert file) :

./snort -c snort.conf -A fast -h 192.168.1.0/24

1.4.2 Understanding Standard Alert Output ###

Snort生成的警報信息格式一般是這樣的:

[**] [116:56:1] (snort_decoder): T/TCP Detected [**]

第一個數字是 Generator ID (GID), 表示通過Snort什麼組件生成的這個警報. GID的清單可以在 Snort 文件目錄的 etc/generators 查看.

第二個數字是 Snort ID (SID), 也可以叫Signature ID. SID 的清單可以在 Snort 文件目 etc/gen-msg.map 查看. Rule-based SID 通過 sid 選項 直接寫入規則(rules)文件.

第三個數字是 revision ID. 這個數字主要用來當簽名使, 通過 rev 選項, 每次執行觸發規則(rendition of the rule)的時候都會增加.

1.4.3 High Performance Configuration ###

如果你想讓 Snort 執行的更快 (比如在1000Mbps的環境下), 你需要用 undified2 logging 和 undified2 log reader , 比如 barnyard2 . 這會允許Snort通過二進制形式記錄, 性能比寫入數據庫快的多.

如果你想方便複製粘帖用文本文件記錄的話, 用 ‘fast’ 輸出機制. 這樣會通過 tcpdump 格式記錄數據包, 產生最少的警報, 例如 :

./snort -b -A fast -c snort.conf

1.4.4 Changing Alert Order

默認的規則適用順序並不一定滿足所有要求. 規則的優先級如下

Pass rules > Drop rules > Log rules

有的時候 pass rule 會忽略一些警報, 爲了獲取更多信息可以通過 –alert-before-pass 選項 將 Alert rules 提前.

一些可以用來改變順序的命令行:

  • –alert-before-pass 強制將 alert rules 提前
  • –treat-drop-as-alert 將 drop 和 reject rusles 一起其他相關警報作爲 alert 記錄.
  • –process-all-events 處理所有事件.

Pass rules 是特殊情況, 如果遇到 pass rule, 事件也會不遵守 –process-all-events 被終止.


發佈了9 篇原創文章 · 獲贊 29 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章