模式
- NIDS(Network Intrusion Detection Sensor,網路入侵偵測感應器):只偵測攻擊
- NIPS(Network Intrusion Prrvention Sensor,網路入侵防護系統):對攻擊作回應
- 基本的封包嗅探器
為Snort撰寫攻擊特徵
- 基本的攻擊特徵格式
[Pass, Log, Alert]
[ip, icmp, tcp, udp]
[any, 'dstIP/netmask' ]
[any, 'port']
[->, <>, ,<-]
[any, 'srcIP/netmask' ]
[any, 'port']
- Snort是基於攻擊特徵(signature-based)的NIDS,其偵測攻擊的能力取決於攻擊特徵資料基礎的質與量
- 需要一定程度的網路協定和正規表達式知識
- 避免在正規表達式中使用向後參考(back reference),因為它們需要過度處理(over-process)資料,並且加重感應器的效能負擔
- 正規表達式能夠提供非常有效率的方式來偵測攻擊樣式(pattern),但這類的攻擊特徵的效能衝擊通常非常高,沒有簡單的公式可以衡量這項效應
alert tcp any 80 -> 192.168.1.0/24 any (content-list: “porn-word”;msg: “Porn word matched”; offset: 40; depth: 1000; nocase)
對任何透過port80(HTTP)送進來的封包來說,此攻擊特徵在每個封包的前40到1000個位元組中,尋找包含來自檔案porn-word(色情書刊)裡的單字字串
alert ip any any -> any any(pcre: “/%[0-9.]*$?(i|n|x|s|h|e|g|a){3}/”; msg: “Format string”;)
使用較進階的攻擊特徵,像是Perl正規表達式,此攻擊特徵會偵測IP封包裡是否有格式字串(format string)存在,可以偵測出像是%n%n%n與%213.2n%x%344.123$h之類的攻擊
被動式網路描繪(Passive Network Mapping)
- 將snort偵測器連接到switch的span port,並使用適合的攻擊特,snort將顯示整個網路的全貌
- 此網路偵測方是受限於所見即所得(what you see is what you get)
Alert ip any 80 ->any any (content: “Server: Microsoft-IIS/5.0”; nocase; depth:200; msg: “Source is an IIS/5.0 server”;)
偵測IIS 5.0伺服器的規則
Stealth Ethernet
$ ifconfig eth1 up #可以從該介面進行嗅探,而不進行後續的組態工作,像是IP位址子遮罩; #如果沒有從你所修改的介面得到一個IP位址一切便以就緒 $ Snort –i eth1 #以指定的介面執行snort
停用規則
- Snort規則被區分成多個類別,例如,www、virus、pop3、oracle、chat,進行組態時,可以停用所有不適用於環境的規則
- 使用’#’停用規則
改變服務的預設port
因為較新的規則使用$HTTP_PORTS變數,只要重設它,並且為其它port重新執行規則。所有的改變都發生在組態檔或規則黨裡var HTTP_PORTS 80
include web.rules
var HTTP_PORTS 8080
include web.rules
強制Snort在兩個位址上進行偵聽,以下有兩個方法
- 指定IP清單:
Var HOME_NET [192.168.10.0/24, 10.1.1.1/16]
- 多重指定HOME_NET變數:
var HOME_NET 10.1.1.0/24
include misc.rules
var HOME_NET 192.168.1.0/24
include misc.rules
Snort預處理器(preprocessor)
- 負責封包分割、URL編碼、檢視
- 參考Snort操作手冊,了解關於每個預處理器之可能組態的更多資訊
排除授權掃描(preprocessor)
- 允許來源IP位址192.168.2.3連結到內部網路的port,並不會產生記錄
pass ip 192.168.2.3 any -> $HOME_NET any
- 讓Web掃描器(你所訂購的網際網路掃描服務)
pass ip 192.168.2.3 any -> $WEB_SERVER 80
ILDS(Information Leaks Detection Engines)資訊洩漏偵測引擎
- 洩漏樣式
Confidential(機密)
Secret(秘密)
Patent(專利)
Financial reports(財務報告)
Internal Only(僅供內部參考)
Do not disclose(禁止洩漏)
………
- 大多數資訊洩漏透過這些基本協定而發生
- HTTP(Web)
- Email(電子郵件)
- Printer(印表機)
- HTTP(Web)
Snort作為ILDS的限制(preprocessor)
下列功能對ILDS有用,但不存在於Snort- 看到壓縮內容(zip、uuencoded)
- 驗證非ACSII檔案內容的傳輸(PDF、Word、Excel)
- 攻擊特稱上的基礎行動
- 驗證加密的通訊
- 檢查可執行的內容
其它
- 記錄分析
- Snort可以用來找出組織內部所發生的資訊洩漏,也可以被用來監控員工正在他們的系統上做什麼
- 更新規則
- 封鎖port掃描
沒有留言:
張貼留言