基本介紹
- 中文名:cbac
- 外文名:Context-Based Access Control
- 工作原理:對指定的協定進行檢查
- 互補:ACL
工作原理,CBAC的配置,CBAC簡述,CBAC的合理配置,總結,
工作原理
CBAC指定了哪些協定及接口、接口方向(流入和流出)需要被檢查,同指定了檢查的起始。CBAC只對指定的協定進行檢查。對於這些協定,只要數據包經過已配置檢查策略的接口,那么無論它們從哪個方向通過防火牆都將被檢查。進入防火牆的數據包只會在其第一次通過接口的入站ACL時才會被檢察。如果數據包被ACL拒絕,數據包會被簡單的丟掉並且不會被CBAC檢查。
CBAC的配置
在Cisco路由器上創建ACL(訪問控制列表)是管理員常用的數據過濾和網路安全防護措施,但是ACL的局限性是非常明顯的,因為它只能檢測到網路層和傳輸層的數據信息,而對於封裝在IP包中的惡意信息它是無能為力的。因此,ACL並不可靠,需要CBAC(基於上下文的訪問控制)的配合,這樣網路安全性將會極大提升。
CBAC簡述
CBAC(context-based access control)即基於上下文的訪問控制,它不用於ACL(訪問控制列表)並不能用來過濾每一種TCP/IP協定,但它對於運行TCP、UDP套用或某些多媒體套用(如Microsoft的NetShow或Real Audio)的網路來說是一個較好的安全解決方案。除此之外,CBAC在流量過濾、流量檢查、警告和審計蛛絲馬跡、入侵檢測等方面表現卓越。在大多數情況下,我們只需在單個接口的一個方向上配置CBAC,即可實現只允許屬於現有會話的數據流進入內部網路。可以說,ACL與CBAC是互補的,它們的組合可實現網路安全的最大化。
CBAC的合理配置
- CBAC配置前的評估
在進行CBAC配置之前需要對網路的安全標準、套用需求等方面進行評估然後根據需要進行相應的配置。通常情況下,用戶可以在一個或多個接口的2個方向上配置CBAC。如果防火牆兩端的網路都需要受保護的話,如在Extranet或Intranet的配置中,就可以在2個方向上配置CBAC。若防火牆被放置在2個合作夥伴公司網路的中間,則可能想要為某些套用在一個方向上限制數據流,並為其它套用在反方向上限制數據流。
特別要注意的是,CBAC只能用於IP數據流。只有TCP和UDP數據包能被檢查,其他IP數據流
(如ICMP)不能被CBAC檢查,只能採用基本的訪問控制列表對其進行過濾。在不作套用層協定審查時,像自反訪問控制列表一樣,CBAc可以過濾所有的TCP和UDP會話。但CBAC也可以被配置來有效地處理多信道(多連線埠)套用層協定:cu-SeeMe(僅對whitePine版本)、FTP、H.323(如NetMeeting和ProShare)、HTTP(Java攔阻)、Java、MicrosftNetshow、UNIX的r系列命令(如rlogin、rexec和rsh);RealAudio、RPC(SunRPc,非DCERPC)MircosoftRPC、SMTP、SQL.Net、StreamWorks、TFTP、VDOLive。
- 選擇配置接口
為了恰當地配置CBAc,首先必須確定在哪個接口上配置CBAC。下面描述了內部口和外部接口間的不同之處。
配置數據流過濾的第一步是決定是否在防火牆的一個內部接口或外部接口上配置CBAC。在該環境下,所謂“內部”是指會話必須主動發起以讓其數據流被允許通過防火牆的一側;“外部”是指會話不能主動發起的一側(從外部發起的會話被禁止)。如果要在2個方向上配置CBAc,應該先在一個方向上使用適當的“Intemal”和“Extemal”接口指示配置CBAC。在另一個方向上配置CBAC時,則將該接口指示換成另一個。
圖2給出了第2種網路拓撲結構。在該拓撲結構中,CBAC被配置在內部接口E0上,允許外部數據流訪問DMZ(連線在接口E1上的停火區)中的服務(如DNS服務),同時防止指定的協定數據流如內部網路,除非這些數據流是由內部網路所發起的會話的一部分。這兩種拓撲結構之間的關鍵不同點是:第1種拓撲結構不允許外部數據流不經過CBAC過濾器就進入了路由器;第2中拓撲結構允許外部數據流入路由器,讓他們能不經過CBAC過濾器就到達位於DMZ區中的公共伺服器。
根據這2個拓撲結構樣例,可以決定網路是否應在一個內部接口或是在一個外部接口上配置CBAC。如果防火牆只有2條連線,一條是到內部網路,另外一條是到外部網路,那么只能使用入方向的訪問控制列表就可以了,因為數據包在有機會影響路由器之前已經被過濾了。
- 防火牆配置
當用戶用Cisco IOS配置任何IP防火牆時可參照下面給出的一些基本的配置指南。
Router(config)#access -list 101 permit icmp any any echo-reply
Router(config)#access -list 101 permit icmp any any time-execeeded
Router(config)#access -list 101 permit icmp any any packet-too-big
Router(config)#access -list 101 permit icmp any any traceroute
Router(config)#access -list 101 permit icmp any any UnreaChable
- 訪問控制列表中添加一個拒絕所有冒用受保護網路中地址的外來數據流的條目。這被稱作防欺騙保護,因為它可以防止來自不受保護網路的數據流假冒保護網路中某個設備的身份。
- 訪問控制列表增加一個拒絕源地址為廣播地址(255.255.255.255)數據包的條目。該條目可以防止廣播攻擊。
- 防火牆的訪問特權設定口令時,最好是用“enablesecret”命令而不是“enablepassword”命令。因為“enableesecret”命令使用了一種更強的加密算法。
- 防火牆防在一個安全的區域內。
如果在外部接口上有一個對外方向的IP訪問控制列表,則該訪問控制列表就可以是一個標準的或擴展的訪問控制列表。該外出方向的訪問控制列表應該允許想讓CBAC檢查的數據流通過。如果數據流不被允許,它就不能被CBAC檢查,就會被簡單地丟棄。
在外部接口上的入方向訪問控制列表必須是一個擴展的訪問控制類表。該入方訪問控制列表應該拒絕想要讓CBAC檢查的數據流。CBAC將在該人方向控制列表中產生適當的臨時通口,只允許返回數據進入,這些數據流屬於一個有效的已存在會話的一部分。
- 配置內部接口的技巧