二、基于上下文的訪問控制(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、工作原理
比如當(dāng)CBAC配置于連到internet的外部接口上,一個從內(nèi)部發(fā)出的TCP數(shù)據(jù)包(telnet會話)經(jīng)過該接口連出,同時CBAC的配置中已經(jīng)包括了t cp inspection,將會經(jīng)過以下幾步:
(1)數(shù)據(jù)包到達(dá)防火墻的外部接口(設(shè)為s0);
(2)數(shù)據(jù)包由該接口outbound access-list檢查是否允許通過(不通過的數(shù)據(jù)包在此被丟棄,不用經(jīng)過以下步驟);
(3)通過access list檢查的數(shù)據(jù)包由CBAC檢查來決定和記錄包連接狀態(tài)信息,這個信息被記錄于一個新產(chǎn)生的狀態(tài)列表中為下一個連接提供快速通道;
(4)如果CBAC沒有定義對telnet應(yīng)用的檢查,數(shù)據(jù)包可以直接從該接口送出;
(5)基于第三步所獲得的狀態(tài)信息,CBAC在s0的inbound access list中插入一個臨時創(chuàng)建的access list入口,這個臨時通道的定義是為了讓從外部回來的數(shù)據(jù)包能夠進(jìn)入;
(6)數(shù)據(jù)包從s0送出;
(7)接下來一個外部的inbound數(shù)據(jù)包到達(dá)s0,這個數(shù)據(jù)包是先前送出的telnet會話連接的一部分,經(jīng)過s0口的access list檢查,然后從第五步建立的臨時通道進(jìn)入;
(8)被允許進(jìn)入的數(shù)據(jù)包經(jīng)過CBAC的檢查,同時連接狀態(tài)列表根據(jù)需要更新,基于更新的狀態(tài)信息,inbound access list臨時通道也進(jìn)行修改只允許當(dāng)前合法連接的數(shù)據(jù)包進(jìn)入;
(9)所有屬于當(dāng)前連接的進(jìn)出s0口數(shù)據(jù)包都被檢查,用以更新狀態(tài)列表和按需修改臨時通道的access list,同時數(shù)據(jù)包被允許通過s0口;
(10)當(dāng)前連接終止或超時,連接狀態(tài)列表入口被刪除,同時,臨時打開的access list入口也被刪除。
需要注意的是:對于配置到s0口outbound ip access list, accesslist必須允許所有需要的應(yīng)用通過,包括希望被CBAC檢查的應(yīng)用;但是inbound ip access list必須禁止所有需要CBAC檢查的應(yīng)用,當(dāng)CBAC被出去的數(shù)據(jù)包觸發(fā)后,會在inbound access list中臨時開放一個通道給合法的、正在傳送的數(shù)據(jù)進(jìn)入。
2、CBAC可提供如下服務(wù)
(1)狀態(tài)包過濾:對企業(yè)內(nèi)部網(wǎng)絡(luò)、企業(yè)和合作伙伴互連以及企業(yè)連接internet提供完備的安全性和強(qiáng)制政策。
(2)Dos檢測和抵御:CBAC通過檢查數(shù)據(jù)報頭、丟棄可疑數(shù)據(jù)包來預(yù)防和保護(hù)路由器受到攻擊。
(3)實時報警和跟蹤:可配置基于應(yīng)用層的連接,跟蹤經(jīng)過防火墻的數(shù)據(jù)包,提供詳細(xì)過程信息并報告可疑行為。
(4)無縫兼容性:整和防火墻和其它cisco IOS軟件于一體;優(yōu)化廣域網(wǎng)利用率;提供強(qiáng)大的、可升級的路由選擇etc。
(5)支持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過濾。
(2)如果我們在配置CBAC時重新更改access lists,要注意:如果access lists禁止TFTP數(shù)據(jù)流進(jìn)入一個接口,我們將不能通過那個接口從網(wǎng)絡(luò)啟動路由器(netboot)。
(3)CBAC忽略ICMP unreachable 信息。
(4)當(dāng)CBAC檢查FTP傳輸時,它只允許目的端口為1024—65535范圍的數(shù)據(jù)通道。
(5)如果FTP客戶端/服務(wù)器認(rèn)證失敗,CBAC將不會打開一條數(shù)據(jù)通道。
(6)IPSec 和CBAC的兼容性:如果CBAC和IPSec配置于同一臺路由器上,只要對數(shù)據(jù)包的檢查是在內(nèi)部網(wǎng)接口上進(jìn)行的,而數(shù)據(jù)包加密是終止在外部網(wǎng)接口上的,那么I Psec和CBAC就能共存在該邊界路由器上。在這種方式下,檢查的是不加密的數(shù)據(jù)流。
4、CBAC所需的內(nèi)存和性能
有一些參數(shù)會影響CBAC所需的內(nèi)存和性能:
(1)CBAC對每條連接使用600 byte的內(nèi)存;
(2)在檢查數(shù)據(jù)包的過程中,CBAC使用額外的CPU資源;
(3)盡管CBAC通過對access lists的高效存儲(對access list進(jìn)行散列索引,然后評估該散列)來最小化其對資源的需求,它在access list檢查過程中仍要使用一定的CPU資源。
5、配置CBAC
第一步,CBAC用timeout 和threshold值來管理會話,配置判斷是否在會話還未完全建立的時候終止連接。這些參數(shù)全局性地應(yīng)用于所有會話。具有firewall feature的cisco router12.0以上版本的IOS缺省是起了IP INSPECT 抵御DoS進(jìn)攻的。當(dāng)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表示將引起路由器開始丟棄到同一目的主機(jī)地址的超過50個的half-open會話。如果block-time值為0表示到某個目的主機(jī)的每條連接請求,C BAC會刪除到該主機(jī)的最老的已存在的half-open會話,并讓該SYN包通過;如果block-time值大于0表示CBAC將刪除到該目的主機(jī)的所有已存在的h alf-open連接,并阻攔所有新的連接。
相關(guān)推薦:計算機(jī)軟考網(wǎng)絡(luò)工程師必備英語詞匯全集北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |