250 likes | 464 Views
實驗 6 :交換器 / 路由器 / 防火牆 之封包過濾功能設定與操作. 前言. 前言 確保中小型的區域網路的安全性,可以利用交換器、路由器、防火牆等設備來達到,本章將介紹如何設定交換器 / 防火牆上相關的過濾機制,以下為本實驗主要的網路架構。. Internet. Outside 140.125.32.19. Inside 192.168.100.1. DMZ 192.168.30.1. Cisco ASA 5520. Cisco Switch 3560. VLAN 2. Web Server
E N D
實驗 6:交換器/路由器/防火牆之封包過濾功能設定與操作
前言 實驗 6:交換器/路由器/防火牆 之封包過濾功能設定與操作 • 前言 • 確保中小型的區域網路的安全性,可以利用交換器、路由器、防火牆等設備來達到,本章將介紹如何設定交換器/防火牆上相關的過濾機制,以下為本實驗主要的網路架構。 Internet Outside 140.125.32.19 Inside 192.168.100.1 DMZ 192.168.30.1 Cisco ASA 5520 Cisco Switch 3560 VLAN2 Web Server Public IP : 140.125.32.19 VLAN 3 VLAN 4
scenario 實驗 6:交換器/路由器/防火牆 之封包過濾功能設定與操作 • Scenario • 本實驗的網路架構模擬一個中小型的區域網路,對中小型的企業而言,我們可以使用交換器劃分出VLAN2、3、4,將VLAN2、3、4做為每個部門的區隔,企業對外的網頁伺服器置放於DMZ的區域中。網路管理者可以針對交換器及防火牆來阻隔網路攻擊並且管理使用者的網路行為。 Internet Outside 140.125.32.19 Inside 192.168.100.1 DMZ 192.168.30.1 Cisco ASA 5520 會計部門 VLAN2 Cisco Switch 3560 研發部門 VLAN 3 Web Server Private IP:192.168.30.30 Public IP : 140.125.32.19 管理部門 VLAN 4
Firewall Interfaces 實驗 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。 • Security level level數值越高,表示安全性越高,Security level另一個代表的意義是當封包由level高的地方流向低的level,防火牆會允許通過,反之當封包由level低的流向level高的地方時,防火牆將會deny掉其封包。 通常Outside設為0、DMZ為50、Inside為100,本實作遵循此設定。 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 設定 實驗 6:交換器/路由器/防火牆 之封包過濾功能設定與操作 • 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-levelvalue 設定防火牆介面
Firewall Interfaces 設定 實驗 6:交換器/路由器/防火牆 之封包過濾功能設定與操作 • Firewall 介面設定 ASDM對於指令不熟的管理者實為一大福音,圖形化的介面確實讓管理者感覺相當親切,但是對於初學者而言,還是要從指令入門會好些,否則依然會對這複雜的功能弄得眼花撩亂。 • 使用ASDM設定介面 1.先進入Configuration模式下 2.選擇Device Setup 3.選擇Interfaces 以上步驟達成之後,就可以看到主畫面窗格出現目前的介面選項,接著在主窗格的右邊選擇Edit,即可編輯介面資訊。 Configuration>Device Setup>Interfaces 1 3 2 Edit intfaces
Switch 實驗 6:交換器/路由器/防火牆 之封包過濾功能設定與操作 • Switch 為了管理上的方便以及增進安全性,將用VLAN將整體網路做劃分,一共分為三個群組。在此範例中,除了用VLAN作為部門間與部門間的區隔之外,在Switch上將實行Port Security,這個動作可以避免有心人士做CAM table overflow與MACaddress spoofing等等的攻擊。 Switch的部分,需要實現下列需求: • 將A、B、C三部門,分別用三個VLAN分隔開來。 • 實行Port Security。 A 部門 Switch B部門 C 部門
設定Switch 實驗 6:交換器/路由器/防火牆 之封包過濾功能設定與操作 • VLAN 建立及分割VLAN主要分為下列步驟: • 建立VLAN 用下列指令建立 Switch#vlan database Switch(vlan)#vlan ID ID的範圍為1~4094,VLAN1是Cisco預設的VLAN,機器出廠時所有的Port預設為VLAN1,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 建立VLAN 將實體的Port,加入VLAN中 檢查Port配置的狀態
設定Switch 實驗 6:交換器/路由器/防火牆 之封包過濾功能設定與操作 • VLAN 規劃好VLAN之後,在本實驗中將使用Switch作為DHCP伺服器來發送IP。在本實作中除了VLAN1之外,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 建立VLAN
設定Switch 實驗 6:交換器/路由器/防火牆 之封包過濾功能設定與操作 • Port Security 執行Port Security功能可以防範CAMTable Overflow與MACSpoofing的攻擊。 左圖(1)為本實作實驗的場景: • 將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,其結果為何? Port Security 圖(1)-PortSecurity 實驗 Fa0/7 Show Port Security 主機A Hub Switch 主機B
NAT示意圖 實驗 6:交換器/路由器/防火牆 之封包過濾功能設定與操作 • NAT • 以下為此實驗NAT的示意圖。 內部網路主機位址 140.125.32.19 NAT Internet Outside 140.125.32.19 Inside 192.168.100.1 Destination DMZ 192.168.30.1 VLAN2 192.168.120.0/24 NAT VLAN3 192.168.130.0/24 Web Server Private IP:192.168.30.30 VLAN4 192.168.140.0/24
NAT 實驗 6:交換器/路由器/防火牆 之封包過濾功能設定與操作 • NAT 本實作需要設定NAT的介面如下: • Inside->Outside 內部網路的封包要到外部網路時,將會進行NAT,將位址轉換為140.125.32.19。 global (Outside) 1 interface nat (Inside)1192.168.0.0255.255.0.0 • DMZ<->Outside DMZ 中Web server的IP為192.168.30.30。此部分使用static NAT ,將192.168.30.30靜態轉換成140.125.32.19。 NAT 140.125.32.19 only www DMZ: 192.168.30.30 Internet NAT Inside:192.168.0.0/16 140.125.32.19 ASDMNAT配置圖 NAT 指令設定 • Inside->Outside • Global (Outside) 1 interface • nat (Inside)1192.168.0.0255.255.0.0 • DMZ<->Outside • static (DMZ,Outside) 140.125.32.13 192.168.30.30 • netmask 255.255.255.255
Access rules 實驗 6:交換器/路由器/防火牆 之封包過濾功能設定與操作 • 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),允許他通過。 ASDMAccess rules 配置圖 Access rules 指令設定 access-list Outside_access_in line 1 permit tcp any host 140.125.32.19 eq www
Configuring Filter Rules 實驗 6:交換器/路由器/防火牆 之封包過濾功能設定與操作 • ActiveX|java 過濾 現在大多數的互動式網頁多半都有內嵌ActiveX或java的程式碼,這些程式碼雖然可以讓網頁活起來,但是卻也變成駭客可利用的工具之一。現在的瀏覽器多半都會詢問使用者是否願意執行這些內嵌的程式碼,但有些惡意網站,會在使用者不知情的狀況自動下載惡意程式到電腦中並執行(如:木馬)。 面對此種威脅,可以使用防火牆來防範,因為防火牆中有ActiveX|java特徵碼資料庫,防火牆會利用這些資料庫來比對封包是否含有ActiveX或java 的程式碼,如果含有ActiveX或java則阻擋。 在本實作架構中,左圖分別列出了使用ASDM來設定與指令的設定方式。在本例中,如果有外部網路使用80埠要對內部網路做存取時,防火牆都會去比對是否有ActiveX的特徵碼,若有則拒絕此封包進入內部網路。 ASDMActiveX|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
Configuring Policy 實驗 6:交換器/路由器/防火牆 之封包過濾功能設定與操作 • Policy 我們都知道防火牆可以執行ACL與一些應用程式的過濾,我們也知道用這些規則,防火牆所執行的動作不是通過就是阻擋,這樣的方式失去了彈性,防火牆另一項功能可以用來識別一些特定的流量(IP位址、埠位址等)防火牆可以允許這些特定的流量進出,並且可以制訂一套對應的規則來有所限制(如 限流),這就是Policy最大的功能,他可以對封包做分類,讓過濾規則可以彈性的發展,針對不同的類別有不同的措施。接下來就是要學習如何來設定Policy。 用CLI設定Policy有下列三個步驟: • class-map • policy-map • service-policy 若採用ASDM則使用 Service Policy Rule Wizard。 Policy 設定流程
Configuring Policy (指令設定) 實驗 6:交換器/路由器/防火牆 之封包過濾功能設定與操作 • 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的名稱相同,較不易混淆。 第三部:加入先前所建立的條件式。 整個設定如左圖所示。 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
Configuring Policy (指令設定) 實驗 6:交換器/路由器/防火牆 之封包過濾功能設定與操作 • Policy-map 如果可以將class-map想像成是交流道的話,那麼Policy-map就是交流道上的收費站或是普通道路的紅綠燈了。沒錯!Policy-map就是用來對各類別採取限制的那一環。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/asa/asa72/configuration/guide/protect.html 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
Configuring Policy (指令設定) 實驗 6:交換器/路由器/防火牆 之封包過濾功能設定與操作 • Service-Policy 到了Service-Policy 就是整個Policy的最後一環了,當我們將class-map與policy-map設定好之後,要將之加入欲應用的介面,加入介面之後,整個Policy就完成了。 本實驗將policy應用在所有的介面,所以使用global指令,當然也可以只加入單一個介面來使用。 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 指令設定 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
Configuring Policy (ASDM) 實驗 6:交換器/路由器/防火牆 之封包過濾功能設定與操作 • Policy 設定 (使用ASDM) 相較於用指令方式設定Policy,ASDM就容易得多了,使用精靈一步一步看著視窗上的說明就可以完成整個Policy的設定。 下圖就是Service PolicyRule精靈的進入畫面,第一步要選擇的是這個Policy打算要應用在哪個介面,第一個選項為個別的介面,第二個選項用在所有的介面。 本例中,我們Policy應用在防火牆所有的介面,因此選擇global選項,當然您也可以自己加敘述。
Configuring Policy (ASDM) 實驗 6:交換器/路由器/防火牆 之封包過濾功能設定與操作 • Policy 設定 (使用ASDM) 在Service PolicyRule精靈的第二步即等同於使用指令建立class-map般,由下圖可以知道我們可以使用相當多種的方法來挑選適合的類別。 Use an existing traffic class選項代表要使用的是遷前所建立好的class-map。 在本例中,我們使用ACL作為Policy的分類依據,選擇如下圖的選項。
Configuring Policy (ASDM) 實驗 6:交換器/路由器/防火牆 之封包過濾功能設定與操作 • Policy 設定 (使用ASDM) 如圖所示,這邊的ACL是一個分類的依據,所以防火牆所有的介面將TCP歸類為同一個類別。
Configuring Policy (ASDM) 實驗 6:交換器/路由器/防火牆 之封包過濾功能設定與操作 • Policy 設定 (使用ASDM) 最後一個步驟就是對於我們所歸類出的類別流量要採取哪些對應的措施。 大致上可以將此階段分為三類:Protocol Inspection、Connection Settings、Qos這三類。
Configuring Policy (ASDM) 實驗 6:交換器/路由器/防火牆 之封包過濾功能設定與操作 • Policy 設定 (使用ASDM) 以本實驗為例我們要限制TCP的half-open為1,如下圖的設定視窗,在此步驟將Maximum Embryonic Connection設為1。 此步驟所有的選項設為Default(0)的意思是指不限制,這個值在指令設定方面也是一樣。
Configuring Policy (ASDM) 實驗 6:交換器/路由器/防火牆 之封包過濾功能設定與操作 • 總結 本實作使用主要是要介紹如何使用防火牆與交換器來保護我們的網路。 在交換器方面介紹了最常用的Port-Security、也介紹了要如何切割VLAN。 本章節最主要的部分是要使用防火牆,我們分別介紹了指令的方式還有使用ASDM軟體來管理防火牆,雖然圖型視窗化的管理在未來未必是主流,但是藉由此實驗我們可以發現,使用ASDM做設定與指令的方式,最大的差別就是在指令熟悉與否,熟悉網路的管理者無需害怕指令有一天會忘記,因為類似ASDM此類的圖型視窗化的管理軟體,在每執行一項功能時,都可以照著軟體上的說明來窺探一二。本實驗只列舉的一部分的過濾功能,其他的功能都大同小異,有心學習的同學可以進一步的學習使用。