陳 明,湯雅斌
?
訪問控制列表在網(wǎng)絡(luò)安全的應(yīng)用
陳 明,湯雅斌
(漳州職業(yè)技術(shù)學院 計算機工程系,福建 漳州 363000)
訪問控制是網(wǎng)絡(luò)安全防范和保護的主要策略,它能通過對通信數(shù)據(jù)的源目地址、協(xié)議、端口號等進行過濾以實現(xiàn)對數(shù)據(jù)訪問進行控制的目的,它的主要任務(wù)是保證網(wǎng)絡(luò)資源不被非法使用和訪問。實踐證明通過對臨界設(shè)備設(shè)置訪問控制列表能夠有效的保障網(wǎng)絡(luò)訪問的安全性,因此訪問控制列表是用來保證網(wǎng)絡(luò)安全最重要的核心策略之一。
訪問控制列表;網(wǎng)絡(luò)安全;過濾;規(guī)則
隨著計算機網(wǎng)絡(luò)的蓬勃發(fā)展,目前各行各業(yè)的業(yè)務(wù)應(yīng)用都離不開網(wǎng)絡(luò)應(yīng)用。然而在實際的網(wǎng)絡(luò)應(yīng)用環(huán)境中,不同的網(wǎng)絡(luò)互聯(lián)結(jié)構(gòu)和不同的網(wǎng)絡(luò)業(yè)務(wù)需求都迫切的需要對網(wǎng)絡(luò)內(nèi)部的特定終端或服務(wù)設(shè)備進行安全訪問控制。訪問控制列表具有十分靈活的特性,在充分發(fā)掘和應(yīng)用訪問控制列表靈活特性的基礎(chǔ)上能夠很好的實現(xiàn)網(wǎng)絡(luò)訪問安全的控制。本文主要以華為路由器的訪問控制列表的配置為例,介紹以訪問控制列表的使用來實現(xiàn)網(wǎng)絡(luò)安全訪問的控制方法。
訪問控制列表(Access Control List,ACL)是應(yīng)用在路由器接口的指令列表。這些指令列表用來告訴路由器哪些數(shù)據(jù)包可以收、哪些數(shù)據(jù)包需要拒絕。至于數(shù)據(jù)包是被接收還是拒絕,可以由類似于源地址、目的地址、端口號等的特定指示條件來決定。因此ACL就是使用包過濾技術(shù)。[1]
ACL的功能很多,主要的有:
(1)限制網(wǎng)絡(luò)流量,提高網(wǎng)絡(luò)性能。網(wǎng)絡(luò)的帶寬和穩(wěn)定性在整個網(wǎng)絡(luò)的運作中是很關(guān)鍵的,網(wǎng)絡(luò)中如果充斥著大量的沒用的數(shù)據(jù)包,這將在很大的程度上造成網(wǎng)絡(luò)的擁塞,降低網(wǎng)絡(luò)的通信性能。ACL可以根據(jù)數(shù)據(jù)包的協(xié)議,指定數(shù)據(jù)的優(yōu)先等級,在同等情況下優(yōu)先級高的可以被路由器處理。根據(jù)這些參考列表隊列,保證路由器可以丟棄那些不需要的數(shù)據(jù)包,這樣就限制了網(wǎng)絡(luò)流量,而且減少了網(wǎng)絡(luò)擁塞。
(2)提供網(wǎng)絡(luò)訪問的基本安全手段。網(wǎng)絡(luò)中的節(jié)點分為資源節(jié)點和用戶節(jié)點兩大類,其中資源節(jié)點提供服務(wù)或數(shù)據(jù),用戶節(jié)點可以訪問資源節(jié)點所提供的服務(wù)與數(shù)據(jù)。ACL一方面可以保護資源節(jié)點,阻止非法用戶對資源節(jié)點的訪問,另一方面可以限制特定的用戶節(jié)點所能具備的訪問權(quán)限。
(3)在路由器接口處,決定哪種類型的通信數(shù)據(jù)可以被轉(zhuǎn)發(fā),哪種類型的通信數(shù)據(jù)被阻塞。在實際的網(wǎng)絡(luò)應(yīng)用中可以根據(jù)各個不同應(yīng)用的協(xié)議和端口號的組合設(shè)置來實現(xiàn)。例如:可以通過使用訪問控制列表允許E-mail通信流量被路由,同時卻拒絕所有的Telnet通信流量。
常用的訪問控制列表可以分為兩類:標準訪問控制列表和擴展訪問控制列表。[2]其中標準訪問控制列表僅可以根據(jù)IP報文的源地址域來區(qū)分不同的數(shù)據(jù)流,擴展訪問控制列表則可以根據(jù)IP報文中的更多域來區(qū)分不同的數(shù)據(jù)流,它既可以通過檢查數(shù)據(jù)包的源地址,也可以通過檢查數(shù)據(jù)包的目的地址,同時還可以通過檢查數(shù)據(jù)包的特定協(xié)議類型、端口號等來區(qū)分數(shù)據(jù)流。
網(wǎng)絡(luò)管理員可以通過使用不同類型的訪問控制列表來實現(xiàn)對網(wǎng)絡(luò)安全訪問的控制??梢允褂脴藴蔄CL阻止來自某一網(wǎng)絡(luò)的所有通信流量,或者允許來自某一特定網(wǎng)絡(luò)的所有通信流量。而擴展ACL比標準ACL提供了更廣泛的控制范圍,例如,網(wǎng)絡(luò)管理員如果希望做到“允許外來的Web通信流量通過,拒絕外來的FTP和Telnet等通信流量”,那么,他可以使用擴展ACL來達到目的,標準ACL不能控制這么精確。
所有的控制列表都有一個編號,標準訪問控制列表和擴展訪問控制列表按照這個編號區(qū)分,在路由器中每種協(xié)議允許的合法標號的取值范圍為:標準訪問控制列表編號范圍為1~99,擴展訪問控制列表為100~199。[3]路由器配置中,標準ACL和擴展ACL的區(qū)別是由ACL的表號來體現(xiàn)的。
(1) 定義標準訪問控制列表規(guī)則的語法格式為:
acl acl-number[match-order config|auto]
rule {normal|special}{permit|deny}[source source-addr source-wildcard-mask|any]
acl定義一個訪問控制列表,acl指定該訪問控制列表的號碼,1-99為基本的IP ACL,match-order指定ACL的配置順序。Config表示該ACL使用配置順序匹配,auto表示該ACL使用按照“深度優(yōu)先”的原則使用自動順序匹配,即當該ACL配置多條規(guī)則時,匹配最匹配的規(guī)則。rule命令為某一個訪問列表定義規(guī)則,一個訪問控制列表可能包含多條規(guī)則。normal或special是可選參數(shù)。Special可以用來指示該規(guī)則是否在特定的時間段內(nèi)生效,normal是缺省值,用來指示該規(guī)則在所有的時間內(nèi)都有效。deny或permit關(guān)鍵字用來指示符合該規(guī)則的數(shù)據(jù)流能否被接受,其中deny表明將丟棄符合該規(guī)則的數(shù)據(jù)流,如果是permit則表示允許通過。
any表示任意數(shù)據(jù)流都匹配該規(guī)則。source-addr和source-wildcard-mask定義該規(guī)則所匹配的IP數(shù)據(jù)包的IP源地址范圍。其中source-addr是制定一個IP地址,source-wildcard-mask是反子網(wǎng)掩碼,用來制定一個范圍。
下面我們通過使用華為產(chǎn)品的路由器來舉例訪問控制列表的應(yīng)用。標準訪問控制列表應(yīng)用舉例(見圖1)。
圖1 網(wǎng)絡(luò)拓撲圖
[Quidway]acl 5
[Quidway-acl-5]rule normal permit source 172.16.2.0 0.0.0.255
[Quidway-acl-5]rule deny source 172.16.3.0 0.0.0.255
該例子通過定一個列表號為5的標準訪問控制列表,該列表里面有兩條規(guī)則,第一條是允許源地址為172.16.2.0的網(wǎng)段的數(shù)據(jù)流通過,第二條規(guī)則是禁止源地址為172.16.3.0的網(wǎng)段的數(shù)據(jù)流通過,路由器收到一個數(shù)據(jù)包后把該數(shù)據(jù)包的ip地址和規(guī)則里面的反子網(wǎng)掩碼進行“位或”運算,然后用規(guī)則里面的源地址段和反子網(wǎng)掩碼進行“位或”運算,然后把兩者的結(jié)果進行“位異或”運算,若結(jié)果為非零則表示該數(shù)據(jù)包地址不屬于該源地址段,否則就表示該地址屬于該地址段,符合該規(guī)則。
(2)定義擴展訪問列表規(guī)則的命令格式(語法)為:
acl acl-number[match-order config|auto]
rule{normal|special}{permit|deny}
pro-number[source source-addr
source-wildcard-mask|any] [source-port operator
port1[port2]][destination dest-addr dest-wildcard-mask|any] [destination- port operator port1[port2]][icmp-type icmp-type
icmp-code][logging]
acl-number取值范圍為100-199,表示這是某個擴展訪問控制列表的一條規(guī)則;
normal或special的定義同標準訪問控制列表;
protocol number 字段用于指示IP所承載的上層協(xié)議,可以是數(shù)字形式表示的協(xié)議號,可以用形如TCP、UDP、ICMP等形式的助記符;
deny或permit含義和標準訪問控制列表一致;any|source-addr source-widcard-mask字段的含義和標準訪問控制列表相同;
any| destination-addr destinatio-wildcard-mask 用于表示和規(guī)則匹配的數(shù)據(jù)包目的IP地址的范圍;
source-port operator port1[port2]和destination-port operator port1[port2]表示當協(xié)議為TCP/UDP時,支持端口比較。
擴展訪問控制列表應(yīng)用舉例(見圖1)。
[Quidway]acl 101
[Quidway-acl-101]rule permit tcp source any destination 172.16.2.5 0.0.0.0 destination-port equal ftp logging
[Quidway-acl-101]rule permit tcp source any destination 172.16.2.10 0.0.0.0 destination-port equal telnet logging
[Quidway-acl-101]rule deny ip source any destination any
首先定義擴展訪問控制列表號101,然后定義三條規(guī)則,該例子的規(guī)則通常被用來在網(wǎng)關(guān)上進行輸入報文過濾,它可以實現(xiàn)的需求是:允許目的為172.16.2.5的ftp服務(wù)請求報文的輸入和目的為172.16.32.10的telnet服務(wù)的請求報文的輸入,其他一切輸入流都將被禁止。
在定義好訪問控制列表之后,如何把它應(yīng)用到設(shè)備上呢?在定義好訪問控制列表后,只要啟用路由器的防火墻功能并將訪問控制列表規(guī)則作用到某個接口上,即可實現(xiàn)數(shù)據(jù)包的過濾。可以在路由器的系統(tǒng)視圖下開啟防火墻的功能,并在接口視圖下用命令將規(guī)則應(yīng)用到該接口的某個方向上。
下面舉例訪問控制列表和設(shè)備的配合使用(見圖2)。
圖2 ACL應(yīng)用網(wǎng)絡(luò)拓撲圖
假設(shè)某單位的內(nèi)部網(wǎng)絡(luò)子網(wǎng)是210.34.41.0 里面有服務(wù)器 210.34.41.2 對外提供www服務(wù),單位通過路由器的e0/2對外連接互聯(lián)網(wǎng),其中出口的ip地址為220.161.81.3,在外網(wǎng)有特定的主機的地址為222.205.211.247。
[Quidway]firewall enable //啟用路由器的防火墻功能; [Quidway]acl 101
[Quidway-acl-101]rule deny ip source any destination any //配置規(guī)則禁止所有數(shù)據(jù)包通過;
[Quidway-acl-101]rule permit ip source 210.34.41.2 0.0.0.0 destination any
[Quidway-acl-101]rule permit ip source 210.34.41.3 0.0.0.0 destination any //配置規(guī)則允許特定的內(nèi)網(wǎng)主機用戶訪問外網(wǎng);
[Quidway]acl 102 //配置訪問控制列表102;
[Quidway-acl-102]rule deny ip source any destination any //配置規(guī)則禁止所有數(shù)據(jù)包通過;
[Quidway-acl-102]rule permit tcp source 222.205.194.5 0.0.0.0 destination 220.161.81.3 0.0.0.0 //允許外部特定的用戶從外部訪問內(nèi)部網(wǎng)絡(luò);
[Quidway-Ethernet0/1]firewall packet-filter 101 inbound //將規(guī)則101作用于從接口Ethernet1進入的包;
[Quidway-Ethernet0/2]firewall packet-filter 102 inbound //將規(guī)則102作用于從接口Ethernet2進入的包;
將訪問控制列表和規(guī)則定義完成之后,還要將相應(yīng)的列表根據(jù)需求綁定到對應(yīng)的路由器接口上,而且要制定對該接口的某個方向上的數(shù)據(jù)流起過濾作用,在上面的配置之后可以實現(xiàn)內(nèi)網(wǎng)的特定主機允許對外訪問,而內(nèi)網(wǎng)的數(shù)據(jù)只允許特定外網(wǎng)特定的主機進行訪問。
訪問控制列表示一種允許和拒絕的規(guī)則的語句集合,這些語句基于對數(shù)據(jù)包地址、上層協(xié)議、又或者對端口號的檢查來進行對網(wǎng)絡(luò)通信中的數(shù)據(jù)流的控制,它在通信過程中起到了一種基本的數(shù)據(jù)流的過濾的能力,對網(wǎng)絡(luò)的安全起到了很好的保護作用。訪問控制列表應(yīng)用到路由器的相關(guān)接口之后就起到了防火墻的作用,在內(nèi)部網(wǎng)絡(luò)和外部網(wǎng)絡(luò)之間形成一道天然的屏障。
訪問控制列表的應(yīng)用是靈活的,在實際部署防火墻時,必須根據(jù)安全需求,考慮對數(shù)據(jù)流的訪問控制,這里的一個關(guān)鍵是對訪問控制列表規(guī)則的定義,網(wǎng)絡(luò)管理者應(yīng)該根據(jù)實際的網(wǎng)絡(luò)規(guī)劃需求來定義相對應(yīng)的規(guī)則以實現(xiàn)堅固的網(wǎng)絡(luò)安全防護體系。
[1]聶多均.訪問控制列表及其在校園網(wǎng)內(nèi)網(wǎng)管理中的應(yīng)用研究[J].科技經(jīng)濟市場,2010(3):11.
[2]潘文嬋.通過訪問控制列表分析網(wǎng)絡(luò)病毒入侵和惡意攻擊[J].信息網(wǎng)絡(luò)安全,2010(4):59.
[3]張潤,王準.訪問控制列表在路由器上的應(yīng)用[J].中國傳媒大學學報:自然科學版,2003(1):41.
[4]梁廣民,王隆杰.網(wǎng)絡(luò)互連技術(shù)[M].北京:高等教育出版社,2004.
[5]homas M ThomasII,等著. ICND:Cisco網(wǎng)絡(luò)互聯(lián)設(shè)備[M].北京:機械工業(yè)出版社,2001.
The Applications of The Access Control List In Network Security
CHEN ming,TANG Ya-bin
(Computer Department of Zhangzhou Institute of Technology, Zhangzhou 363000, China)
Network security access control is the main strategy for the network prevention and protection, it can filter the communicate data through the source and destination address, protocol, port number, etc. in order to achieve the purpose of datan access control, its main task is to ensure that the network resources are not illegal use and visit. Practice has proved through critical equipment to set access control list can effectively guarantee the safety of network access,so access control list is the most important core strategies that used to ensure network security.
Access control list;network security;filter;rule
2010-07-24
陳明(1979-),男,福建漳州人,講師,碩士。
TP393.08
B
1673-1417(2010)03-0001-03