Transcript Document

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
[email protected]..?-. ..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