實驗6 封包過濾功能設定與操作 - 雲林科技大學計算機網路研究室

Download Report

Transcript 實驗6 封包過濾功能設定與操作 - 雲林科技大學計算機網路研究室

實驗 6:交換器/路由器/防火牆
之封包過濾功能設定與操作
國立雲林科技大學
自由軟體研發中心
實驗 6:交換器/路由器/防火牆
之封包過濾功能設定與操作

前言
前言
確保中小型的區域網路的安全性,可以利用交換器、路由器、防火牆等設備
來達到,本章將介紹如何設定交換器/防火牆上相關的過濾機制,以下為本實
驗主要的網路架構。
Outside
140.125.32.19
Inside
192.168.100.1
Cisco ASA 5520
Internet
DMZ
192.168.30.1
Cisco Switch 3560
VLAN 2
VLAN 3
Web Server
Public IP : 140.125.32.19
VLAN 4
國立雲林科技大學 自由軟體研發中心
2
實驗 6:交換器/路由器/防火牆
之封包過濾功能設定與操作

scenario
Scenario
本實驗的網路架構模擬一個中小型的區域網路,對中小型的企業而言,我們
可以使用交換器劃分出VLAN2、3、4,將VLAN2、3、4做為每個部門的區隔,
企業對外的網頁伺服器置放於DMZ的區域中。網路管理者可以針對交換器及
防火牆來阻隔網路攻擊並且管理使用者的網路行為。
Outside
140.125.32.19
Inside
192.168.100.1
Cisco ASA 5520
會計部門
VLAN 2
Internet
DMZ
192.168.30.1
Cisco Switch 3560
研發部門
VLAN 3
管理部門
VLAN 4
Web Server
Private IP:192.168.30.30
Public IP : 140.125.32.19
國立雲林科技大學 自由軟體研發中心
3
實驗 6:交換器/路由器/防火牆
之封包過濾功能設定與操作
Firewall Interfaces

防火牆基本可以劃分為三種區域。網路管理者
規劃網路時可以依據這三種介面來區分安全性。
 Outside
防火牆唯一對外的出口。本範例中將此介
面ip設為140.125.32.19。DMZ與Inside都必
須經由此介面進出。
 DMZ
企業對外公開的資訊規劃在此區域,例
如,Web Server或是Mail Server 等等。Ip
設為192.168.30.30
 Inside
為防火牆三種介面中,安全性最高的位
置,防火牆將嚴格檢視要進入Inside區域
的封包。Ip設為192.168.100.1。
Outside
IP address:140.125.32.19
Security level:0
DMZ
IP address :192.168.30.30
Security level :50
Inside
IP address:192.168.100.1
Security level :100
Firewall 介面設定
Firewall Interfaces 設定

Security level
level數值越高,表示安全性越高,Security level
另一個代表的意義是當封包由level高的地方流
向低的level,防火牆會允許通過,反之當封包
由level低的流向level高的地方時,防火牆將會
deny掉其封包。
通常Outside設為0、DMZ為50、Inside為100,
本實作遵循此設定。
國立雲林科技大學 自由軟體研發中心
4
實驗 6:交換器/路由器/防火牆
之封包過濾功能設定與操作
Firewall Interfaces 設定

設定防火牆介面
Firewall 介面設定
在此實驗中,防火牆設定的部分將採用ASDM
來 做 設 定 。 在 使 用 ASDM 之 前 , 建 議 使 用
Command Line Interface (CLI) 的方式先將介面
的IP位址設定好。其餘設定皆可使用ASDM完
成。

CLI設定
使用CLI設定IP位址方式如下:
進入欲設定的界面
ciscoasa(config)#interface int_num
設定介面名稱
ciscoasa(config-if)#nameif name
設定介面位址
ciscoasa(config-if)#ip add ip_add netmask
設定security-level
ciscoasa(config-if)# security-level value
國立雲林科技大學 自由軟體研發中心
5
實驗 6:交換器/路由器/防火牆
之封包過濾功能設定與操作
Configuration>Device Setup>Interfaces
1
3
2
Edit intfaces
Firewall Interfaces 設定

Firewall 介面設定
ASDM對於指令不熟的管理者實為一大福
音,圖形化的介面確實讓管理者感覺相當
親切,但是對於初學者而言,還是要從指
令入門會好些,否則依然會對這複雜的功
能弄得眼花撩亂。
 使用ASDM設定介面
1.先進入Configuration模式下
2.選擇Device Setup
3.選擇Interfaces
以上步驟達成之後,就可以看到主畫
面窗格出現目前的介面選項,接著在
主窗格的右邊選擇Edit,即可編輯介
面資訊。
國立雲林科技大學 自由軟體研發中心
6
實驗 6:交換器/路由器/防火牆
之封包過濾功能設定與操作
Switch

Switch
為了管理上的方便以及增進安全性,將用
VLAN將整體網路做劃分,一共分為三個
群組。在此範例中,除了用VLAN作為部
門間與部門間的區隔之外,在Switch上將
實行Port Security,這個動作可以避免有
心 人 士 做 CAM table overflow 與 MAC
address spoofing等等的攻擊。
A 部門
Switch
B部門
Switch的部分,需要實現下列需求:
 將A、B、C三部門,分別用三個
VLAN分隔開來。
 實行Port Security。
C 部門
國立雲林科技大學 自由軟體研發中心
7
實驗 6:交換器/路由器/防火牆
之封包過濾功能設定與操作
設定Switch

建立VLAN
VLAN
建立及分割VLAN主要分為下列步驟:

將實體的Port,加入VLAN中

檢查Port配置的狀態

建立VLAN
用下列指令建立
Switch#vlan database
Switch(vlan)#vlan ID
ID的範圍為1~4094,VLAN 1是Cisco預設的
VLAN,機器出廠時所有的Port預設為VLAN
1,VLAN 1不能刪除。1002~1005也不能使用
, 1005~4094 為 Extended-range 必 須 透 過 VTP
來使用。
設定VLAN 的 ip address
Switch(config)#interface vlan ID
Switch(config-if)#ip
address
ip_address
netmask
將實體Port加入VLAN中
Switch(config)#interface interface_number
Switch(config-if-range)#switchport
mode
access
Switch(config-if-range)#switchport
access
vlan ID
國立雲林科技大學 自由軟體研發中心
8
實驗 6:交換器/路由器/防火牆
之封包過濾功能設定與操作
設定Switch

建立VLAN
VLAN
規 劃 好 VLAN 之 後 , 在 本 實 驗 中 將 使 用
Switch作為DHCP伺服器來發送IP。在本實
作中除了VLAN 1之外,VLAN2、3、4都將
個別設定DHCP發送IP的range。


開啟DHCP服務
Switch(config)#service dhcp
配置DHCP服務
Switch(config)#ip dhcp pool pool_name
Switch(dhcp-config)#network ip_add netmask
Switch(dhcp-config)#default-router ip_add
Switch(dhcp-config)#dns-server ip_add
國立雲林科技大學 自由軟體研發中心
9
實驗 6:交換器/路由器/防火牆
之封包過濾功能設定與操作
設定Switch

Port Security
Port Security
執 行 Port Security 功 能 可 以 防 範 CAM
Table Overflow與MAC Spoofing的攻擊。
左圖(1)為本實作實驗的場景:


Fa0/7
主機A
主機B
Show Port Security
Hub

Switch

圖(1)-Port Security 實驗


將fa0/7這個Port限制最大可使用的MAC為
1個。並且設定若超過所指定的數量,
Switch的動作為Shutdown。
依據圖1的建構目前實驗的環境。
觀察Port Security
主機A取得IP之後,使用Show port-security
,觀看CurrentAddr欄位,會顯示1,代表
目前此Port有1主機存在(如左所示)。
將主機B接至HUB。
此時,fa0/7將會shutdown。主機A、B將無
法連線。
換你做做看
violation 有 三 種 方 式 可 以 設 定 , 分 別 為
shutdown、protect、restrict。
若與本例採用相同的架構但使用不同的
violation,其結果為何?
國立雲林科技大學 自由軟體研發中心
10
實驗 6:交換器/路由器/防火牆
之封包過濾功能設定與操作

NAT示意圖
NAT
以下為此實驗NAT的示意圖。
內部網路主機位址
140.125.32.19
NAT
Outside
140.125.32.19
Inside
192.168.100.1
Internet
Destination
DMZ
192.168.30.1
NAT
Web Server
Private IP:192.168.30.30
國立雲林科技大學 自由軟體研發中心
11
實驗 6:交換器/路由器/防火牆
之封包過濾功能設定與操作
NAT

NAT
140.125.32.19 only www
DMZ: 192.168.30.30
Internet
NAT
Inside:192.168.0.0/16
140.125.32.19
ASDM NAT配置圖
NAT
本實作需要設定NAT的介面如下:
 Inside->Outside
內部網路的封包要到外部網路時,將
會 進 行 NAT , 將 位 址 轉 換 為
140.125.32.19。
global (Outside) 1 interface
nat (Inside) 1 192.168.0.0 255.255.0.0

DMZ<->Outside
DMZ
中 Web server 的 IP 為
192.168.30.30 。 此 部 分 使 用 static
NAT , 將192.168.30.30靜態轉換成
140.125.32.19。
NAT 指令設定
Inside->Outside
Global (Outside) 1 interface
nat (Inside) 1 192.168.0.0 255.255.0.0
DMZ<->Outside
static (DMZ,Outside) 140.125.32.13 192.168.30.30
netmask 255.255.255.255
國立雲林科技大學 自由軟體研發中心
12
實驗 6:交換器/路由器/防火牆
之封包過濾功能設定與操作
Access rules

ASDM Access rules 配置圖
Access rules 指令設定
access-list Outside_access_in line 1 permit tcp any
host 140.125.32.19
eq www
Access list
當NAT設定完成之後,目前的網路架構
大致完成了,接下來的設定主要就是防火
牆的過濾原則設定了。在前面有介紹過
Security level的作用了,因此內部網路的
封包要到達其他介面是被防火牆所允許的
,當然您也可以設置ACL來阻擋。而從外
部網路欲到達內部網路(包含DMZ)的封包
如果沒有管理者所定義的ACL將會被防火
牆所阻擋。
在本實作,需要定義的ACL如下,由於
DMZ中有網頁伺服器,因此要設定ACL
,讓外部網路的HTTP封包可以被DMZ接
受。
 DMZ access list 設定
防火牆對外的出入口只有Outside這
個介面,因此我們在Outside中增加
一條規則來宣告所有要去web server
的封包(目的IP為140.125.32.19),允
許他通過。
國立雲林科技大學 自由軟體研發中心
13
實驗 6:交換器/路由器/防火牆
之封包過濾功能設定與操作
Configuring Filter Rules

ASDM ActiveX|java 設定
ActiveX|java 指令設定
語法:
filter {activex|java}
service src_ip netmask des_ip netmask
filter activex 80 192.168.0.0 255.255.0.0 0 0
ActiveX|java 過濾
現在大多數的互動式網頁多半都有內嵌
ActiveX或java的程式碼,這些程式碼雖
然可以讓網頁活起來,但是卻也變成駭客
可利用的工具之一。現在的瀏覽器多半都
會詢問使用者是否願意執行這些內嵌的程
式碼,但有些惡意網站,會在使用者不知
情的狀況自動下載惡意程式到電腦中並執
行(如:木馬)。
面對此種威脅,可以使用防火牆來防範,
因為防火牆中有ActiveX|java特徵碼資
料庫,防火牆會利用這些資料庫來比對封
包是否含有ActiveX或java 的程式碼,如
果含有ActiveX或java則阻擋。
在本實作架構中,左圖分別列出了使用
ASDM來設定與指令的設定方式。在本例
中,如果有外部網路使用80埠要對內部網
路做存取時,防火牆都會去比對是否有
ActiveX的特徵碼,若有則拒絕此封包進
入內部網路。
國立雲林科技大學 自由軟體研發中心
14
實驗 6:交換器/路由器/防火牆
之封包過濾功能設定與操作
Configuring Policy

• 將traffic做分類
Class-map
Policy-map
Servicemap
• 對各類別採取什麼限
制
• 加入欲應用的介面
Policy
我們都知道防火牆可以執行ACL與一些應
用程式的過濾,我們也知道用這些規則,
防火牆所執行的動作不是通過就是阻擋,
這樣的方式失去了彈性,防火牆另一項功
能可以用來識別一些特定的流量(IP位址
、埠位址等)防火牆可以允許這些特定的
流量進出,並且可以制訂一套對應的規則
來有所限制(如 限流),這就是Policy最大
的功能,他可以對封包做分類,讓過濾規
則可以彈性的發展,針對不同的類別有不
同的措施。接下來就是要學習如何來設定
Policy。
用CLI設定Policy有下列三個步驟:
 class-map
 policy-map
 service-policy
若採用ASDM則使用 Service Policy Rule
Policy 設定流程
Wizard。
國立雲林科技大學 自由軟體研發中心
15
實驗 6:交換器/路由器/防火牆
之封包過濾功能設定與操作
Configuring Policy (指令設定)

Class-map 指令設定
Pix(config)# access-list tcp_half extended permit tcp any any
Pix(config)#class-map tcp_half
Pix(config)#match access-list tcp_half
Class-map (指令設定)
Class-map最主要的是要將traffic做分類,
之後可以分別依據類別,走相應的規則。
Class-map設定的方式如下:
1.建立並命名 class-map
2.加入分類依據(如:使用ACL當作條件式
加入)
可以用來當作分類依據有相當多的方式,
本實驗簡單使用ACL作為分類依據來做介
紹,首先本實驗使用Policy主要的目的是
要防範SYN-flood攻擊,所以class-map要
用來區別出tcp的connection。
第一步:建立條件式(ACL將所有tc1分為
一類)。
第二步:建立並命名class-map,名稱可以
與ACL的名稱相同,較不易混淆。
第三部:加入先前所建立的條件式。
整個設定如左圖所示。
國立雲林科技大學 自由軟體研發中心
16
實驗 6:交換器/路由器/防火牆
之封包過濾功能設定與操作
Configuring Policy (指令設定)

Class-map 指令設定
Pix(config)# access-list tcp_half extended permit tcp any any
Pix(config)#class-map tcp_half
Pix(config)#match access-list tcp_half
Policy-map 指令設定
Pix(config)#policy-map tcp_half_open
Pix(config -pmap)#class tcp_half
Pix(config –pmap-c)#set connection embryonic-conn-max 1
Policy-map
如果可以將class-map想像成是交流道的話
,那麼Policy-map就是交流道上的收費站
或是普通道路的紅綠燈了。沒錯!Policymap就是用來對各類別採取限制的那一環
。Policy-map設定方式如下:
1.建立並命名Policy-map
2.加入建立好的class-map名稱
3.設定相對應的措施
在 class-map 階 段 我 們 已 將 所 有 的 tcp
connection分成一類了,所以現在我們要
將這些tcp connection做一個審核與相對應
的措施。
左圖的Policy-map代表的是符合tcp_half這
個 class-map 的 流 量 , 同 時 只 能 夠 有 1 個
half-open存在。
其 餘 相 關 的 措 施 可 參 考 cisco preventing
network attacks。
http://www.cisco.com/en/US/docs/security/a
sa/asa72/configuration/guide/protect.html
國立雲林科技大學 自由軟體研發中心
17
實驗 6:交換器/路由器/防火牆
之封包過濾功能設定與操作
Configuring Policy (指令設定)

Class-map 指令設定
Pix(config)# access-list tcp_half extended permit tcp any any
Pix(config)#class-map tcp_half
Pix(config-cmap)#match access-list tcp_half
Policy-map 指令設定
Service-Policy
到了Service-Policy 就是整個Policy的最後
一環了,當我們將class-map與policy-map
設定好之後,要將之加入欲應用的介面,
加入介面之後,整個Policy就完成了。
本實驗將policy應用在所有的介面,所以
使用global指令,當然也可以只加入單一
個介面來使用。
Pix(config)#policy-map tcp_half_open
Pix(config -pmap)#class tcp_half
Pix(config –pmap-c)#set connection embryonic-conn-max 1
Policy-map 指令設定
ciscoasa(config)# service-policy tcp_half_open global
國立雲林科技大學 自由軟體研發中心
18
實驗 6:交換器/路由器/防火牆
之封包過濾功能設定與操作

Configuring Policy (ASDM)
Policy 設定 (使用ASDM)
相較於用指令方式設定Policy,ASDM就容易得多了,使用精靈一步一步看著視窗上的說明
就可以完成整個Policy的設定。
下圖就是Service Policy Rule精靈的進入畫面,第一步要選擇的是這個Policy打算要應用在哪
個介面,第一個選項為個別的介面,第二個選項用在所有的介面。
本例中,我們Policy應用在防火牆所有的介面,因此選擇global選項,當然您也可以自己加
敘述。
國立雲林科技大學 自由軟體研發中心
19
實驗 6:交換器/路由器/防火牆
之封包過濾功能設定與操作

Configuring Policy (ASDM)
Policy 設定 (使用ASDM)
在Service Policy Rule精靈的第二步即等同於使用指令建立class-map般,由下圖可以知道我
們可以使用相當多種的方法來挑選適合的類別。
Use an existing traffic class選項代表要使用的是遷前所建立好的class-map。
在本例中,我們使用ACL作為Policy的分類依據,選擇如下圖的選項。
國立雲林科技大學 自由軟體研發中心
20
實驗 6:交換器/路由器/防火牆
之封包過濾功能設定與操作

Configuring Policy (ASDM)
Policy 設定 (使用ASDM)
如圖所示,這邊的ACL是一個分類的依據,所以防火牆所有的介面將TCP歸類為同一個類
別。
國立雲林科技大學 自由軟體研發中心
21
實驗 6:交換器/路由器/防火牆
之封包過濾功能設定與操作

Configuring Policy (ASDM)
Policy 設定 (使用ASDM)
最後一個步驟就是對於我們所歸類出的類別流量要採取哪些對應的措施。
大致上可以將此階段分為三類:Protocol Inspection、Connection Settings、Qos這三類。
國立雲林科技大學 自由軟體研發中心
22
實驗 6:交換器/路由器/防火牆
之封包過濾功能設定與操作

Configuring Policy (ASDM)
Policy 設定 (使用ASDM)
以本實驗為例我們要限制TCP的half-open為1,如下圖的設定視窗,在此步驟將Maximum
Embryonic Connection設為1。
此步驟所有的選項設為Default(0)的意思是指不限制,這個值在指令設定方面也是一樣。
國立雲林科技大學 自由軟體研發中心
23
實驗 6:交換器/路由器/防火牆
之封包過濾功能設定與操作

Configuring Policy (ASDM)
總結
本實作使用主要是要介紹如何使用防火牆與交換器來保護我們的網路。
在交換器方面介紹了最常用的Port-Security、也介紹了要如何切割VLAN
。
本章節最主要的部分是要使用防火牆,我們分別介紹了指令的方式還有
使用ASDM軟體來管理防火牆,雖然圖型視窗化的管理在未來未必是主
流,但是藉由此實驗我們可以發現,使用ASDM做設定與指令的方式,
最大的差別就是在指令熟悉與否,熟悉網路的管理者無需害怕指令有一
天會忘記,因為類似ASDM此類的圖型視窗化的管理軟體,在每執行一
項功能時,都可以照著軟體上的說明來窺探一二。本實驗只列舉的一部
分的過濾功能,其他的功能都大同小異,有心學習的同學可以進一步的
學習使用。
國立雲林科技大學 自由軟體研發中心
24