簡介
本文檔介紹以下專案的規則: Snort3
思科引擎 Secure Firewall Threat Defense (FTD)
.
必要條件
需求
思科建議您瞭解以下主題:
- 思科
Secure Firewall Threat Defense (FTD)
Intrusion Prevention System (IPS)
Snort2
語法
授權
沒有特定授權要求,基本授權就足夠了,且提到的功能包含在FTD內的Snort引擎和Snort3開源版本中。
採用元件
本文中的資訊係根據以下軟體和硬體版本:
- 思科
Secure Firewall Threat Defense (FTD)
,思科 Secure Firewall Management Center (FMC)
版本7.0+,帶 Snort3
.
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
背景資訊
Snort
思科IPS引擎能夠進行即時流量分析和資料包記錄。
Snort
可以執行協定分析、內容搜尋和檢測攻擊。
Snort3
是Snort2 IPS的更新版本,採用新的軟體架構,可提高效能、檢測、可擴充性和可用性。
Snort3規則
它們使用該LUA格式來將 Snort3
規則更易於讀取、寫入和驗證。
規則操作
此新版本更改規則操作,新定義如下:
Pass
:停止對資料包的後續規則評估
Alert
:僅生成事件
Block
:丟棄資料包,阻止剩餘會話
Drop
:僅丟棄資料包
Rewrite
:如果使用replaces選項,則此為必需欄位
React
:傳送HTML塊響應頁
Reject
:插入TCP RST或ICMP無法訪問
規則剖析
其結構如下:
規則報頭包含操作、協定、源和目標網路以及埠。
在 Snort3
中,規則報頭可以是以下選項之一:
<iline" lang="lua">alert http
(
msg:"Alert HTTP rule";
flow:to_client,established;
content:"evil", nocase;
sid:1000001;
)
alert file
(
msg: “Alert File example”;
file_data;
content:”malicious_stuff”;
sid:1000006;
)
alert tcp $EXTERNAL_NET any -> $HOME_NET $HTTP_PORTS
(
msg:"Alert HTTP rule";
flow:to_client,established;
content:"evil", nocase;
sid:1000001;
)
規則功能
部分新功能包括:
alert tcp $EXTERNAL_NET any -> $HOME_NET $HTTP_PORTS
(
msg:"Alert TCP rule";
flow:to_client,established;
content:"evil", nocase;
sid:1000000;
)
content:"evil", offset 5, depth 4, nocase;
alert http ( Rule body )
http_uri
http_raw_uri
http_header
http_raw_header
http_trailer
http_raw_trailer
http_cookie
http_raw_cookie
http_true_ip
http_client_body
http_raw_body
http_method
http_stat_code
http_stat_msg
http_version
http2_frama_header
script_data
raw_data
alert http
(
msg:"Alert HTTP rule"; /* I can write a comment here */
...
)
alert http
(
msg:"Alert HTTP rule";
flow:to_client,established;
rem:"Put comments in the rule anywhere";
content:"evil", nocase;
sid:1000001;
)
alert tcp $HOME_NET any -> $EXTERNAL_NET any
(
msg:"Alert on apps";
appids:"Google, Google Drive";
content:"evil", nocase;
sid:1000000;
)
- 用於敏感資料過濾的sd_pattern
- Regex關鍵字與hyperflex技術的使用
- Service關鍵字替換後設資料
範例
使用http服務標頭和粘滯緩衝區http_uri的示例
任務:編寫檢測該詞的規則 malicious
在HTTP URI中。
解決方案:
alert http
(
msg:"Snort 3 http_uri sticky buffer";
flow:to_server,established;
http_uri;
content:"malicious", within 20;
sid:1000010;
)
檔案服務標頭的示例
任務:編寫檢測PDF檔案的規則。
解決方案:
alert file
(
msg:"PDF File Detected";
file_type: "PDF";
sid:1000008;
)
相關連結
Snort規則和IDS軟體下載
吉圖布