CiscoIOS防火墻的工作原理與配置
網(wǎng)絡(luò)安全是一個系統(tǒng)的概念,有效的安全策略或方案的制定,是網(wǎng)絡(luò)信息安全的首要保證。 網(wǎng)絡(luò)安全技術(shù)主要有,認證授權(quán)、數(shù)據(jù)加密、訪問控制、安全審計等。而提供安全網(wǎng)關(guān)服務(wù)的類型有:地址轉(zhuǎn)換、包過濾、應(yīng)用代理、訪問控制和D OS防御。本文主要介紹地址轉(zhuǎn)換和訪問控制兩種安全網(wǎng)關(guān)服務(wù),利用cisco路由器對ISDN撥號上網(wǎng)做安全規(guī)則設(shè)置。試驗環(huán)境是一臺有fir ewall版本IOS的cisco2621路由器、一臺交換機組成的局域網(wǎng)利用ISDN撥號上網(wǎng)。
一、地址轉(zhuǎn)換
我們知道,Internet 技術(shù)是基于IP 協(xié)議 的技術(shù),所有的信息通信都是通過IP包來實現(xiàn)的,每一個設(shè)備需要進行通信都必須有一個唯一的IP地址。因此,當一個網(wǎng)絡(luò)需要接入Inte rnet的時候,需要在Internet上進行通信的設(shè)備就必須有一個在全球Internet網(wǎng)絡(luò)上唯一的地址。當一個網(wǎng)絡(luò)需要接入Internet上使用時,網(wǎng)絡(luò)中的每一臺設(shè)備都有一個I nternet地址,這在實行各種Internet應(yīng)用上當然是最理想不過的。但是,這樣也導(dǎo)致每一個設(shè)備都暴露在網(wǎng)絡(luò)上,任何人都可以對這些設(shè)備攻擊,同時由于I nternet目前采用的IPV4協(xié)議在網(wǎng)絡(luò)發(fā)展到現(xiàn)在,所剩下的可用的IP地址已經(jīng)不多了,網(wǎng)絡(luò)中的每一臺設(shè)備都需要一個IP地址,這幾乎是不可能的事情。
采用端口地址轉(zhuǎn)換,管理員只需要設(shè)定一個可以用作端口地址轉(zhuǎn)換的公有Internet 地址,用戶的訪問將會映射到IP池中IP的一個端口上去,這使每個合法Internet IP可以映射六萬多臺內(nèi)部網(wǎng)主機。從而隱藏內(nèi)部網(wǎng)路地址信息,使外界無法直接訪問內(nèi)部網(wǎng)絡(luò)設(shè)備。
Cisco路由器提供了幾種NAT轉(zhuǎn)換的功能:
1、內(nèi)部地址與出口地址的一一對應(yīng)
缺點:在出口地址資源稀少的情況下只能使較少主機連到internet 。
2、內(nèi)部地址分享出口地址
路由器利用出口地址和端口號以及外部主機地址和端口號作為接口。其中內(nèi)部地址的端口號為隨機產(chǎn)生的大于1024的號碼,而外部主機端口號為公認的標準端口號。這樣可以用同一個出口地址來分配不同的端口號連接任意數(shù)量的內(nèi)部主機到外網(wǎng)。
具體配置:由于實驗用的是ISDN撥號上網(wǎng),在internet上只能隨機獲得出口地址,所以NAT轉(zhuǎn)換的地址池設(shè)置為BRI口上撥號所獲得的地址。
interface FastEthernet0/0
ip address 172.16.18.200 255.255.255.0
ip nat inside the interface connected to inside world
!
interface BRI0/0
ip address negotiated
ip nat outside the interface connected to outside network
encapsulation ppp
no ip split-horizon
dialer string 163
dialer load-threshold 150 inbound
dialer-group 1
isdn switch-type basic-net3
ip nat inside source list 1 interface BRI0/0 overload
access-list 1 permit 172.16.18.0 0.0.0.255
3、內(nèi)部地址和外部地址出現(xiàn)交疊
當內(nèi)部和外部用同一個網(wǎng)絡(luò)段地址時,在地址沒有重復(fù)的情況下,可以同時對內(nèi)外接口進行NAT轉(zhuǎn)換使之可以正常通訊。
4、用一個出口地址映射內(nèi)部多臺主機
應(yīng)用于internet上的大型網(wǎng)站有多臺主機對應(yīng)同一個系統(tǒng)的同一個出口地址。
可以用sh ip nat translation 和debug ip nat 命令來檢查NAT的狀態(tài)。
二、基于上下文的訪問控制(Context-based access control--CBAC)
CISCO路由器的access-list只能檢查網(wǎng)絡(luò)層或者傳輸層的數(shù)據(jù)包,而CBAC能夠智能過濾基于應(yīng)用層的(如FTP連接信息)TCP和UDP的sessi on;CBAC能夠在firewall access-list 打開一個臨時的通道給起源于內(nèi)部網(wǎng)絡(luò)向外的連接,同時檢查內(nèi)外兩個方向的sessions。
1、工作原理
比如當CBAC配置于連到internet的外部接口上,一個從內(nèi)部發(fā)出的TCP數(shù)據(jù)包(telnet會話)經(jīng)過該接口連出,同時CBAC的配置中已經(jīng)包括了t cp inspection,將會經(jīng)過以下幾步:
?。?)數(shù)據(jù)包到達防火墻的外部接口(設(shè)為s0);
?。?)數(shù)據(jù)包由該接口outbound access-list檢查是否允許通過(不通過的數(shù)據(jù)包在此被丟棄,不用經(jīng)過以下步驟);
?。?)通過access list檢查的數(shù)據(jù)包由CBAC檢查來決定和記錄包連接狀態(tài)信息,這個信息被記錄于一個新產(chǎn)生的狀態(tài)列表中為下一個連接提供快速通道;
?。?)如果CBAC沒有定義對telnet應(yīng)用的檢查,數(shù)據(jù)包可以直接從該接口送出;
?。?)基于第三步所獲得的狀態(tài)信息,CBAC在s0的inbound access list中插入一個臨時創(chuàng)建的access list入口,這個臨時通道的定義是為了讓從外部回來的數(shù)據(jù)包能夠進入;
?。?)數(shù)據(jù)包從s0送出;
?。?)接下來一個外部的inbound數(shù)據(jù)包到達s0,這個數(shù)據(jù)包是先前送出的telnet會話連接的一部分,經(jīng)過s0口的access list檢查,然后從第五步建立的臨時通道進入;
?。?)被允許進入的數(shù)據(jù)包經(jīng)過CBAC的檢查,同時連接狀態(tài)列表根據(jù)需要更新,基于更新的狀態(tài)信息,inbound access list臨時通道也進行修改只允許當前合法連接的數(shù)據(jù)包進入;
(9)所有屬于當前連接的進出s0口數(shù)據(jù)包都被檢查,用以更新狀態(tài)列表和按需修改臨時通道的access list,同時數(shù)據(jù)包被允許通過s0口;
?。?0)當前連接終止或超時,連接狀態(tài)列表入口被刪除,同時,臨時打開的access list入口也被刪除。
需要注意的是:對于配置到s0口outbound ip access list, accesslist必須允許所有需要的應(yīng)用通過,包括希望被CBAC檢查的應(yīng)用;但是inbound ip access list必須禁止所有需要CBAC檢查的應(yīng)用,當CBAC被出去的數(shù)據(jù)包觸發(fā)后,會在inbound access list中臨時開放一個通道給合法的、正在傳送的數(shù)據(jù)進入。
2、CBAC可提供如下服務(wù)
(1)狀態(tài)包過濾:對企業(yè)內(nèi)部網(wǎng)絡(luò)、企業(yè)和合作伙伴互連以及企業(yè)連接internet提供完備的安全性和強制政策。
?。?)Dos檢測和抵御:CBAC通過檢查數(shù)據(jù)報頭、丟棄可疑數(shù)據(jù)包來預(yù)防和保護路由器受到攻擊。
?。?)實時報警和跟蹤:可配置基于應(yīng)用層的連接,跟蹤經(jīng)過防火墻的數(shù)據(jù)包,提供詳細過程信息并報告可疑行為。
(4)無縫兼容性:整和防火墻和其它cisco IOS軟件于一體;優(yōu)化廣域網(wǎng)利用率;提供強大的、可升級的路由選擇etc。
?。?)支持VPN:利用封裝了防火墻版本的cisco Ios 軟件和Qos特性來保證在公共網(wǎng)絡(luò)上傳輸數(shù)據(jù)的安全性,同時節(jié)省費用。
(6)可升級配置:適用于大部分路由器平臺,cisco帶防火墻版本的IOS可升級來滿足網(wǎng)絡(luò)帶寬和性能的需要。
3、CBAC受到的限制
(1)僅適用于IP數(shù)據(jù)流:只有TCP和UDP包被檢測,其它如ICMP等不能被CBAC檢測,只能通過基本的access lists過濾。
?。?)如果我們在配置CBAC時重新更改access lists,要注意:如果access lists禁止TFTP數(shù)據(jù)流進入一個接口,我們將不能通過那個接口從網(wǎng)絡(luò)啟動路由器(netboot)。
?。?)CBAC忽略ICMP unreachable 信息。
?。?)當CBAC檢查FTP傳輸時,它只允許目的端口為1024―65535范圍的數(shù)據(jù)通道。
?。?)如果FTP客戶端/服務(wù)器認證失敗,CBAC將不會打開一條數(shù)據(jù)通道。
(6)IPSec 和CBAC的兼容性:如果CBAC和IPSec配置于同一臺路由器上,只要對數(shù)據(jù)包的檢查是在內(nèi)部網(wǎng)接口上進行的,而數(shù)據(jù)包加密是終止在外部網(wǎng)接口上的,那么I Psec和CBAC就能共存在該邊界路由器上。在這種方式下,檢查的是不加密的數(shù)據(jù)流。
4、CBAC所需的內(nèi)存和性能
有一些參數(shù)會影響CBAC所需的內(nèi)存和性能:
?。?)CBAC對每條連接使用600 byte的內(nèi)存;
?。?)在檢查數(shù)據(jù)包的過程中,CBAC使用額外的CPU資源;
?。?)盡管CBAC通過對access lists的高效存儲(對access list進行散列索引,然后評估該散列)來最小化其對資源的需求,它在access list檢查過程中仍要使用一定的CPU資源。
5、配置CBAC
第一步,CBAC用timeout 和threshold值來管理會話,配置判斷是否在會話還未完全建立的時候終止連接。這些參數(shù)全局性地應(yīng)用于所有會話。具有firewall feature的cisco router12.0以上版本的IOS缺省是起了IP INSPECT 抵御DoS進攻的。當half-open會話數(shù)量大到一定的程度往往意味著正在有DOS攻擊發(fā)生或某人正在做端口掃描,CBAC既監(jiān)測half-open會話總數(shù)也監(jiān)測會話企圖建立的速率。以下是缺省配置:
HpXg_1#sh ip inspect all
Session audit trail is disabled(相關(guān)命令是ip inspect audit trail,是用來打開自動跟蹤審計功能并將信息傳送到console口,缺省是disabled.)
Session alert is enabled
one-minute thresholds are [400:500] connections(相關(guān)命令是ip inspect one-minute high 500和ip inspect one-minute low 400,是將引起或?qū)е侣酚善鏖_始或停止刪除half-open會話的新增未建立會話的速率,即每分鐘500/400個half-open會話)
max-incomplete sessions thresholds are [400:500](相關(guān)命令是ip inspect max-incomplete high 500,表示將引起路由器開始刪除half-open會話的已經(jīng)存在的half-open會話數(shù)500個;ip inspect max-incomplete low 400表示將導(dǎo)致路由器開始停止刪除half-open會話的已經(jīng)存在的half-open會話數(shù))
max-incomplete tcp connections per host is 50. Block-time 0 minute.(相關(guān)命令:ip inspect tcp max-incomplete host 50 block-time 0表示將引起路由器開始丟棄到同一目的主機地址的超過50個的half-open會話。如果block-time值為0表示到某個目的主機的每條連接請求,C BAC會刪除到該主機的最老的已存在的half-open會話,并讓該SYN包通過;如果block-time值大于0表示CBAC將刪除到該目的主機的所有已存在的h alf-open連接,并阻攔所有新的連接.
|