17 一月 2013

Cisco PIX/ASA防火牆最新功能及技術(中)

Cisco PIX/ASA 整合性防火牆的最新功能及技術(中) 文◎奇科電腦資深網路技術顧問 – Ben 哥

 

technum_02前言

有鑒於許多讀者紛紛來信與Ben哥討論防火牆的相關設定,並希望能夠針對近兩年防火牆的兩大新興功能:虛擬防火牆 (Virtual Firewall or Security Contexts) 以及通透式防火牆 (Transparent or Layer 2 Firewall) ,多做一點介紹以及設定上的解說,是以Ben哥特別在本期以Cisco的ASA,實做一些業界上相當有用的功能,提供給各位工程師及資訊主管們,對於防火牆的另一種認識。

再者,近幾期的網管人大幅報導資訊安全UTM方面的觀念,顯示網路安全的需要與日遽增, Cisco ASA 5500為一個超完全的UTM,這也是為什麼Ben哥選擇ASA,來詳細的介紹UTM的整體觀念。

本技術文件實驗所需的設備清單如下:
  1. Cisco PIX防火牆或是ASA (Adaptive Security Appliance) 網路安全整合防禦設備。

Cisco-security-firewall-ips-asa5500-series

本技術文件實驗所需的軟體及核心清單如下:
  1. Cisco PIX或是ASA 5500系列,韌體版本7.21,管理軟體 ASDM 5.21。
  2. Cisco 3524 交換器。
本技術文件讀者所需基本知識如下:

  1. VLAN協定802.1Q。
  2. 路由以及防火牆的基礎知識。
  3. Cisco IOS 基礎操作技術。

technum_02什麼是虛擬防火牆跟通透式防火牆

虛擬防火牆 (Virtual Firewall or Security Contexts):
就一般大眾使用者而言,通常買了一個防火牆就只能以一台來使用,當另外一個狀況或是環境需要防火牆的保護時,就需要另外一台實體的防火牆;如此,當我們需要5台防火牆的時候,就需要購買5台防火牆;虛擬防火牆的功能讓一台實體防火牆,可以虛擬成為數個防火牆,每個虛擬防火牆就猶如一台實體的防火牆,這解決了企業在部署大量防火牆上的困難,並使得操作及監控上更為簡便。

通透式防火牆 (Transparent or Layer 2 Firewall):
一般的防火牆最少有兩個以上的介面,在每個介面上,我們必須指定IP位址以便讓防火牆正常運作,封包到達一個介面經由防火牆路由到另一個介面,這種狀況下,防火牆是處在路由模式(Routed mode);試想,在服務提供商 (Internet Service Provider) 的環境中,至少有成千上萬的路由器組成的大型網路,如果我們要部署數十個以上的防火牆,對於整體網路的IP位址架構,將會有相當大的改變,不僅容易造成設定路由的巨大麻煩,也有可能會出現路由迴圈,部署將會曠日費時,且極容易出錯。

舉例來說,如果有兩個路由器A及B,我們想在A跟B之間部署路由模式的防火牆,必須重新設計路由器介面的IP位址,以配合防火牆的IP位址,另外,如果路由器之間有跑路由通訊協定 (ie. RIP、OSPF、BGP等),防火牆也必須支援這些通訊協定才行,因此相當的麻煩;通透式防火牆無須在其介面上設定IP位址,其部署方式就猶如部署交換器一樣,我們只需直接把通透式防火牆部署於路由器之間即可,完全不需要煩惱IP位址的問題,因此,提供此類功能的防火牆,亦可稱為第二層防火牆。

一般而言,高級的防火牆 (Cisco、Juniper等)都支援這些功能;就Cisco的ASA或是PIX而言 (版本7.0以上),都已支援虛擬防火牆以及通透式防火牆這兩個功能。

technum_03如何設定虛擬防火牆 (Security Contexts)

在Cisco的防火牆中,有些專有名詞必須先讓讀者了解,以便繼續以下的實驗及內容。

專有名詞 解釋
Context ASA/PIX在虛擬防火牆的模式下,每一個虛擬防火牆就可以稱為一個context。
System context 這一個context是用來設定每一個虛擬防火牆所能使用的資源,例如所能使用的介面以及CPU資源等,而不會讓某一個context過度使用系統資源,另外,提供給防火牆管理員一個集中式且階層性的管理;此context並不能被用來當成防火牆使用。
Administration context (admin-context) 可以被用來當成虛擬防火牆使用,除此之外,只有此context才有權限,這個context並不受授權的限制內。
Context <虛擬防火牆的名稱> 一般的虛擬防火牆,並沒有對於防火牆硬體有任何的設定權限,只能設定該虛擬防火牆內的設定。

接下來讀者們可以在EXEC的模式下,下達『show version』指令而得知該ASA/PIX能夠支援多少個contexts,以下的範例顯示了該設備最多支援了5個contexts。

Cisco-asa5510-console-show-version

在八月份的網管人雜誌中,Ben哥已經詳細的介紹ASA/PIX的初始過程,通常來說,如果每有特殊設定的話,預設的防火牆模式為單一模式 (Single Mode),因此,我們必須熟悉一些指令來轉換以及顯示模式;在EXEC模式下,下達指令show mode即可以顯示目前是處於單一模式 (Single Mode) 或是虛擬模式 (Multiple Mode)。

如果要轉換模式的話,必須進入Configuration Mode下達mode的指令;以下的例子顯示了由單一模式轉換到虛擬模式,經過兩次的確認 (confirm) 後,必須重新啟動ASA/PIX以便讓功能即時生效。

Cisco-asa5510-console-virtual-firewall-multiple-contexts

重新開機後,進入EXEC模式檢視目前的模式,應該為虛擬模式了。

Cisco-asa5510-console-show-mode

technum_04如何設定通透式防火牆

通透式防火牆的設定也是相當的簡單,ASA平台是可讓通透式的功能跟虛擬防火牆的功能並存,剛剛讀者們已經將ASA5510轉換成為Multiple模式了,這裡請特別注意,啟動通透式功能的時候,因為原本的contexts設定內容已經不符合通透式功能的需求,因此會把所有的contexts移除,所以,我們必須在轉換通透模式後,再一一加入每個虛擬防火牆(context);另外,轉換通透或是路由模式,不需要重新啟動防火牆設備即可生效。

Cisco-asa5510-console-show-firewall-mode

technum_05建立多個通透式虛擬防火牆

現在,Ben哥已經把ASA5510設成虛擬及通透模式,接下來,讓我們來建立幾個虛擬的通透式防火牆;首先我們先來看看目前的設定內容,並沒有設定任何IP位址,因此我們必須建立一個IP位址,以便讓我們使用ASDM來設定ASA5510。

Cisco-asa5510-console-show-running

我們可以在EXEC模式下,下達show context指令顯示是否有context存在於此防火牆中,目前看來並沒有任何的context。

cisco-asa-console-show-context

在建立任何一個一般虛擬防火牆之前,admin-context必須先存在,所以讓我們來建立名為admin的admin-context,以及5個通透式虛擬防火牆,依序命名為geego1、geego2、geego3、geego4、geego5。

Cisco-asa5510-console-show-context-and-getin-context-admin
Cisco-asa5510-console-context-admin-create-contexts

每個虛擬防火牆都需要有其獨立的設定檔,但是在建立每個虛擬防火牆的設定檔前,要先配置介面給各個虛擬防火牆,因為目前防火牆為通透虛擬模式,在有限的實體介面限制下,ASA/PIX的介面提供了802.1Q通訊協定的支援,在顯示授權的指令輸出中,我們已知道此ASA可以設定 25個VLANs,因此,Ben哥會建立12個VLANs,VLAN ID各為6、10、20、30、40、50、66、100、200、300、400、500,VLAN ID 6為admin的對外VLAN,VLAN ID 66為admin的內部VLAN,VLAN ID10的是geego1的外部VLAN ,VLAN ID100的是geego1的內部VLAN,其他context以此類推;因此,我們必須建立相關的VLAN介面在ASA平台上。

Cisco-asa5510-console-create-sub-interfaces

並且對每個VLAN介面設定相關的VLAN ID,如此,Ethernet0/3就會以802.1Q的通訊協定方式與交換器溝通。

Cisco-asa5510-console-assoicate-interface-with-vlan

接下來,Ben哥就必須做兩件事,1)對每個虛擬防火牆建立設定檔。2) 把剛剛建立的VLAN介面,分配到所有的虛擬防火牆上。

Cisco-asa5510-console-create-context-configuration-config-url

雖然我們設定了每一個context的組態檔案名稱及位置,但是到目前為止,這些檔案必不存在於儲存設備disk0:上,所以,我們還必須讓這些檔案建立出來,我們先以虛擬防火牆geego1為例,首先讓我們先進入context system,然後下達『changeto context …』的指令把直接進入geego1虛擬防火牆,然後下達指令write來儲存設定檔,如此,我們就產生出一個在disk0:下名為geego1.cfg的組態檔。

其他context的組態檔設定,請各位讀者根據上述的方式逕行設定。

Cisco-asa5510-console-changeto-various-context-and-show-files

再來Ben哥就要把所有的VLAN介面關連到相關的VLAN ID,接著再開始分配介面給各個context。

Cisco-asa5510-console-assoicate-vlan-with-subinterface
Cisco-asa5510-console-allocate-interface-to-various-contexts

我們現在來看看如何在指令模式下切換system context及其他的contexts,在這裡,我們用admin context來做一個範例。

Cisco-asa5510-console-changeto-system-context-from-admin-one

進入admin context以後,我們就可以看到剛剛我們所配置給他的介面出現在admin context的設定中。

Cisco-asa5510-console-show-running-after-finished-configuration

到此為止,我們已經完成了各個通透視虛擬防火牆的設定了。

technum_06如何設定交換器

各位讀者可以在交換器連接到防火牆的連接埠上,下達802.1Q相關設定,以Cisco的交換器而言,我們可以先建立所有在防火牆上的VLAN ID,然後進入連接埠設定介面下達802.1Q的指令。

Cisco-switch-console-show-vlan-brief

在EXEC模式下,下達vlan database指令進入設定VLAN的命令提示字元(prompt),建立所需的VLAN。

Cisco-switch-console-add-vlan

再下達指令sh vlan brief即可看出剛剛建立的VLAN了。

Cisco-switch-console-show-vlan

在進入連接埠設定命令提示字元,下達802.1Q的相關指令就完成了交換器的設定。

Cisco-switch-console-switchport-mode-trunk-and-switchport-trunk

再來使用Ethernet cable連接交換器及防火牆就可使兩台設備互相溝通。

technum_07結論

這一期Ben哥啟動了ASA上虛擬以及通透式防火牆的功能,在下一期,會基於本期的設定,啟動並且運用ASA相當有意思的功能,讓ASA成為一台名符其實的UTM,請各位耐心等待。為了與更多讀者有實際的交流和討論,幫讀者們解決問題, Ben哥在10/17(二)晚上,在奇科電腦舉行一個技術文件研討會,與各位讀者面對面聊天討論相關技術。

feebackbtn