• 沒有找到結果。

第四章 實作技術與實驗結果

4.5 防⽕火牆⾃自動邏輯⽣生成實驗結果

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

安裝完成後,Snort的設定檔都在snort.conf裡。︒我們須先設定被保護之網段的 HOME_NET參數,此處為10.55.211.0/24,並設定測試所⽤用之規則。︒Snort同時也⽀支援圖 形化的操作介⾯面(ACIDBase),但由於本實驗中並未使⽤用到,故在此不安裝。︒Snort 提供 多種警告訊息輸出格式,分別為:unified2、︑alert_unified2、︑log_unified2、︑syslog、︑pcap 及MySQL,此處我們使⽤用pcap格式,並由Unix Domain Socket做出即時警告。︒

4.4.4 POX Controller安裝

POX是基於Python語⾔言開發的控制器,由於Linux Ubuntu已內建Python 2.7的版本,因 此只需安裝git並使⽤用git下載程式即可。︒

4.5 防⽕火牆⾃自動邏輯⽣生成實驗結果

為驗證防⽕火牆邏輯⾃自動⽣生成功能,在實驗開始前,交換機上並無設定任何資料流表項,

我們藉由下列指令進⾏行資料流表項之查詢:

查詢後結果如圖4.5所⽰示,顯⽰示資料流表內⽬目前沒有任何資料。︒

圖4.5 初始資料流表。︒

$sudo apt get install git

$sudo git clone http://github.com/noxrepo/pox

$sudo ovs-ofctl dump-flows br0

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

接下來在Client主機上使⽤用ping以及netcat等指令進⾏行測試,產⽣生ICMP、︑TCP、︑

UDP等封包,並配合不同的連接埠進⾏行3個測試案例。︒

1. 使⽤用ping指令送出ICMP封包至Server1進⾏行測試

此時由於資料流表內並無任何相符規則,因此交換機會將此封包轉發給控制器,

⽽而控制器收到此封包後,會分析該封包之內容,並向交換機下達指令,允許相同類型 之封包通過。︒此時我們可看到ping指令成功執⾏行,資料流表內也已新增相關表項,同 時會觸發觀測時間,以⽬目的地的IP address為依據,此⼀一時間內收到的封包均予以通⾏行,

時間到達後則將阻擋不存在於資料流表內的流量。︒

圖4.6 Client ping Server1成功畫⾯面。︒

圖4.7 資料流表項新增成功畫⾯面。︒

路由表項各欄位說明如下:

cookie:暫存值。︒

duration:表項時間。︒

$ping 10.211.55.7

n_packets:此路由表項收到之封包數量。︒

n_bytes:此路由表項收到之封包總⼤大⼩小。︒

idle_age:閒置時間。︒

priority:優先序,值越⼤大代表優先權越⾼高。︒

protocol:通訊協定。︒

in_port:交換機上的實體埠號。︒

vlan_tci:vlan tag。︒

dl_src:封包來源之Mac address。︒

dl_dst:封包⽬目的之Mac address。︒

nw_src:封包來源之IP address。︒

nw_dst:封包⽬目的之IP address。︒

nw_tos:IPv4 Type of Service。︒

icmp_type:ICMP封包類型。︒

icmp_code:ICMP封包代碼。︒

action:執⾏行之動作。︒

output:封包傳送之實體傳送埠號。︒

2. 接下來以netcat指令向Server1送出TCP port:80的封包,模擬web流量以進⾏行測試,我 們可以看到交換機的flow table內也成功新增了相關flow entry。︒

$nc 10.211.55.7 80

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

圖4.8 資料流表新增TCP:80成功畫⾯面

3. 使⽤用netcat指令向Server2送出TCP port:20、︑22封包,產⽣生FTP、︑ SSH流量進⾏行測 試,可以看到交換機的flow table內也成功新增了相關flow entry。︒

圖4.9 資料流表新增SSH、︑FTP流量成功畫⾯面

$nc 10.211.55.8 20

$nc 10.211.55.8 22

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

接下來待所設定之觀測時間到達後,繼續進⾏行測試。︒如圖4.10所⽰示,可以看到交換 機上已經新增了對Server1、︑Server2 action = drop的表項,若是封包不存於路由表內,

則會被丟棄,不會再傳給控制器,以達到⾃自動防⽕火牆功效。︒

圖4.10 資料流表新增drop規則畫⾯面。︒

⾃自動防⽕火牆邏輯產⽣生後,我們透過直接傳送封包的⽅方式進⾏行測試,證明本研究所 提出之理論可⾏行,⾃自動產⽣生之邏輯正確無誤。︒⾸首先使⽤用Client ping Server1、︑Server2,

可以看到成功ping到Server1,但卻無法ping到Server2。︒接著利⽤用netcat對Server1主機產

⽣生TCP : 20、︑21、︑80進⾏行測試,如圖4.11-4.13所⽰示,只有在觀測時間內所允許之流量 可以通⾏行,其餘封包皆會被丟棄,達到⾃自動防⽕火牆之效果。︒


‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

圖4.11 ⾃自動防⽕火牆測試結果(ping Server1,Server2)。︒

圖4.12 ⾃自動防⽕火牆測試結果(Server1 TCP port 20,21)。︒

圖4.13 ⾃自動防⽕火牆測試結果(Server1 TCP port 80)。︒