Module 8:入侵偵測系統實習
網路安全
學習目的
1.
2.
網路的攻擊隨著愈來愈普遍的資訊科技應用而愈來愈嚴
重。除了透過防火牆來阻擋惡意的攻擊外,我們還需要
知道入侵的情況正在發生。透過入侵偵測系統,可以實
現對於安全的監看(Monitor),即早發現入侵狀況,進一
步避免安全事件的發生。本模組透過網路入侵偵測系統
的架設與實作來讓學員了解入侵偵測機制的運作
本模組共有六個小節包括
(1)入侵偵測系統簡介
(2)入侵偵測系統工具介紹
(3)攻擊特徵與檢測規則介紹
(4)入侵偵測系統的實務
(5)防火牆入侵偵測聯合防禦系統
(6)入侵偵測系統的專案實作
共需三個鐘點
網路安全
8-2
Module 8:入侵偵測系統實習
•
•
•
•
•
•
Module 8-1:入侵偵測系統簡介(*)
Module 8-2:入侵偵測系統工具介紹(*)
Module 8-3:攻擊特徵與檢測規則介紹(**)
Module 8-4:入侵偵測系統的實務(**)
Module 8-5:防火牆入侵偵測聯合防禦系統(**)
Module 8-6:入侵偵測系統的專案實作(**)
* 初級(basic):基礎性教材內容
**中級(moderate):教師依據學生的吸收情況,選擇性介紹本節的內容
***高級(advanced):適用於深入研究的內容
網路安全
8-3
Module 8-1:入侵偵測系統簡介(*)
網路安全
8-4
何謂入侵?
• 有任何嘗試威脅到機密性(Confidentiality)、完整
性( Integrity) 、可用性(Available)及穿過網路或電
腦的安全機制則稱為入侵
– 例:
• 阻斷服務攻擊(DoS)
• 資料濫用
• 電腦蠕蟲與惡意程式碼
• 入侵偵測(Intrusion detection, ID):在電腦系統或
是網路上,監測事件的發生並且分析入侵的訊息
網路安全
8-5
入侵偵測系統種類介紹
• 入侵偵測系統(Intrusion Detection System, IDS)分
為兩大類
– 網路型入侵偵測(Network-based IDS, NIDS)
• 擷取網路封包來分析資料,直接放入現有的網路環
境且能正常運作
• NIDS的優點是只需要少量的NIDS並且放入恰當的
位置,則能監測大網路且不會被駭客發現有使用IDS
– 主機型入侵偵測(Host-based IDS, HIDS)
• HIDS常佈署於重要的伺服器或主機上,針對系統上
的重要檔案與資源進行監控,或對使用者的行為進
行監督,一旦符合入侵規則便發出警告
網路安全
8-6
IDS偵測模式
• IDS偵測效能主要由兩個因素來決定
– 分析方法與工具(Method & Tool)
• 用來建立攻擊規則(Attack Rules)或行為模式
(Behavior Model)
• 用來進行比對工作
– 資料特徵(data feature)
• 入侵偵測系統在比對入侵行為的方式分成兩大類
– 不當行為偵測(misuse detection)
– 異常偵測比對(anomaly-based)
網路安全
8-7
IDS偵測模式 (續)
• 不當行為偵測(misuse detection)
– 嘗試將已知的攻擊行為,用各種語法描述成攻擊樣
式(attack pattern),並建立一個特徵比對資料庫,用
這些攻擊樣式來辨認攻擊
– 用於辨認攻擊的分析方法常見的有三種
• Rule-based分析方法
• 貝式網路(Bayesian network)分析方法
• Finite-state-machine分析方法
網路安全
8-8
IDS偵測模式 (續)
• 異常偵測比對(anomaly-based)
– 此模式定義哪些行為在系統裡算是正常行為,與正
常行為偏差很多的則算是一種異常行為,因此能偵
測出未知的攻擊
– 分析方法常見的有兩種
• 統計分析方法
• 類神經網路(Neural network)分析方法
網路安全
8-9
Module 8-2:入侵偵測系統工具介紹(*)
網路安全
8-10
IDS工具比較
• 商業軟體
– 優:功能比較強大,但需定期更新,以達到有效的
防護
– 缺:需要費用才能使用
– 例:TANDBERG
• 免費軟體
– 優:不需費用就能夠使用,有些有開放程式碼
– 缺:功能沒有商業軟體強大,規則要手動或是自行
更新才有辦法達到有效的防護
– 例:Snort與IDSwakeup
網路安全
8-11
IDS工具 - Snort
• 開放原始碼的網路入侵偵測系統
• 功能強大
–
–
–
–
–
獨立(stand-alone)做即時(real-time)的流量分析
封包的紀錄(log)
偵測各種不同的攻擊(attack)與探測(probe)
通訊協定(Protocol)分析與內文(content)搜尋與比對
記錄檔(log)有很好結構性與可讀性佳
網路安全
8-12
IDS工具 - Snort (續)
• 有彈性
– 有規則描述語言(rules description language)來描述
網路資訊
– 偵測方式使用外掛模組(plug-in)
• 安裝所需之相依函示庫
– Libpcap、Libpcre、Libdnet、Daq、Libc、Libgcrypt
Libgnutls、Libltd及Libprelude
網路安全
8-13
Snort元件
• 封包擷取函式庫(Packet capture library)
– 實質上與Snort分開用來從網路卡擷取封包的library,
Linux用libpcap,windows則用winpcap
• 封包解碼(Snort Packet decoder)
– 從第二層到第四層依序將封包解開。在完成後,
Snort會得到封包中所有相關的Protocol的資訊
• 偵測引擎(Detection Engine)
– 此 部 份 是 Snort 的 核 心 。 將 從 packet decoder 與
Preprocessor蒐集來的資訊將其與預先制定好的規
則(detection signature plug-in)做比較
網路安全
8-14
Snort元件 (續)
• 預先處理器(Preprocessor)
– Snort的Preprocessor有很多plug-ins,負責將解碼後
的封包轉換成Snort更易處理的格式
– Preprocessor在將資料送至Detection Engine前便能
先執行警告、分類或丟棄封包
• 偵測特徵(Detection Signature)
– 提供Snort識別是否有入侵的特徵,以script語言描
述。由於plug-in方式不包含於Snort本身,所以具有
很好的彈性。通常能找到現有的module或是自行制
定
網路安全
8-15
Snort元件架構
Detection
Signature
(plug-ins)
Packet Capture
Library
Snort Packet
Decoder
Preprocessor
(plug-ins)
Detection
Engine
Output
(plug-ins)
網路安全
8-16
Snort元件 (續)
• 輸出(Output)
– 當Preprocessor或rule對應到任何事件,便會產生
alert與log。Snort支援各種不同的output plug-ins以
產生各種不同的輸出格式。例如二進位表示
(binary)與文字(text)、資料庫(database)及系統記錄
檔(syslog)等
網路安全
8-17
Snort工作模式
• 監聽模式(Sniffer mode)
– 擷取收到的封包,並顯示在螢幕上
• 封包記錄模式(Packet logger mode)
– 將擷取到的封包存至硬碟記錄
• 網路入侵偵測模式(NIDS mode)
– 對收到的封包進行分析,並根據使用者所訂定的規
則執行相對應的動作
• 線程模式(Inline mode)
– 透過防火牆(iptables),根據規則告知防火牆是否讓
封包通過
網路安全
8-18
Module 8-3:攻擊特徵與檢測規則介紹
(**)
網路安全
8-19
摘要
• Snort 採 用 簡 單 與 輕 量 的 規 則 描 述 語 言 (rules
description language),具有彈性且功能非常強大
• 大部分Snort rule都是單行,能在後面加個反斜線
(\)將規則拆成多行
• Snort rule 分 為 兩 部 份 , 分 別 為 規 則 標 頭 (Rules
Header)與規則選項(Rules Options)
– Rules Header 包 含 了 Rule Action 、 protocol 、
source/destination IP address及netmask
– Rules Options包含了警告訊息與決定是否該採取
Rule Action的資訊
網路安全
8-20
Rules Header
• Rules Header清楚表示Snort rule要做的動作與要檢
測從何處來往何處去的packets
• Rule Header格式
– action protocol IP port -> direction IP port
– 例:
• log tcp 127.0.0.1 9527 -> 192.168.1.100 2266
• 從127.0.0.1 port:9527 至 192.168.1.100 port:2266的
TCP封包做log action
網路安全
8-21
Rule Actions
• Rule Actions用來告訴Snort若rule與找到的封包符
合,則採取何種動作
• 預設的五個Rule Actions
–
–
–
–
alert:根據規則產生警告,並將過濾封包做記錄
log:只根據規則記錄封包,不產生警告
pass:忽略此封包
activate : 顯 示 警 告 並 且 開 啟 其 它 Rule Action 為
dynamic的rule
– dynamic:閒置直到被Rule Action為activate的rule
啟動,便視同Rule Action為log的rule
網路安全
8-22
Rule Actions (續)
• Snort線程模式(Snort Inline mode)也具有三種 Rule
Actions
– drop:讓iptables丟棄封包並存入資料備份
– reject:同drop,但若protocol為TCP,則送一個TCP
reset;若為UDP則產生ICMP port
unreachable message
– sdrop:讓iptables丟棄此封包且不存入資料備份
• activate/dynamic並不常被使用在Snort rule,但可
做更進階的入侵偵測,為方便的選擇
網路安全
8-23
Rule Actions (續)
• Snort 也 可 自 行 制 定 rule type , 做 為 Snort 的 Rule
Actions
ruletype suspicious
{
type log
output log_tcpdump: suspicious.log
}
– 以上範例設計一個rule type名為「suspicious」,動
作為產生記錄檔(log)到tcpdump
網路安全
8-24
Protocols
• 用來告知Snort rule要過濾的protocol
• 一般的Snort版本目前規則訂定支援TCP、UDP、
IP 及 ICMP protocol , 也 許 在 未 來 會 支 援 ARP 、
802.11、HTTP、OSPF及RIP等protocol
網路安全
8-25
Source/Destination
• 以IP來表示source或destination的位址
• 可配合netmask表示一個網段,以CIDR方式做切
割
– 例:127.0.0.1/24與192.168.1.100/13
• Port number能指定特定範圍的port
– 1:1024 表示1~1024
– :6000 表示小於等於6000
– 500: 表示大於500
• 亦可使用「any」表示規則為將包含所有IP或port
網路安全
8-26
Direction Operator
• Snort規則會運用「->」來表示傳輸的方向,藉此
也可得知左邊為source,右邊為destination
• 另外也有表示雙向的符號,< >用來表示兩邊的流
向皆須套用這規則
• 必須注意的是,沒有「<-」這個符號
網路安全
8-27
Rules Options
• Rules Options是整個入侵系統偵測中最重要的部
份,藉由簡易的使用就能達到強大的功能與彈性
• 所有的Rules Options都用分號(;)隔開,而在參數
後面所接的關鍵字採用冒號(:)隔開
• Rules Options分成四個種類
–
–
–
–
general:提供資訊,不影響Snort過濾規則
payload:看封包裡的payload部分
non-payload:看封包裡的header部分
post-detection:在一個規則結束後的特定事件
• Snort rule有許多options,以下將介紹常用options
網路安全
8-28
General Rule Options
• msg
– 自訂告知logging和alerting engine要顯示的訊息
– 格式:msg: "<message text>";
• sid
– 用來代表每個Snort rule的編號
• <100
• 100~1000000
• >1000000
保留給未來使用
Snort預設保留的rules
給自訂的rules使用
– 格式:sid: <snort rules id>;
網路安全
8-29
General Rule Options (續)
• reference
– Snort另一個強大功能,讓Snort rule能reference到其
他的攻擊辨識系統
– 格式:reference: <id system>,<id>
• 例,alert tcp any any -> any 7070
(msg:"IDS411/dos-realaudio"; \ flags:AP; content:"|fff4
fffd 06|"; reference:arachnids,IDS411;)
網路安全
8-30
General Rule Options (續)
• rev
– 用來表示Snort rule的revision number(修正版本編號
),很少有Snort rule的版本只有1種
– 格式:rev: <revision integer>;
• priority
– 用來排定Snort rule的優先權,若值設相同,後項設
定會覆蓋前項
– 格式:priority: <priority integer>;
網路安全
8-31
General Rule Options (續)
• classtype
– 用來將Snort rule分類到各種不同的class
– 格式:classtype: <class name>;
• 例:alert tcp any any -> any 80 (msg:"EXPLOIT ntpdx
\ overflow";dsize: >128; classtype:attempted-admin;
priority:10 );
網路安全
8-32
General Rule Options (續)
Snort 部份預設classtype
網路安全
8-33
Payload Detection Rule Options
• content
– 為Snort rule的一個重要功能,用來比對packet的
payload裡是否存在特定資料來觸發這個Snort rule
– 格式:content: [!] "<content string>";
• 加上驚嘆號(!)表示content string不符合則觸發Snort
rule
• content string的表示方式為ASCII或Hex,亦能混合
使用
– 例 : alert tcp any any -> any 139 (content:"|5c
00|P|00|I|00|P|00|E|00 5c|";)
網路安全
8-34
Payload Detection Rule Options (續)
• depth
– 用來告知Snort rule要從payload取出多少byte的資料
可供查看,使用給定content範圍的方式
– 格式:depth: <number>;
• offset
– 類似depth,用來告知從payload的第幾個byte開始查
看
– 格式:offset: <number>;
– 例 : alert tcp any any -> any 80 (content: "cgibin/phf"; offset:4; depth:20;)
網路安全
8-35
綜合範例
• 說明
– Header
• 發出警告並記錄資料(log)
• source非「192.168.1.0/24」,destination為「
192.168.1.0/24且port為111」的TCP封包
– Options
• Payload包含「|00 01 86 a5|」觸發rule
• 顯示「external mountd access」
alert tcp !192.168.1.0/24 any -> 192.168.1.0/24 111 \
(content: "|00 01 86 a5|"; msg: "external mountd access";)
網路安全
8-36
綜合範例 (續)
• 說明
– Header
• 當有tcp封包目標為7070 port,產生警告(alert)並存記
錄檔(log)
– Options
• TCP flag為ACK+PSH
• payload包含:「fff4 fffd 06」便觸發rule
• 顯示「IDS411/dos-realaudio」
• Reference到arachnids的IDS411
alert tcp any any -> any 7070 (msg:"IDS411/dos-realaudio"; \
flags:AP; content:"|fff4 fffd 06|";reference:arachnids,IDS411;)
網路安全
8-37
綜合範例 (續)
• 說明
– Header
• 當tcp封包目標為80 port,產生警告(alert)並存記錄檔
(log)
– Options
• 若從payload的第4個byte算起的下面20個byte內含有
「cgi-bin/phf」便觸發rule
alert tcp any any -> any 80 (content: "cgi-bin/phf"; offset:4;\
depth:20;)
網路安全
8-38
綜合範例 (續)
• 說明
– Header
• 當tcp封包目標為80 port,產生警告(alert)並存記錄檔
(log)
– Options
• Payload size大於128 bytes 觸發rule
• Rule為attempted-admin type,優先權為10
• 顯示「EXPLOIT ntpdx overflow」
alert tcp any any -> any 80 (msg: "EXPLOIT ntpdx overflow"\
; dsize: >128; classtype:attempted-admin; priority:10 );
網路安全
8-39
結論
• 本小節可瞭解撰寫Snort規則不困難,重要的是我
們要學習去如何訂定簡潔有效的規則,這需要紮
實的基礎與努力來累積經驗
• Snort rules尚有許多options無法詳盡介紹,若遇到
不瞭解處請參考Snort網站的教學手冊
– http://www.snort.org/docs/snort_htmanuals/htmanual_284/
網路安全
8-40
Module 8-4 :入侵偵測系統的實務(**)
網路安全
8-41
說明 - 入侵偵測系統架設
• 架設實作(一),Snort環境架設實習
– 使用Snortpc主機,利用Snort軟體來偵測入侵行為
• 架設實作(二),封包產生工具(Nemesis)架設實習
– 使用Nemesispc主機,利用Nemesis軟體以產生攻擊
的情形
• 架設實作(三),封包產生工具(IDSwakeup)架設實
習
– 使用Nemesispc主機,利用IDSwakeup軟體以產生典
型攻擊的封包
網路安全
8-42
說明 - 入侵偵測系統架設 (續)
• 架設實作(四),Snort功能實習
– 請延續架設實作(一),利用Snort軟體進行功能性測試
• 架設實作(五),Snort攻防實驗實習
– 請將架設實作(一)與(二)結合測試,利用Nemesis軟
體產生封包
• 架設實作(六), Snort與Iptables之聯合防禦系統
– 使用snort主機,利用Snort軟體偵測入侵行為
– 使用attacker主機,利用Nemesis軟體以產生攻擊的
情形
– 使用firewall主機內建的Iptables軟體設置阻擋攻擊
網路安全
8-43
實驗環境介紹
系統主機(Snort)
使用網路攻擊攻擊主機
駭客(Nemesis)
網路安全
8-44
實驗環境介紹
• 以Testbed建立一實驗,相關拓樸及設定如下圖
Snortpc
OS:FC6-STD
IP:10.1.1.2
安裝軟體:Snort
Nemesispc
OS:FC6-STD
IP:10.1.1.3
安裝軟體:Nemesis
網路安全
8-45
實驗拓樸on Testbed@TWISC
- 建立完成的實驗拓樸
網路安全
8-46
架設實作(一)
Snort環境架設實習
網路安全
8-47
IDS工具 - Snort
• 版本
– Snort rules 2.9.2.1
• 支援作業平台
– Linux
• 其他需求工具
– Libpcap、Libpcre 、 Libdnet、Daq及Snort rules
• 下載位址
– http://www.snort.org/dl/snort-current/snort2.9.2.1.tar.gz
網路安全
8-48
其他需求工具 - Snort rules
• 版本
– Snort v2.9
• 支援作業平台
– Linux
• 下載頁面
– http://www.snort.org/snort-downloads?
• 其他說明
– 有興趣者可以至https://www.snort.org/申請帳號。需
先註冊並登入後方能下載30天試用版
網路安全
8-49
Snort rules申請流程
• 先連至Snort官方網頁 https://www.snort.org/
• 步驟一 : 網頁右上點選 Sign in
網路安全
8-50
Snort rules申請流程 (續)
• 步驟二: 點選 Sign Up for an Account
網路安全
8-51
Snort rules申請流程 (續)
• 步驟三:Login 輸入帳號
Email Address 輸入e-mail
Password 輸入 自定密碼
Accept 接受VRT License
完成申請
網路安全
8-52
Snort rules下載流程
• 步驟一:點選申請流程之步驟一的Sign in,並在
申請流程之步驟二的畫面中輸入剛申請好的帳號
密碼
網路安全
8-53
• 步驟二:登入至註冊帳號的e-mail,並驗證帳號
• 帳號已開通
網路安全
8-54
Snort rules下載流程 (續)
• 步驟三:重新整理網頁,確認右上角Sign in已變
成Sign out,並點選Get Rules
網路安全
8-55
Snort rules下載流程 (續)
• 步 驟 四 : 在 Registered User Release 中 下 載 Snort
v2.9版本的rules
• 每15分鐘只能下載一次
網路安全
8-56
其他需求工具 - Libpcap
• 版本
– Libpcap 1.0.0
• 支援作業平台
– Linux
• 下載位址
– http://www.tcpdump.org/release/libpcap-1.0.0.tar.gz
網路安全
8-57
其他需求工具 - Libpcre
• 版本
– Libpcre 7.9
• 支援作業平台
– Linux
• 下載位址
– http://sourceforge.net/projects/pcre/files/pcre/7.9/pcre7.9.tar.gz/download
網路安全
8-58
其他需求工具 - Libdnet
• 版本
– Libdnet-1.11
• 支援作業平台
– Linux
• 下載位址
– http://prdownloads.sourceforge.net/libdnet/libdnet1.11.tar.gz?download
網路安全
8-59
其他需求工具 - Daq
• 版本
– Daq-0.6.2
• 支援作業平台
– Linux
• 下載位址
– http://www.snort.org/downloads/1408
網路安全
8-60
安裝libpcap
• 使用”sudo su -”切換成root權限
• 到下載安裝檔目錄(本範例為tmp)下輸入以下內容
[child@snortpc ~]$ sudo su [root@Snortpc ~]# cd /tmp
[root@Snortpc tmp]# cp /share/isc/Module08/libpcap-1.0.0.tar.gz
/tmp
[root@Snortpc tmp]# tar -zxvf libpcap-1.0.0.tar.gz
[root@Snortpc tmp]# cd libpcap-1.0.0
[root@Snortpc libpcap-1.0.0]# ./configure
[root@Snortpc libpcap-1.0.0]# make
[root@Snortpc libpcap-1.0.0]# make install
網路安全
8-61
安裝libpcre
• 使用”sudo su -”切換成root權限
• 到下載安裝檔目錄(本範例為tmp)下輸入以下內容
[root@Snortpc libpcap-1.0.0]$ cd ..
[root@Snortpc tmp]# cp /share/isc/Module08/pcre-7.9.tar.gz /tmp
[root@Snortpc tmp]# tar -zxvf pcre-7.9.tar.gz
[root@Snortpc tmp]# cd pcre-7.9
[root@Snortpc pcre-7.9]# ./configure
[root@Snortpc pcre-7.9]# make
[root@Snortpc pcre-7.9]# make install
網路安全
8-62
安裝libdnet
• 使用”sudo su -”切換成root權限
• 到下載安裝檔目錄(本範例為tmp)下輸入以下內容
[root@Snortpc pcre-7.9]$ cd ..
[root@Snortpc tmp]# cp /share/isc/Module08/libdnet-1.11.tar.gz
/tmp
[root@Snortpc tmp]# tar -zxvf libdnet-1.11.tar.gz
[root@Snortpc tmp]# cd libdnet-1.11
[root@Snortpc libdnet-1.11]# ./configure
[root@Snortpc libdnet-1.11]# make
[root@Snortpc libdnet-1.11]# make install
網路安全
8-63
安裝daq
• 使用”sudo su -”切換成root權限
• 到下載安裝檔目錄(本範例為tmp)下輸入以下內容
[root@Snortpc libdnet-1.11]# cd ..
[root@Snortpc tmp]# cp /share/isc/Module08/daq-0.6.2.tar.gz
/tmp
[root@Snortpc tmp]# tar -zxvf daq-0.6.2.tar.gz
[root@Snortpc tmp]# cd daq-0.6.2
[root@Snortpc daq-0.6.2]# ./configure -with-libpcapincludes=/usr/local/include -with-libpcap-libraries=/usr/local/lib
[root@Snortpc daq-0.6.2]# make
[root@Snortpc daq-0.6.2]# make install
網路安全
8-64
安裝Snort
• 使用”sudo su -”切換成root權限
• 到下載安裝檔目錄(本範例為tmp)下輸入以下內容
[root@Snortpc daq-0.6.2]# cd ..
[root@Snortpc tmp]# cp /share/isc/Module08/snort-2.9.2.1.tar.gz
/tmp
[root@Snortpc tmp]# tar -zxvf snort-2.9.2.1.tar.gz
[root@Snortpc tmp]# cd snort-2.9.2.1
[root@Snortpc snort-2.9.2.1]# ./configure
[root@Snortpc snort-2.9.2.1]# make
[root@Snortpc snort-2.9.2.1]# make install
網路安全
8-65
安裝Snort rules
• 使用”sudo su -”切換成root權限
• 到下載安裝檔目錄(本範例為tmp)下輸入以下內容
[root@Snortpc snort-2.9.2.1]# cd ..
[root@Snortpc tmp]# cp /share/isc/Module08/snortrules-snapshot2912.tar.gz .
[root@Snortpc tmp]# tar -zxvf snortrules-snapshot-2912.tar.gz
[root@Snortpc tmp]# mkdir /usr/local/lib/snort_dynamicrules
[root@Snortpc tmp]# cp so_rules/precompiled/FC14/i386/2.9.1.2/*.* /usr/local/lib/snort_dynamicrules/
[root@Snortpc tmp]# cp -r rules/ snort-2.9.2.1/
[root@Snortpc tmp]# mkdir /var/log/snort
#建立log資料夾以便存log
網路安全
8-66
測試Snort是否安裝成功
• 若輸入「snort -V」顯示Snort的版本,則代表安
裝成功,若失敗請參照p69至p72。
[root@Snortpc snort-2.9.2.1]# snort -V
, ,_
-*> Snort! <*o" )~ Version 2.9.2.1 IPv6 GRE (Build 78) i386-linux
''''
By Martin Roesch & The Snort Team:
http://www.snort.org/snort/snort-team
Copyright (C) 1998-2011 Sourcefire, Inc., et al.
Using libpcap version 1.0.0
Using PCRE version: 6.6 06-Feb-2006
Using ZLIB version: 1.2.3
網路安全
8-67
執行Snort
• 在snort-2.9.2.1路徑下輸入指令
– snort -de -l /var/log/snort -c etc/snort.conf
• 如果正常 則會出現
Using PCRE version: 6.6 06-Feb-2006
Rules Engine: SF_SNORT_DETECTION_ENGINE Version 1.10 <Build 16>
Preprocessor Object: SF_DCERPC Version 1.1 <Build 4>
Preprocessor Object: SF_DCERPC2 Version 1.0 <Build 1>
Preprocessor Object: SF_Dynamic_Example_Preprocessor Version 1.0<Build1>
Preprocessor Object: SF_SMTP Version 1.1 <Build 7>
Preprocessor Object: SF_SSLPP Version 1.1 <Build 2>
Preprocessor Object: SF_DNS Version 1.1 <Build 2>
Preprocessor Object: SF_SSH Version 1.1 <Build 1>
Preprocessor Object: SF_FTPTELNET Version 1.2 <Build 11>
Not Using PCAP_FRAMES
按Ctrl + C可結束執行會出現
網路安全
HTTP Inspect - encodings (Note: streamreassembled packets included):
POST methods:
0
GET methods:
0
Headers extracted:
0
Header Cookies extracted: 0
Post parameters extracted: 0
Unicode:
0
Double unicode:
0
Non-ASCII representable: 0
Base 36:
0
Directory traversals:
0
Extra slashes ("//"):
0
Self-referencing paths ("./"): 0
Total packets processed:
9
=============================
dcerpc2 Preprocessor Stat
Total sessions: 0
=============================
Snort exiting
8-68
執行可能出現的問題與處理方法
• 如在安裝snort過程中,出現下面問題畫面
./configure: line 21039: daq-modules-config: command not found
checking for daq_load_modules in -ldaq_static... no
ERROR! daq_static library not found, go get it from
http://www.snort.org/.
• Daq沒有安裝成功,請重新安裝daq。
網路安全
8-69
執行可能出現的問題與處理方法 (續)
• 如輸入「snort -V」後,出現下面問題畫面
snort: error while loading shared libraries: libdnet.1: cannot open shared
object file: No such file or directory
• 則輸入「cp /usr/local/lib/libdnet.1 /usr/lib」,將先
前所安裝函示庫之檔案複製到snort所連結之檔案
系統位址。
網路安全
8-70
執行可能出現的問題與處理方法 (續)
• 如輸入「snort -V」後,出現下面問題畫面
snort: error while loading shared libraries: libsfbpf.so.0: cannot open
shared object file: No such file or directory
• 則輸入「cp /usr/local/lib/libsfbpf.so.0 /usr/lib」,將
先前所安裝函示庫之檔案複製到snort所連結之檔
案系統位址。
網路安全
8-71
執行可能出現的問題與處理方法 (續)
• 如輸入「snort -de -l /var/log/snort -c etc/snort.conf」
後,出現下面問題畫面
Initializing rule chains...
ERROR: etc/snort.conf(270) Config option "detection" can only be
configured once.
• 則需再輸入「nano -w etc/snort.conf」,開啟
snort.conf,並搜尋detection字串,如紅色部份,
在前面加入「 # 」符號將其註解掉
#config detection: search-method ac-bnfa
config detection: max_queue_events 5
config event_queue: max_queue 8 log 3 order_events
content_length
網路安全
8-72
執行可能出現的問題與處理方法 (續)
• 如輸入「snort -de -l /var/log/snort -c etc/snort.conf」
後,出現下面問題畫面
Initializing rule chains...
ERROR: ../rules/exploit.rules(323) ***PortVar Lookup failed on
'$FILE_DATA_PORTS'.
Fatal Error, Quitting..
[root@snortpc snort-2.9.2.1]#
• 則需再輸入「vi etc/snort.conf」,開啟snort.conf,
並加入下列紅色內容
# List of ports you run SIP servers on
portvar SIP_PORTS [5060,5061,5600]
# List of file data ports for file inspection
portvar FILE_DATA_PORTS [$HTTP_PORTS,110,143]
網路安全
8-73
Snort基本語法
•
•
•
•
•
•
•
•
•
參數說明
-v 詳細顯示封包的 header
-d 顯示應用層(Application Layer)封包內容
-e 連結層(Data Link Layer)的資訊也顯示出來
-l 設定 log 存到那個檔案
-Q 從iptables取得封包
-i 指定要監聽(listen)哪個網路介面
-D 以daemon模式執行
-c 讀取指定的設定檔
網路安全
8-74
Snort 設定檔
• Snort設定檔預設為snort.conf,可自行修改增加
• Snort 功能及啟動參數
– 設定log存放的地方
• config logdir: /var/log/snort
– 設定網路
• 利用var來宣告變數,用『 $變數名稱』來存取
– var HOME_NET 192.168.1.0/24
» 表示宣告HONE_NET變數的值為192.168.1.0/24網段
– var HTTP_SERVERS $HOME_NET
» 表示表示宣告HTTP_SERVERS變數的值與HONE_NET
變數相同
參考資料:Snort Setup Guides, http://www.snort.org/docs/setup-guides/
網路安全
8-75
Snort 設定檔 (續)
– 設定preprocessors
• 設定snort內提供對於封包的預處理程序,如對於
stream封包先進行重組等(建議使用預設值即可)
– preprocessor frag2
– preprocessor stream4_reassemblt
– 設定output
• 設定當match rules時的output格式:有多種格式可供
選擇,也可輸出到資料庫中。例:
– output alert_syslog: LOG AUTH LOG_ALERT
– output database: log, mysql, user=root
– dbname-snort host=localhost
參考資料:Snort Setup Guides, http://www.snort.org/docs/setup-guides/
網路安全
8-76
Snort 設定檔 (續)
– Rules
• 可直接在設定檔中加入偵測的rule,例:
– alert tcp $HOME_NET 7161 -> $EXTERNAL_NET any
(msg: "MISC Cisco Catalyst Remote Access"; flags: SA;
reference:arachnids, 129; Reference:cve, CVE-19990430;classtype:bad-unknow; sid:513; rev:1;)
– 加的 rules 的文件
• 利用附加檔案的方式加入包含偵測Rules的檔案
– include $RULE_PATH/exploit.rules
– include $RULE_PATH/scan.rules
– include $RULE_PATH/ftp.rules
參考資料:Snort Setup Guides, http://www.snort.org/docs/setup-guides/
網路安全
8-77
Make Rules
• 不僅可使用現有的rules,更可使用自訂的rules
• 在下載下來的rules中有一個檔案為「local.rules」
# $Id: local.rules,v 1.11 2004/07/23 20:15:44 bmc Exp $
# ---------------# LOCAL RULES
# ---------------# This file intentionally does not come with signatures. Put your local
# additions here.
• 在這檔案中可自行輸入rules達到偵測功能
網路安全
8-78
架設實作(二)
封包產生工具(Nemesis)安裝實習
網路安全
8-79
封包產生工具 - Nemesis
• 版本
– Nemesis 1.4
• 支援作業平台
– Linux
• 其他需求
– libnet1.0.2a
• 下載位址
– http://sourceforge.net/projects/nemesis/files/nemesis/1.
4/nemesis-1.4.tar.gz/download
網路安全
8-80
其他需求工具 - libnet
• 版本
– libnet 1.0.2a
• 支援作業平台
– Linux
• 下載位址
– http://ips-builder.googlecode.com/files/libnet1.0.2a.tar.gz
網路安全
8-81
Nemesis工具
• 由於IDS的實驗需要一些入侵的情境,我們使用封
包產生器來模擬實際產生攻擊的情形
• Nemesis是一個指令型(command-line)的封包產生
器,運作於UNIX-like和Windows系統
• 常用於測試入侵偵測系統、防火牆及IP網路其他
相關的實驗
• 目前Nemesis支援ARP、DNS、ETHERNET、
ICMP、IGMP、IP、OSPF、RIP、TCP及UDP 封
包,幾乎所有Ethernet與IP網路的封包皆可自訂產
生
網路安全
8-82
Nemesis安裝步驟
• 使用”sudo su -”切換成root權限
• 安裝libnet1.0.2a
[child@Nemesispc~]$ sudo su [root@Nemesispc ~]# cd /tmp
[root@Nemesispc tmp]$ cp /share/isc/Module08/libnet1.0.2a.tar.gz /tmp
[root@Nemesispc tmp]$ tar zxvf libnet-1.0.2a.tar.gz
[root@Nemesispc tmp]# cd Libnet-1.0.2a/
[root@Nemesispc Libnet-1.0.2a]# ./configure
[root@Nemesispc Libnet-1.0.2a]# make && make install
網路安全
8-83
Nemesis安裝步驟 (續)
• 使用”sudo su -”切換成root權限
• 安裝nemesis1.4
[root@Nemesispc Libnet-1.0.2a]# cd ..
[root@Nemesispc tmp]# cp /share/isc/Module08/nemesis1.4.tar.gz /tmp
[root@Nemesispc tmp]# tar zxvf nemesis-1.4.tar.gz
[root@Nemesispc tmp]# cd nemesis-1.4
[root@Nemesispc nemesis-1.4]# ./configure
[root@Nemesispc nemesis-1.4]# make && make install
網路安全
8-84
如何使用Nemesis產生封包
• 執行「nemesis」會出現本工具的使用介紹與所支
援的protocol
[root@Nemesispc nemesis-1.4]# nemesis
NEMESIS -=- The NEMESIS Project Version 1.4 (Build 26)
NEMESIS Usage:
nemesis [mode] [options]
NEMESIS modes:
arp
dns
ethernet
icmp
igmp
ip
ospf (currently non-functional)
rip
tcp
udp
NEMESIS options:
To display options, specify a mode with the option "help".
網路安全
8-85
如何使用Nemesis產生封包 (續)
• 執行「nemesis <protocol> help」會出現如何產生
此protocol封包的說明,以下以udp為例
[root@Nemesispc nemesis-1.4]# nemesis udp help
UDP Packet Injection -=- The NEMESIS Project Version 1.4 (Build 26)
UDP usage:
udp [-v (verbose)] [options]
UDP options:
-x <Source port>
-y <Destination port>
-P <Payload file>
IP options:
-S <Source IP address>
-D <Destination IP address>
-I <IP ID>
-T <IP TTL>
-t <IP TOS>
-F <IP fragmentation options>
-F[D],[M],[R],[offset]
-O <IP options file>
Data Link Options:
-d <Ethernet device name>
-H <Source MAC address>
-M <Destination MAC address>
網路安全
8-86
如何使用Nemesis產生封包 (續)
• 加「-v」顯示詳細資料,若不對任何欄位指定數
值,則為預設,其中某些欄位預設值為隨機數
[root@Nemesispc nemesis-1.4]# nemesis udp -v
UDP Packet Injection -=- The NEMESIS Project
Version 1.4 (Build 26)
[IP] 129.247.236.25 > 130.40.19.80
[IP ID] 54955
[IP Proto] UDP (17)
[IP TTL] 255
[IP TOS] 0x00
[IP Frag offset] 0x0000
[IP Frag flags]
[UDP Ports] 40515 > 33435
Wrote 28 byte UDP packet.
UDP Packet Injected
網路安全
8-87
如何使用Nemesis產生封包 (續)
• 若試著去設定source IP、port及TTL,會發現除了
有設定的欄位,其他仍是預設值
[root@Nemesispc nemesis-1.4]# nemesis udp -S
10.1.1.3 -x 9527 -T 168 -v
UDP Packet Injection -=- The NEMESIS Project
Version 1.4 (Build 26)
[IP] 10.1.1.3 > 153.167.155.56
[IP ID] 41249
[IP Proto] UDP (17)
[IP TTL] 168
[IP TOS] 0x00
[IP Frag offset] 0x0000
[IP Frag flags]
[UDP Ports] 9527 > 33435
Wrote 28 byte UDP packet.
UDP Packet Injected
網路安全
8-88
架設實作(三)
封包產生工具(IDSwakeup)安裝實習
網路安全
8-89
封包產生工具 - IDSwakeup
• 版本
– IDSwakeup 1.0
• 支援作業平台
– Linux
• 其他需求
– hping2
– libnet 1.0.2a
• 下載位址
– http://www.hsc.fr/ressources/outils/idswakeup/downlo
ad/IDSwakeup-1.0.tgz
網路安全
8-90
其他需求工具 - hping2
• 版本
– hping2
• 支援作業平台
– Linux
• 下載位址
– http://www.hping.org/hping2.0.0-rc1.tar.gz
網路安全
8-91
其他需求工具 - libnet
• 版本
– libnet 1.02a
• 支援作業平台
– Linux
• 下載位址
– http://ips-builder.googlecode.com/files/libnet1.0.2a.tar.gz
網路安全
8-92
IDSwakeup
• IDSwakeup是用來測試入侵偵測系統的工具,可
產生許多典型攻擊的封包,目的是觀察入侵偵測
系統的誤判行為
• 典型攻擊的封包
–
–
–
–
–
–
teardrop
syndrop
msadcs
dos_chargen
back_orifice
…等相關典型攻擊的封包
網路安全
8-93
安裝hping2
• 使用”sudo su -”切換成root權限
[root@Nemesispc tmp]# cp /share/isc/Module08/hping2.0.0rc1.tar.gz /tmp
[root@Nemesispc tmp]# tar zxvf hping2.0.0-rc1.tar.gz
[root@Nemesispc tmp]# cd hping2
[root@Nemesispc hping2]# ./configure
[root@Nemesispc hping2]# make && make install
網路安全
8-94
安裝libnet
• 使用”sudo su -”切換成root權限
[root@Nemesispc tmp]# cp /share/isc/Module08/libnet1.0.2a.tar.gz /tmp
[root@Nemesispc tmp]# tar zxvf libnet-1.0.2a.tar.gz
[root@Nemesispc tmp]# cd Libnet-1.0.2a/
[root@Nemesispc Libnet-1.0.2a]# ./configure
[root@Nemesispc Libnet-1.0.2a]# make && make install
網路安全
8-95
安裝IDSwakeup
[root@Nemesispc tmp]# cp /share/isc/Module08/IDSwakeup1.0.tgz /tmp
[root@Nemesispc tmp]# tar xvf IDSwakeup-1.0.tgz
[root@Nemesispc IDSwakeup]$ cd IDSwakeup-1.0
[root@Nemesispc IDSwakeup-1.0]$ make
網路安全
8-96
IDSwakeup操作示範
• 執行
[root@Nemesispc IDSwakeup-1.0]# ./IDSwakeup
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=--=- IDSwakeup : false positive generator
- Stephane Aubert
- Herv?Schauer Consultants (c) 2000
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=--=-=-=Usage : ./IDSwakeup <src addr> <dst addr> [nb] [ttl]
– src addr:封包的來源(IDSwakeup),亦能偽造其他
任意IP
– dst addr:封包的目的(Snort)
– nb:送出的數量
– ttl:封包的ttl值(time to live)
網路安全
8-97
IDSwakeup操作示範 (續)
• 示範
root@Nemesispc IDSwakeup-1.0]# ./IDSwakeup 10.1.1.2
10.1.1.3 20 64
– 表示封包從10.1.1.2傳輸到10.1.1.3
– 傳送數量20次
– TTL值為64
網路安全
8-98
架設實作(四)
Snort功能實習
網路安全
8-99
Snort監聽模式(Sniffer mode)
• 監聽模式常用指令
– snort -vde [-i interface]
•
•
•
•
-v 表示監聽封包,只用-v僅顯示封包標頭
-d 顯示封包的application layer
-e 除了原先封包,再加上Ethernet資料
-i 後面接要監聽的interface
網路安全
8-100
監聽模式範例
• 在Snortpc上使用Snort 輸入「snort -vde」擷取封包
– 封包 header + payload
06/12-18:16:01.089206 0:90:FB:10:DA:4C -> 0:17:5A:BD:CC:FF type:0x800 len:0x14A
192.168.36.19:22 -> 192.168.72.194:3119 TCP TTL:64 TOS:0x10 ID:3393 IpLen:20 DgmLen:316 DF
***AP*** Seq: 0xC066EB1F Ack: 0x56BA7A0 Win: 0x2180 TcpLen: 20
1B 3B D7 DE B5 87 74 A6 2C 63 A0 E7 DA FD C6 5A
.;....t.,c.....Z
F8 3F 67 F0 F8 4B 7F 3F 6A C2 02 A7 F8 21 60 4E
.?g..K.?j....!`N
7B F4 1D 98 7E 94 8E A6 29 71 73 40 79 64 CC 1E
{...~...)qs@yd..
57 84 F6 79 22 E0 73 65 21 4E 1C 80 F5 0C CF C1
W..y".se!N......
57 67 9B 8C 6A 61 D9 DF BD 1F DA A0 00 13 2A 54
Wg..ja........*T
53 16 EB 38 56 04 1E 10 86 67 26 CB 90 28 1A 29
S..8V....g&..(.)
6E E6 59 1F 3E 0C 45 87 CB 38 DD 3E E5 6F BA E2
n.Y.>.E..8.>.o..
45 03 AF 68 40 18 4A 93 04 3F 2D E2 20 F1 F2 62
E..h@.J..?-. ..b
4A 34 A9 49 B9 15 6C AA 9B 51 7C 49 7B 15 FB 50
J4.I..l..Q|I{..P
1A D8 8C C8 EA E7 31 80 09 C1 1B 1E F2 E9 B6 64
......1........d
86 5C 94 3F 82 25 C7 C6 0E 8B 2C 72 CB 6B 05 B8
.\.?.%....,r.k..
C2 D7 51 48 BA E5 00 B7 0E 42 6B 1F 75 FB F3 BE
..QH.....Bk.u...
F3 CD 32 ED 6A A9 6F 56 5C D3 43 F3 1B D4 C6 E5
..2.j.oV\.C.....
DA 8B A6 0F A3 12 15 BE 1C 9F EC C5 D1 85 AA B7
................
36 60 1B 27 1A D3 B6 E5 A3 CD E5 5D 88 8C EC 69
6`.'.......]...i
77 5B 95 C2 E7 3C 64 C2 20 6D BE A2 5C 3B 9F 83
w[...<d. m..\;..
BE 46 92 C3 12 39 6E 8D 35 AB F9 E8 7F 49 2B CD .
F...9n.5....I+.
4C 04 87 9B
L...
網路安全
8-101
監聽模式範例 (續)
– 鍵入「Ctrl + c」結束執行
– 出現分析結果
網路安全
Packet Wire Totals:
Received:
260
Analyzed:
84 (32.308%)
Dropped:
142 (54.615%)
Outstanding:
34 (13.077%)
======================================
Breakdown by protocol (includes rebuilt packets):
ETH: 84
(100.000%)
ETHdisc: 0
(0.000%)
VLAN: 0
(0.000%)
IPV6: 0
(0.000%)
IP6 EXT: 0
(0.000%)
IP6opts: 0
(0.000%)
IP6disc: 0
(0.000%)
IP4: 84
(100.000%)
IP4disc: 0
(0.000%)
TCP 6: 0
(0.000%)
UDP 6: 0
(0.000%)
ICMP6: 0
(0.000%)
ICMP-IP: 0
(0.000%)
TCP: 84
(100.000%)
UDP: 0
(0.000%)
ICMP: 0
(0.000%)
TCPdisc: 0
(0.000%)
UDPdisc: 0
(0.000%)
ICMPdis: 0
(0.000%)
FRAG: 0
(0.000%)
FRAG 6: 0
(0.000%)
ARP: 0
(0.000%)
EAPOL: 0
(0.000%)
ETHLOOP: 0
(0.000%)
IPX: 0
(0.000%)
OTHER: 0
(0.000%)
DISCARD: 0
(0.000%)
InvChkSum: 0
(0.000%)
S5 G 1: 0
(0.000%)
S5 G 2: 0
(0.000%)
Total: 84
======================================
Action Stats:
ALERTS: 0
LOGGED: 0
PASSED: 0
8-102
監聽模式範例 (續)
• Snortpc監聽eth4接收Nemesispc封包
– 輸入指令
• snort -vde -i eth4
[root@snortpc snort-2.9.2.1]# snort -dev -i eth4
Running in packet dump mode
--== Initializing Snort ==-Initializing Output Plugins!
pcap DAQ configured to passive.
The DAQ version does not support reload.
Acquiring network traffic from "eth4".
Decoding Ethernet
--== Initialization Complete ==-,,_ -*> Snort! <*o" )~ Version 2.9.2.1 IPv6 GRE (Build 107)
'''' By Martin Roesch & The Snort Team: http://www.snort.org/snort/snort-team
Copyright (C) 1998-2012 Sourcefire, Inc., et al.
Using libpcap version 1.0.0
Using PCRE version: 6.6 06-Feb-2006
Using ZLIB version: 1.2.3
Commencing packet processing (pid=20921)
網路安全
8-103
監聽模式範例 (續)
• 在Nemesispc使用Nemesis傳送data內容為"this is a
book"的封包給Snortpc
– 先輸入指令
• nemesis tcp -v -S 10.1.1.3 -D 10.1.1.2 -P-
– payload底下再輸入指令
• this is a book
[root@ Nemesispc proj]# nemesis tcp -v -S 10.1.1.3 -D 10.1.1.2 -P TCP Packet Injection -=- The NEMESIS Project Version 1.4 (Build 26)
[IP] 10.1.1.3 > 10.1.1.2
[IP ID] 51297
[IP Proto] TCP (6)
[IP TTL] 255
[IP TOS] 0x00
[IP Frag offset] 0x0000
[IP Frag flags]
[TCP Ports] 34475 > 64685
[TCP Flags] SYN
[TCP Urgent Pointer] 0
[TCP Window Size] 4096
[TCP Seq number] 245410913
this is a book
Wrote 55 byte TCP packet.
TCP Packet Injected
網路安全
8-104
監聽模式範例 (續)
• Snortpc監聽eth4接收Nemesispc封包,可看到data
為"this is a book"的封包
06/12-18:59:09.932435 0:90:FB:10:DA:62 -> 0:90:FB:10:DA:50
type:0x800 len:0x45
10.1.1.3:517 -> 10.1.1.2:24833 TCP TTL:255 TOS:0x0 ID:7047
IpLen:20 DgmLen:55
******S* Seq: 0x182BED9F Ack: 0x6E2A3325 Win: 0x1000
TcpLen: 20
74 68 69 73 20 69 73 20 61 20 62 6F 6F 6B 0A this is a book.
網路安全
8-105
Snort封包記錄模式(Packer logger mode)
• 要記錄封包需先指定一個目錄來儲存資料
• 常用指令
– snort -vde -l /var/log/snort
•
•
•
•
-v 表示監聽封包,只用-v僅顯示封包標頭
-d 顯示封包的application layer,即payload
-e 除了原先封包,再加上Ethernet資料
-l 此參數後面接儲存(log)到哪個資料夾
• 若要儲存二進位(binary)檔,使用
– snort -l /var/log/snort -b
• -b 表示log成tcpdump格式,即binary code
網路安全
8-106
讀取封包紀錄
• 封包的紀錄有特定格式,用一般文字編輯器無法
正確檢視
• 假設讀取的檔案為snort.log,使用
– snort -dvr snort.log
• -r 後面接讀取的封包檔案
• 讀取時可過濾出封包的通訊協定
– snort -dvr snort.log tcp
網路安全
8-107
封包記錄模式範例
• 情境
– Nemesispc傳送數個tcp與udp封包到Snortpc
– Snortpc將其記錄成log並閱讀tcp封包
• Snortpc輸入指令
– snort -vde -l /var/log/snort -i eth4
• Nemesispc輸入指令
– nemesis tcp -S 10.1.1.3 -D 10.1.1.2 [*3 (執行3次)]
– nemesis udp -S 10.1.1.3 -D 10.1.1.2 [*5 (執行5次) ]
網路安全
8-108
封包記錄模式範例 (續)
• Snortpc鍵入「 Ctrl + c 」中斷後
– 所有收到封包皆會被log
• 事實上只有送出3個TCP封包
– 但TCP連線會有ACK封包,所
以右圖中會記錄6個TCP封包
網路安全
Breakdown by protocol (includes rebuilt packets):
ETH: 27
(100.000%)
ETHdisc: 0
(0.000%)
VLAN: 0
(0.000%)
IPV6: 0
(0.000%)
IP6 EXT: 0
(0.000%)
IP6opts: 0
(0.000%)
IP6disc: 0
(0.000%)
IP4: 16
(59.259%)
IP4disc: 0
(0.000%)
TCP 6: 0
(0.000%)
UDP 6: 0
(0.000%)
ICMP6: 0
(0.000%)
ICMP-IP: 0
(0.000%)
TCP: 6
(22.224%)
UDP: 5
(18.5194%)
ICMP: 5
(18.5194 %)
TCPdisc: 0
(0.000%)
UDPdisc: 0
(0.000%)
ICMPdis: 0
(0.000%)
FRAG: 0
(0.000%)
FRAG 6: 0
(0.000%)
ARP: 2
(7.4074%)
EAPOL: 0
(0.000%)
ETHLOOP: 0
(0.000%)
IPX: 0
(0.000%)
OTHER:92
(33.333%)
DISCARD: 0
(0.000%)
InvChkSum: 0
(0.000%)
S5 G 1: 0
(0.000%)
S5 G 2: 0
(0.000%)
Total: 27
8-109
封包記錄模式範例 (續)
• /var/log/snort資料夾產生以電腦時間秒數名稱之log
檔,「snort.log.1243123912」
[root@Snortpc log]# ls snort.log.1243123912
• 下此指令以讀取先前之記錄
=====================================
Snort processed 27 packets
=====================================
Breakdown by protocol (includes rebuilt packets):
ETH: 27
(100.000%)
ETHdisc: 0
(0.000%)
VLAN: 0
(0.000%)
‧‧‧‧‧
‧‧‧‧‧
IP6disc: 0
(0.000%)
IP4: 16
(59.259%)
IP4disc: 0
(0.000%)
TCP 6: 0
(0.000%)
UDP 6: 0
(0.000%)
ICMP6: 0
(0.000%)
ICMP-IP: 0
(0.000%)
TCP: 6
(22.224%)
UDP: 5
(18.5194%)
ICMP: 5
(18.5194 %)
TCPdisc: 0
(0.000%)
‧‧‧‧‧
FRAG 6: 0
(0.000%)
ARP: 2
(7.4074%)
EAPOL: 0
(0.000%)
ETHLOOP: 0
(0.000%)
IPX: 0
(0.000%)
OTHER:92
(33.333%)
DISCARD: 0
(0.000%)
‧‧‧‧‧
Total: 27
– 「snort -dvr snort.log.1243123912」
05/23-13:27:40.585458 10.1.1..3 -> 10.1.1.2:1335
TCP TTL:255 TOS:0x0 ID:33673 IpLen:20 DgmLen:40
******S* Seq: 0x7C350C05 Ack: 0x558737DF Win: 0x1000 TcpLen: 20
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
05/23-13:27:46.002166 10.1.1.3:736 -> 10.1.1.2:52561
TCP TTL:255 TOS:0x0 ID:34205 IpLen:20 DgmLen:40
******S* Seq: 0x52F0E8D Ack: 0x78B7E6B2 Win: 0x1000 TcpLen: 20
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
05/23-13:27:49.604146 10.1.1.3:40055 -> 10.1.1.2:49537
TCP TTL:255 TOS:0x0 ID:9969 IpLen:20 DgmLen:40
******S* Seq: 0x16F6081B Ack: 0x59F18945 Win: 0x1000 TcpLen: 20
網路安全
8-110
封包記錄模式範例 (續)
• 過濾只含有tcp的封包
– 輸入指令
• snort -dvr snort.log.1243123912 tcp
• 只出現tcp封包如右圖
網路安全
Breakdown by protocol (includes rebuilt packets):
ETH: 6
(100.000%)
ETHdisc: 0
(0.000%)
VLAN: 0
(0.000%)
IPV6: 0
(0.000%)
IP6 EXT: 0
(0.000%)
IP6opts: 0
(0.000%)
IP6disc: 0
(0.000%)
IP4: 6
(100.000%)
IP4disc: 0
(0.000%)
TCP 6: 0
(0.000%)
UDP 6: 0
(0.000%)
ICMP6: 0
(0.000%)
ICMP-IP: 0
(0.000%)
TCP: 6
(100.000%)
UDP: 0
(0.000%)
ICMP: 0
(0.000 %)
TCPdisc: 0
(0.000%)
UDPdisc: 0
(0.000%)
ICMPdis: 0
(0.000%)
FRAG: 0
(0.000%)
FRAG 6: 0
(0.000%)
ARP: 0
(0.000 %)
EAPOL: 0
(0.000%)
ETHLOOP: 0
(0.000%)
IPX: 0
(0.000%)
OTHER:0
(0.000 %)
DISCARD: 0
(0.000%)
InvChkSum: 0
(0.000%)
S5 G 1: 0
(0.000%)
S5 G 2: 0
(0.000%)
Total: 6
8-111
Snort入侵偵測模式(IDS mode)
• Snort在IDS mode下,為一個signature-base IDS
• 藉著設定好的規則來對所有經過的封包進行比對偵測
• 基本指令
– snort -dev -l /var/log/snort -h 192.168.1.0/24 -c snort.conf
• -h 後面接某個網段
• -c 後面接規則檔案
• snort.conf 檔案可讀取與管理許多規則
• 若不加參數,alert將會一併存至log資料夾下
• 稍後實驗課程將介紹如何編輯導入規則
網路安全
8-112
Snort入侵偵測模式(IDS mode) (續)
• Snort alert 顯示方式
– -A fast快速警告模式
– -A full完整警告模式(預設)
– -A unsock將警告訊息送至UNIX的socket上,供其
他裝置檢視
– -A none關閉警告功能
– -A console將警告訊息送至終端機(Console)
• 若不設定便會將alert以檔案型式存至log資料夾
網路安全
8-113
架設實作(五)
Snort攻防實驗實習
網路安全
8-114
實驗一
• 近幾年DoS攻擊漸趨頻繁,尤其又以ICMP DoS攻
擊傷害最為嚴重。在此實驗我們假設有一攻擊者
發出ICMP封包,並包括特殊的內容,而受害者要
使用Snort去擋下封包並發出警示
網路安全
8-115
Victim - 設定rules
• 在local.rules裡面加入所需要的rules來防止攻擊
– 在snort-2.9.2.1路徑下輸入指令
• vi rules/local.rules
– 在local.rules裡面加入rules
• alert icmp any any -> any any (msg:"Under
attack";content:"This is attack";sid:100002;)
# $Id: local.rules,v 1.11 2004/07/23 20:15:44 bmc Exp $
# ---------------# LOCAL RULES
# ---------------# This file intentionally does not come with signatures. Put your local
# additions here.
alert icmp any any -> any any (msg:"Under attack";content:"This is attack";sid:100002;)
網路安全
8-116
Victim - rules設定規則說明
• 其規則設定順序如下所示
– (action) (protocol) (source ip & port) (direction) (dest
ip & port) (rule)
• 在rule1部分,(msg:"Under attack";content:"This is
attack";sid:100002;)
– msg為當偵測有此攻擊時,所顯示的訊息
– content為偵測封包內容是否有此訊息
– sid為規則編號,但若自行定義規則時,請注意編
號不可相同
網路安全
8-117
Victim - 執行
• 建立完rules則啟動Snort執行防護
– 在snort-2.9.2.1路徑下輸入指令
• snort -de -i eth4 -l /var/log/snort -c rules/local.rules -A
console
• P.S:Victim要先執行Snort才有辦法防止攻擊,所
以攻擊發出前記得要先執行Snort
網路安全
8-118
Attacker - 準備攻擊
• 使用Nemesis作為攻擊的工具
– 輸入指令
• nemesis icmp -v -S 10.1.1.3 -D 10.1.1.2 -P -
– 在payload底下輸入
• This is attack
[root@ Nemesispc nemesis-1.4]# nemesis icmp -v -S 10.1.1.3 -D 10.1.1.2 -P ICMP Packet Injection -=- The NEMESIS Project Version 1.4 (Build 26)
[IP] 10.1.1.3 > 10.1.1.2
[IP ID] 21552
[IP Proto] ICMP (1)
[IP TTL] 255
[IP TOS] 0x00
[IP Frag offset] 0x0000
[IP Frag flags]
[ICMP Type] Echo Request
[ICMP Code] Echo Request
[ICMP ID] 64486
[ICMP Seq number] 24526
This is attack
Wrote 43 byte ICMP packet.
ICMP Packet Injected
網路安全
8-119
Victim - 查看結果
• 查看是否有攻擊,如果有遭受攻擊則即時反應出
alert
Commencing packet processing (pid=21516)
06/17-01:08:47.337095 [**] [1:100002:0] Under attack [**] [Priority: 0] {ICMP} 10.1.1.3 -> 10.1.1.2
06/17-01:08:47.337114 [**] [1:100002:0] Under attack [**] [Priority: 0] {ICMP} 10.1.1.2 -> 10.1.1.3
網路安全
8-120
Victim - 查看結果 (續)
• 結束執行中的Snort
• 可發現收到ICMP封包並
且在Action Stats處顯示
「ALERTS」
網路安全
IP4: 2
(4.651%)
IP4disc: 0
(0.000%)
TCP 6: 0
(0.000%)
UDP 6: 0
(0.000%)
ICMP6: 0
(0.000%)
ICMP-IP: 0
(0.000%)
TCP: 0
(0.000%)
UDP: 0
(0.000%)
ICMP: 2
(4.651%)
TCPdisc: 0
(0.000%)
UDPdisc: 0
(0.000%)
ICMPdis: 0
(0.000%)
FRAG: 0
(0.000%)
FRAG 6: 0
(0.000%)
ARP: 2
(4.651%)
EAPOL: 0
(0.000%)
ETHLOOP: 0
(0.000%)
IPX: 0
(0.000%)
OTHER: 39
(90.698%)
DISCARD: 0
(0.000%)
InvChkSum: 0
(0.000%)
S5 G 1: 0
(0.000%)
S5 G 2: 0
(0.000%)
Total: 43
=======================================
Action Stats:
ALERTS: 2
LOGGED: 2
PASSED: 0
8-121
Victim - 查看結果 (續)
• 打開log指定路徑底下同樣有Alert資訊
– 在snort-2.9.2.1路徑下輸入指令
• cd /var/log/snort/
• snort -dvr snort.log.xxxxxxx(讀取檔案中的log)
網路安全
8-122
實驗二
• 假設在實驗一中我們發現攻擊封包皆來自於同一
個可疑位址,因此在實驗二便用Snort 將所有來自
於可疑位址50.100.0.0/16 的封包紀錄皆過濾出來
網路安全
8-123
設定Rules
• 在snort-2.9.2.1路徑下輸入指令,並加入規則
– vi rules/local.rules
– log ip 50.100.0.0/16 any -> any any (msg:"Data
coming from strange address.";sid:1000003;)
• 執行Snort
# $Id: local.rules,v 1.11 2004/07/23 20:15:44 bmc Exp $
# ---------------# LOCAL RULES
# ---------------# This file intentionally does not come with signatures. Put your local
# additions here.
log ip 50.100.0.0/16 any -> any any (msg:"Data from strange
address.";sid:1000003;)
– 輸入指令
• snort -de -i eth4 -l /var/log/snort -c rules/local.rules
網路安全
8-124
用Nemesis產生封包
• 產生數個來自可疑位址的封包
– 輸入指令
• nemesis tcp -S 50.100.1.1 -D 10.1.1.2
• nemesis tcp -S 50.100.2.2 -D 10.1.1.2
• nemesis tcp -S 50.100.2.3 -D 10.1.1.2
• 兩個正常位址的封包
– 輸入指令
• nemesis tcp -S 10.1.1.3 -D 10.1.1.2
• nemesis tcp -S 50.50.1.1 -D 10.1.1.2
網路安全
8-125
從Log 觀察記錄
• 於Snortpc主機,新開連連視窗觀察log
– 輸入指令
• snort -dvr /var/log/snort/snort.log.xxxxxxxxx
06/07-13:27:40.585458 50.100.1.1:7187 -> 10.1.1.2:1335
TCP TTL:255 TOS:0x0 ID:33673 IpLen:20 DgmLen:40
******S* Seq: 0x7C350C05 Ack: 0x558737DF Win: 0x1000 TcpLen: 20
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
06/07-13:27:46.002166 50.100.2.2:3736 -> 10.1.1.2:52561
TCP TTL:255 TOS:0x0 ID:34205 IpLen:20 DgmLen:40
******S* Seq: 0x52F0E8D Ack: 0x78B7E6B2 Win: 0x1000 TcpLen: 20
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
06/07-13:27:49.604146 50.100.2.3:40055 -> 10.1.1.2:49537
TCP TTL:255 TOS:0x0 ID:9969 IpLen:20 DgmLen:40
******S* Seq: 0x16F6081B Ack: 0x59F18945 Win: 0x1000 TcpLen: 20
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
Run time for packet processing was 0.633 seconds
===================================================================
Snort processed 3 packets.
===================================================================
• 成功過濾三個來自可疑位址的封包,並包含了日
期與時間等資訊
網路安全
8-126
結束Snort查看結果
• 「Ctrl + c」結束Snort後,同樣顯示收到與過濾的
by protocol (includes rebuilt
封包 Breakdown
packets):
ETH: 351
ETHdisc: 0
VLAN: 0
IPV6: 0
IP6 EXT: 0
IP6opts: 0
IP6disc: 0
IP4: 5
IP4disc: 0
TCP 6: 0
UDP 6: 0
ICMP6: 0
ICMP-IP: 0
TCP: 5
UDP: 0
ICMP: 0
TCPdisc: 0
UDPdisc: 0
ICMPdis: 0
FRAG: 0
FRAG 6: 0
(100.000%)
(0.000%)
(0.000%)
(0.000%)
(0.000%)
(0.000%)
(0.000%)
(1.425%)
(0.000%)
(0.000%)
(0.000%)
(0.000%)
(0.000%)
(1.425%)
(0.000%)
(0.000 %)
(0.000%)
(0.000%)
(0.000%)
(0.000%)
(0.000%)
ARP: 4
EAPOL: 0
ETHLOOP: 0
IPX: 0
OTHER:342
DISCARD: 0
InvChkSum: 0
S5 G 1: 0
S5 G 2: 0
Total: 351
(1.140 %)
(0.000%)
(0.000%)
(0.000%)
(97.436 %)
(0.000%)
(0.000%)
(0.000%)
(0.000%)
Action Stats:
ALERTS: 0
LOGGED: 3
PASSED: 0
網路安全
8-127
Module 8-5 :防火牆入侵偵測聯合防禦
系統(**)
網路安全
8-128
實驗環境介紹
偵測主機(Snort)
防火牆(Firewall)
使用網路攻擊
受害者(Victim)
駭客(Nemesis)
網路安全
8-129
架設實作(六)
Snort與Iptables之聯合防禦系統
網路安全
8-130
實驗環境介紹
• 以Testbed建立一實驗,相關拓樸及設定如下圖
snort
OS:FC6-STD
IP1:10.1.2.2
IP2:10.1.3.2
安裝軟體:Snort
attacker
OS:FC6-STD
IP:10.1.1.2
安裝軟體:Nemesis
IP1
IP2
IP1
victim
OS:FC6-STD
IP:10.1.3.3
安裝軟體:N/A
IP2
網路安全
firewall
OS:FC6-STD
IP1:10.1.1.3
IP2:10.1.2.3
安裝軟體:Iptables
8-131
實驗拓樸on Testbed@TWISC
- 建立完成的實驗拓樸
網路安全
8-132
說明
• 架設實作(六),依實驗拓樸
– 使用snort主機安裝Snort軟體來偵測入侵行為
• Snort的安裝請參考第61頁至66頁
– 使用attacker主機安裝Nemesis軟體以產生攻擊的情
形
• Nemesis的安裝請參考第83頁至84頁
– 使用firewall主機內建的Iptables軟體設置阻擋攻擊
網路安全
8-133
Snort - 執行
• 啟動Snort執行防護
– 在local.rules裡面加入rules
• alert icmp any any -> any any (msg:"Under
attack";content:"This is attack";sid:100002;)
– 在snort-2.9.2.1路徑下輸入指令
• snort -de -i eth4 -l /var/log/snort -c rules/local.rules -A
console
網路安全
8-134
Attacker - 準備攻擊
• 使用Nemesis作為攻擊的工具
• 輸入指令
– nemesis icmp -v -S 10.1.1.2 -D 10.1.3.3 -P -
• 在payload底下輸入
– This is attack
[root@ Nemesispc nemesis-1.4]# nemesis icmp -v -S 10.1.1.2
-D 10.1.3.3 -P ICMP Packet Injection -=- The NEMESIS Project Version 1.4
(Build 26)
[IP] 10.1.1.2 > 10.1.3.3
[IP ID] 21552
[IP Proto] ICMP (1)
[IP TTL] 255
[IP TOS] 0x00
[IP Frag offset] 0x0000
[IP Frag flags]
[ICMP Type] Echo Request
[ICMP Code] Echo Request
[ICMP ID] 64486
[ICMP Seq number] 24526
This is attack
Wrote 43 byte ICMP packet.
ICMP Packet Injected
網路安全
8-135
Victim - 查看結果
• 查看是否有攻擊,如果有遭受攻擊則即時反應出
alert
Commencing packet processing (pid=22825)
01/21-00:21:55.185081 [**] [1:100002:0] Under attack [**] [Priority: 0] {ICMP} 10.1.1.2 -> 10.1.3.3
01/21-00:21:55.188105 [**] [1:100002:0] Under attack [**] [Priority: 0] {ICMP} 10.1.3.3 -> 10.1.1.2
• 由其alert可觀察到IP:10.1.1.2攻擊IP:10.1.3.3
網路安全
8-136
Firewall - 設定阻擋
• 於firewall主機,利用iptables阻斷攻擊
– 輸入指令
• sudo su • iptables -A FORWARD -i eth4 -s 10.1.1.2 -d 10.1.3.3 j DROP
• 查看是否成功設置
– 輸入指令
• iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source
destination
Chain FORWARD (policy ACCEPT)
target prot opt source
destination
DROP
all -- 10.1.1.2
10.1.3.3
Chain OUTPUT (policy ACCEPT)
target prot opt source
destination
網路安全
8-137
驗證是否成功阻擋
• Attacker繼續攻擊Victim
[root@ Nemesispc nemesis-1.4]# nemesis icmp -v -S 10.1.1.2
-D 10.1.3.3 -P ICMP Packet Injection -=- The NEMESIS Project Version 1.4
(Build 26)
[IP] 10.1.1.2 > 10.1.3.3
[IP ID] 21552
[IP Proto] ICMP (1)
[IP TTL] 255
[IP TOS] 0x00
[IP Frag offset] 0x0000
[IP Frag flags]
[ICMP Type] Echo Request
[ICMP Code] Echo Request
[ICMP ID] 64486
[ICMP Seq number] 24526
This is attack
Wrote 43 byte ICMP packet.
ICMP Packet Injected
• Snort並無偵測出新的alert
Commencing packet processing (pid=22825)
01/21-00:21:55.185081 [**] [1:100002:0] Under attack [**] [Priority: 0] {ICMP} 10.1.1.2 -> 10.1.3.3
01/21-00:21:55.188105 [**] [1:100002:0] Under attack [**] [Priority: 0] {ICMP} 10.1.3.3 -> 10.1.1.2
網路安全
8-138
驗證是否成功阻擋 (續)
• 防火牆確實收到封包並阻擋使其無法繼續傳送
01/21-01:00:01.424449 00:90:FB:10:DE:7F -> 00:90:FB:10:DD:71 type:0x800 len:0x3C
10.1.1.2 -> 10.1.3.3 ICMP TTL:255 TOS:0x0 ID:12017 IpLen:20 DgmLen:43
Type:8 Code:0 ID:17151 Seq:12574 ECHO
54 68 69 73 20 69 73 20 61 74 74 61 63 6B 0A This is attack.
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
網路安全
8-139
驗證是否成功阻擋 (續)
• firewall主機,解除阻擋
– 輸入指令
• iptables -D FORWARD -i eth4 -s 10.1.1.2 -d 10.1.3.3 j DROP
• Attacker繼續攻擊Victim
– 輸入指令
• nemesis icmp -v -S 10.1.1.2 -D 10.1.3.3 -P –
• Snort便能偵測出新alert
Commencing packet processing (pid=22825)
01/21-00:21:55.185081 [**] [1:100002:0] Under attack [**] [Priority: 0] {ICMP} 10.1.1.2 -> 10.1.3.3
01/21-00:21:55.188105 [**] [1:100002:0] Under attack [**] [Priority: 0] {ICMP} 10.1.3.3 -> 10.1.1.2
01/21-01:07:25.235984 [**] [1:100002:0] Under attack [**] [Priority: 0] {ICMP} 10.1.1.2 -> 10.1.3.3
01/21-01:07:25.237437 [**] [1:100002:0] Under attack [**] [Priority: 0] {ICMP} 10.1.3.3 -> 10.1.1.2
網路安全
8-140
結論
• 學習在Testbed建立實驗環境,用Snort訂定規則來
進行防護
• 學習到Snort工具的運作機制與方法
• 學會針對各種不同攻擊自行產生防護規則
• 學會使用Nemesis工具來自行練習
• 將原有的偵測軟體搭配上可以阻斷的防火牆後,
便能達成一聯合防禦系統,不再只是一個偵測攻
擊的系統
網路安全
8-141
習題
網路安全
8-142
習題
1. 請圖示說明Snort如何根據Snort rules來防止外在
的攻擊
2. 在Rule Actions 中提到如果發現攻擊,要如何做
處理,請提出五項方式且說明之
3. 當使用Nemesis以icmp封包進行攻擊時,Snort所
偵測之警告為何會有兩個封包?
網路安全
8-143
習題 (續)
4. 試說明圖中Detection Engine和Output的作用
Detection
Signature
(plug-ins)
Packet Capture
Library
Snort Packet
Decoder
Preprocessor
(plug-ins)
Detection
Engine
Output
(plug-ins)
網路安全
8-144
Module 8-6 :入侵偵測系統的專案實作
(**)
網路安全
8-145
專案實作(一)
網路安全
8-146
專案目的
• 用Snort建立有效的入侵偵測系統
• 用知名的攻擊封包來實際測試,瞭解建立的系統
可靠度
網路安全
8-147
專案描述
• A公司為貪圖方便,使用Snort且直接套用官方網
站免費下載的規則檔來架設IDS,但不知道能否順
利偵測一些常見的攻擊。扮演最佳網管的同學們
,需自定方法攻擊並對IDS建立與修改規則來抵擋
這些攻擊
• 參考環境配置圖,模擬下列狀況
學習使用IDSwakeup產生攻擊的封包
針對這些自訂的攻擊,對Snort制定相對應的規則
來抵擋這些入侵
練習攻擊模式並且自我防護
網路安全
8-148
專案描述 (續)
網管同學建立rule來防護主機
攻擊方同學
使用網路攻擊測試系統
系統主機(Snort)
測試主機(IDSwakeup)
網路安全
8-149
環境配置圖
IDSwakeup
OS:FC6-STD
IP:10.1.1.2
安裝軟體:IDSwakeup
eth4
Snort
OS:FC6-STD
IP:10.1.1.3
安裝軟體:Snort
網路安全
8-150
專案實作(二)
網路安全
8-151
專案目的
• 利用防火牆入侵偵測聯合防禦系統阻絕惡意攻擊
• 利用不同協定(protocol)分別進行阻擋
網路安全
8-152
專案描述
• 當IDS偵測到之異常來源時,其來源不一定是真正
的攻擊者,有可能只是Attacker藉由某台電腦進行
操控與攻擊,因此在防禦端只能從相關之協定進
行阻擋,而不能直接將此來源IP全部阻擋
• 參考環境配置圖,模擬下列狀況
學習使用Nemesis產生相關之攻擊封包
針對IDS所偵測到這些自訂的攻擊警告,利用防火
牆分門別類的將其阻擋
網路安全
8-153
專案描述 (續)
不同的攻擊方式(Nemesis)
受害者(Victim)
防火牆(Firewall)
偵測主機(Snort)
網路安全
8-154
環境配置圖
snort
OS:FC6-STD
IP1:10.1.2.2
IP2:10.1.3.2
安裝軟體:Snort
attacker
OS:FC6-STD
IP:10.1.1.2
安裝軟體:Nemesis
IP1
IP2
victim
OS:FC6-STD
IP:10.1.3.3
安裝軟體:N/A
IP1
IP2
網路安全
firewall
OS:FC6-STD
IP1:10.1.1.3
IP2:10.1.2.3
安裝軟體:Iptables
8-155
作業繳交說明
• 請參考情境完成作業,並將過程擷圖列於報告中
• 基於基本情境再多實作一些擴充情境可額外加分
• 請於 2012/05/16 23:59 前將報告上傳FTP
• 若在實作方面有問題,請寄信給助教,謝謝。
網路安全
7-156
祝大家5/2期中考順利!!
網路安全
8-157
參考資料
• 陳瑞文(民94年)。WIPS:針對Web 應用安全實作之入侵防禦系統。
國立中正大學通訊工程研究所論文,未出版,嘉義縣。
• 蔡文能(民94年)。預防擬態攻擊之入侵偵測防禦系統。國 立 交 通 大
學資 訊 工 程 研究所論文,未出版,新竹市。
• 沈文吉(民90年)。網路安全監控與攻擊行為之分析與實作。國 立 台灣
大 學資訊管理研究所論文,未出版,台北市。
• Snort. Wikipedit. Retrieved June 22, 2009, from the World Wide Web:
http://en.wikipedia.org/wiki/Snort
• Hping2, http://www.hping.org/
• Scott Charlie. (Ed.). (2004). Snort for Dummies. California: Baker &
Taylor
• Nemesis, http://nemesis.sourceforge.net/
• Snort, http://www.snort.org
• Snort Setup Guides, http://www.snort.org/docs/setup-guides
網路安全
8-158
0
You can add this document to your study collection(s)
Sign in Available only to authorized usersYou can add this document to your saved list
Sign in Available only to authorized users(For complaints, use another form )