趙階旭
[摘 要]在網(wǎng)絡(luò)管理中,一方面要做好日常的維護(hù)工作保持網(wǎng)絡(luò)時(shí)刻暢通,另一方面還要確保網(wǎng)絡(luò)的安全,并需要對(duì)網(wǎng)絡(luò)中的流量進(jìn)行控制。Cisco的訪問(wèn)控制列表(access control list,ACL)就提供了這一安全機(jī)制,標(biāo)準(zhǔn)ACL根據(jù)數(shù)據(jù)包中的源地址過(guò)濾數(shù)據(jù)包,擴(kuò)展ACL可以基于源地址、目標(biāo)地址、協(xié)議及其端口號(hào)等信息過(guò)濾數(shù)據(jù)包,更準(zhǔn)確的把握過(guò)濾內(nèi)容即實(shí)現(xiàn)流量控制。本文通過(guò)對(duì)路由器訪問(wèn)控制列表基本原理,配置原則及實(shí)現(xiàn)功能的介紹,探討了命名訪問(wèn)控制列表中特有自反列表技術(shù),實(shí)現(xiàn)流量控制,以提高網(wǎng)絡(luò)資源安全性。
[關(guān)鍵詞]ACL;established;自反ACL;網(wǎng)絡(luò)安全
在網(wǎng)絡(luò)日益開(kāi)放的今天,各類(lèi)網(wǎng)絡(luò)病毒及網(wǎng)絡(luò)攻擊大量出現(xiàn),內(nèi)部網(wǎng)絡(luò)的數(shù)據(jù)及其安全性也亟待解決,但如何保證數(shù)據(jù)資源的安全性已經(jīng)成為公司的戰(zhàn)略問(wèn)題。網(wǎng)絡(luò)安全采用的技術(shù)手段有很多,而通過(guò)訪問(wèn)控制列表對(duì)數(shù)據(jù)包進(jìn)行過(guò)濾,是實(shí)現(xiàn)網(wǎng)絡(luò)安全的基本手段之一。
一、訪問(wèn)控制列表及基本原理
ACL(access control list)是指應(yīng)用到路由器或者三層交換機(jī)接口上的指令列表,通常稱為訪問(wèn)控制列表。ACL根據(jù)定義的一系列規(guī)則過(guò)濾數(shù)據(jù)包,即允許或者拒絕數(shù)據(jù)包通過(guò)接口。ACL使得網(wǎng)絡(luò)資源允許合法授權(quán)用戶使用,避免非法用戶訪問(wèn)。它通常用于局域網(wǎng)部門(mén)之間控制網(wǎng)絡(luò)流量。
ACL一般分為最基本的兩大類(lèi)標(biāo)準(zhǔn)ACL和擴(kuò)展ACL,另外還有命名ACL、基于時(shí)間ACL、動(dòng)態(tài)ACL和自反ACL幾種,這些ACL都是在兩大基本列表發(fā)展而來(lái),不同場(chǎng)合應(yīng)用不同種類(lèi)的ACL。標(biāo)準(zhǔn)ACL根據(jù)數(shù)據(jù)包中的源地址過(guò)濾數(shù)據(jù)包,擴(kuò)展ACL可以基于源地址、目標(biāo)地址、協(xié)議及其端口號(hào)等信息過(guò)濾數(shù)據(jù)包,更準(zhǔn)確的把握過(guò)濾內(nèi)容,提高網(wǎng)絡(luò)安全性能。
二、自反ACL功能及應(yīng)用場(chǎng)景
自反ACL允許最近出站數(shù)據(jù)包的目的地發(fā)出的應(yīng)答流量回到該出站數(shù)據(jù)包的源地址。這樣您可以更加嚴(yán)格地控制哪些流量能進(jìn)入您的網(wǎng)絡(luò),并提升了擴(kuò)展訪問(wèn)列表的能力。網(wǎng)絡(luò)管理員使用自反ACL允許從內(nèi)部網(wǎng)絡(luò)發(fā)起的會(huì)話的IP流量,同時(shí)拒絕外部網(wǎng)絡(luò)發(fā)起的IP流量。此類(lèi)ACL使路由器能動(dòng)態(tài)管理會(huì)話流量。路由器檢查出站流量,當(dāng)發(fā)現(xiàn)新的連接時(shí),便會(huì)在臨時(shí)ACL中添加條目以允許應(yīng)答流量進(jìn)入。自反ACL僅包含臨時(shí)條目。當(dāng)新的IP會(huì)話開(kāi)始時(shí)(例如,數(shù)據(jù)包出站),這些條目會(huì)自動(dòng)創(chuàng)建,并在會(huì)話結(jié)束時(shí)自動(dòng)刪除。
在實(shí)現(xiàn)網(wǎng)絡(luò)安全的策略中,當(dāng)在出口網(wǎng)關(guān)路由上配置了ACL,拒絕INTERNET的數(shù)據(jù)訪問(wèn)LAN時(shí),會(huì)導(dǎo)致LAN訪問(wèn)外部INIERNET的回包沒(méi)辦法通過(guò)網(wǎng)關(guān)進(jìn)入LAN,導(dǎo)致LAN無(wú)法訪問(wèn)外網(wǎng),如圖2-1。這種情況下為了識(shí)別內(nèi)部網(wǎng)絡(luò)發(fā)起的IP流量,同時(shí)拒絕外部網(wǎng)絡(luò)發(fā)起的IP流量就必須使用自反訪問(wèn)控制列表實(shí)現(xiàn)。
三、擴(kuò)展訪問(wèn)控制列表的established參數(shù)的局限性
帶established參數(shù)的擴(kuò)展ACL相比,自反ACL能夠提供更為強(qiáng)大的會(huì)話過(guò)濾。盡管在概念上與established 參數(shù)相似,但自反ACL還可用于不含ACK或RST位的UDP和ICMP。established選項(xiàng)還不能用于會(huì)動(dòng)態(tài)修改會(huì)話流量源端口的應(yīng)用程序。Permit established 語(yǔ)句僅檢查ACK和RST位,而不檢查源和目的地址。
Established參數(shù)只有當(dāng)這個(gè)會(huì)話是TCP建立連接之后才進(jìn)行匹配,通俗的講內(nèi)部網(wǎng)絡(luò)發(fā)起的TCP會(huì)話出去,established初始會(huì)話初始值假設(shè)為0,外部應(yīng)答包的返回值應(yīng)該加1返回,應(yīng)當(dāng)以返回的標(biāo)志比特位進(jìn)行驗(yàn)證,凡是返回值為1的就認(rèn)為是內(nèi)部發(fā)出去回來(lái)的允許進(jìn)入內(nèi)網(wǎng)。相反外部網(wǎng)絡(luò)發(fā)起的會(huì)話初始值是0,就拒絕掉該數(shù)據(jù)包進(jìn)入內(nèi)網(wǎng),從而達(dá)到防治外部網(wǎng)絡(luò)主動(dòng)攻擊內(nèi)網(wǎng)的行為。如:
permit tcp host 23.0.0.3 eq telnet host 23.0.0.2 established 這條語(yǔ)句表示允許23.0.0.3用自己的23號(hào)端口對(duì)23.0.0.2的TCP請(qǐng)求進(jìn)行回復(fù)。這條語(yǔ)句也可以換一種寫(xiě)法: permit tcp host 23.0.0.3 eq telnet host 23.0.0.2 ack rst (如圖3-1TCP包首部)
理論上可以實(shí)現(xiàn)我們的控制效果,但是在實(shí)際應(yīng)用中我們的TCP等報(bào)文頭部信息特別容易偽裝,目前有很多的修改頭部信息的軟件,快速修改報(bào)文信息可以通過(guò)Permit established 語(yǔ)句的檢查,還有一個(gè)重要特點(diǎn)是非TCP報(bào)文是沒(méi)有established,比如ICMP報(bào)文的回包是沒(méi)辦法控制的,因此擴(kuò)展訪問(wèn)控制列表的established存在很大的局限性,所以這種方法還是沒(méi)根本解決我們控制危險(xiǎn)流量的目的。
四、自反ACL應(yīng)用
如何應(yīng)用自反ACL實(shí)現(xiàn)控制外部流量的目的呢?下面我們分析自反ACL的用法。自反ACL本質(zhì)是由三個(gè)ACL組成:一內(nèi)網(wǎng)允許出去的ACL,二外網(wǎng)拒絕所有的ACL ,三外部自動(dòng)生成的返回ACL組成。
1)建立一個(gè)命名的訪問(wèn)控制列表R2(config)#ip access-list extended R1-R3
2)嵌入命名的ACL中的自反列表R2(config-ext-nacl)#permit ip any any reflect network
3)在接口e0/0的in方向應(yīng)用列表R2(config-if)#ip access-group R1-R3 in
4)創(chuàng)建一個(gè)命名的列表R2(config)#ip access-list extended deny-all
5)設(shè)置自反列表對(duì)應(yīng)項(xiàng)R2(config-ext-nacl)#evaluate network
6)設(shè)置列表規(guī)則R2(config-ext-nacl)#deny ip any any
7)在接口e0/1的in方向應(yīng)用列表R2(config-if)#ip access-group deny-all in
8)驗(yàn)證:show 出三條列表,第三條為反射列表,內(nèi)容為空。當(dāng)用R1 ping R3時(shí)
R2#show access-lists
Extended IP access list R1-R3
10 permit ip any any reflect network
Extended IP access list deny-all
10 evaluate network
20 deny ip any any
Reflexive IP access list network
當(dāng)用R1 ping R3時(shí),自反ACL可以記錄流量中的協(xié)議,并對(duì)源地址和目標(biāo)地址進(jìn)行交換匹配,從而可以使R1出去的流量從外網(wǎng)返回來(lái)。
R2#show access-lists
Extended IP access list R1-R3
10 permit ip any any reflect network (11 matches)
Extended IP access list deny-all
10 evaluate network
20 deny ip any any (15 matches)
Reflexive IP access list network
permit icmp host 192.168.2.1 host 192.168.1.1 (20 matches) (time left 294)
五、注意事項(xiàng)
自反ACL不能直接應(yīng)用到接口,而是“嵌套”在接口所使用的擴(kuò)展命名IP ACL中。自反ACL 僅可在擴(kuò)展命名IP ACL中定義。自反ACL不能在編號(hào)ACL或標(biāo)準(zhǔn)命名ACL中定義,也不能在其它協(xié)議ACL中定義。自反ACL可以與其它標(biāo)準(zhǔn)和靜態(tài)擴(kuò)展ACL一同使用。
參考文獻(xiàn):
[1]粱廣民,王隆杰.思科網(wǎng)絡(luò)實(shí)驗(yàn)室路由、交換實(shí)驗(yàn)指南.電子工業(yè)出版社,2007.
[2]張國(guó)靖. 網(wǎng)絡(luò)設(shè)備配置與調(diào)試項(xiàng)目實(shí)訓(xùn).電子工業(yè)出版社,2015年第三版.
[3]陳勇兵.路由器訪問(wèn)控制列表應(yīng)用于實(shí)踐.實(shí)驗(yàn)技術(shù)與管理,2010年3月第3期.