欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

網(wǎng)絡(luò)層訪問權(quán)限控制技術(shù)-ACL詳解

 更新時(shí)間:2007年09月19日 10:24:19   作者:  
技術(shù)從來都是一把雙刃劍,網(wǎng)絡(luò)應(yīng)用與互聯(lián)網(wǎng)的普及在大幅提高企業(yè)的生產(chǎn)經(jīng)營(yíng)效率的同時(shí),也帶來了諸如數(shù)據(jù)的安全性,員工利用互聯(lián)網(wǎng)做與工作不相干事等負(fù)面影響。如何將一個(gè)網(wǎng)絡(luò)有效的管理起來,盡可能的降低網(wǎng)絡(luò)所帶來的負(fù)面影響就成了擺在網(wǎng)絡(luò)管理員面前的一個(gè)重要課題。

  A公司的某位可憐的網(wǎng)管目前就面臨了一堆這樣的問題。A公司建設(shè)了一個(gè)企業(yè)網(wǎng),并通過一臺(tái)路由器接入到互聯(lián)網(wǎng)。在網(wǎng)絡(luò)核心使用一臺(tái)基于IOS的多層交換機(jī),所有的二層交換機(jī)也為可管理的基于IOS的交換機(jī),在公司內(nèi)部使用了VLAN技術(shù),按照功能的不同分為了6個(gè)VLAN。分別是網(wǎng)絡(luò)設(shè)備與網(wǎng)管(VLAN1,10.1.1.0/24)、內(nèi)部服務(wù)器(VLAN2)、Internet連接(VLAN3)、財(cái)務(wù)部(VLAN4)、市場(chǎng)部(VLAN5)、研發(fā)部門(VLAN6),出口路由器上Fa0/0接公司內(nèi)部網(wǎng),通過s0/0連接到Internet。每個(gè)網(wǎng)段的三層設(shè)備(也就是客戶機(jī)上的缺省網(wǎng)關(guān))地址都從高位向下分配,所有的其它節(jié)點(diǎn)地址均從低位向上分配。該網(wǎng)絡(luò)的拓樸如下圖所示:   

  自從網(wǎng)絡(luò)建成后麻煩就一直沒斷過,一會(huì)兒有人試圖登錄網(wǎng)絡(luò)設(shè)備要搗亂;一會(huì)兒領(lǐng)導(dǎo)又在抱怨說互聯(lián)網(wǎng)開通后,員工成天就知道泡網(wǎng);一會(huì)兒財(cái)務(wù)的人又說研發(fā)部門的員工看了不該看的數(shù)據(jù)。這些抱怨都找這位可憐的網(wǎng)管,搞得他頭都大了。那有什么辦法能夠解決這些問題呢?答案就是使用網(wǎng)絡(luò)層的訪問限制控制技術(shù)――訪問控制列表(下文簡(jiǎn)稱ACL)。

  那么,什么是ACL呢?ACL是種什么樣的技術(shù),它能做什么,又存在一些什么樣的局限性呢?

  ACL的基本原理、功能與局限性

  網(wǎng)絡(luò)中常說的ACL是Cisco IOS所提供的一種訪問控制技術(shù),初期僅在路由器上支持,近些年來已經(jīng)擴(kuò)展到三層交換機(jī),部分最新的二層交換機(jī)如2950之類也開始提供ACL的支持。只不過支持的特性不是那么完善而已。在其它廠商的路由器或多層交換機(jī)上也提供類似的技術(shù),不過名稱和配置方式都可能有細(xì)微的差別。本文所有的配置實(shí)例均基于Cisco IOS的ACL進(jìn)行編寫。

  基本原理:ACL使用包過濾技術(shù),在路由器上讀取第三層及第四層包頭中的信息如源地址、目的地址、源端口、目的端口等,根據(jù)預(yù)先定義好的規(guī)則對(duì)包進(jìn)行過濾,從而達(dá)到訪問控制的目的。

  功能:網(wǎng)絡(luò)中的節(jié)點(diǎn)資源節(jié)點(diǎn)和用戶節(jié)點(diǎn)兩大類,其中資源節(jié)點(diǎn)提供服務(wù)或數(shù)據(jù),用戶節(jié)點(diǎn)訪問資源節(jié)點(diǎn)所提供的服務(wù)與數(shù)據(jù)。ACL的主要功能就是一方面保護(hù)資源節(jié)點(diǎn),阻止非法用戶對(duì)資源節(jié)點(diǎn)的訪問,另一方面限制特定的用戶節(jié)點(diǎn)所能具備的訪問權(quán)限。

  配置ACL的基本原則:在實(shí)施ACL的過程中,應(yīng)當(dāng)遵循如下兩個(gè)基本原則:

   最小特權(quán)原則只給受控對(duì)象完成任務(wù)所必須的最小的權(quán)限

   最靠近受控對(duì)象原則:所有的網(wǎng)絡(luò)層訪問權(quán)限控制

  局限性:由于ACL是使用包過濾技術(shù)來實(shí)現(xiàn)的,過濾的依據(jù)又僅僅只是第三層和第四層包頭中的部分信息,這種技術(shù)具有一些固有的局限性,如無法識(shí)別到具體的人,無法識(shí)別到應(yīng)用內(nèi)部的權(quán)限級(jí)別等。因此,要達(dá)到end to end的權(quán)限控制目的,需要和系統(tǒng)級(jí)及應(yīng)用級(jí)的訪問權(quán)限控制結(jié)合使用。

  ACL基本配置

  ACL配置技術(shù)詳解

  “說那么多廢話做什么,趕快開始進(jìn)行配置吧。”,A公司的網(wǎng)管說。呵呵,并不是我想說那么多廢話,因?yàn)槔斫膺@些基礎(chǔ)的概念與簡(jiǎn)單的原理對(duì)后續(xù)的配置和排錯(cuò)都是相當(dāng)有用的。說說看,你的第一個(gè)需求是什么。

  “做為一個(gè)網(wǎng)管,我不期望普通用戶能telnet到網(wǎng)絡(luò)設(shè)備”――ACL基礎(chǔ)

  “補(bǔ)充一點(diǎn),要求能夠從我現(xiàn)在的機(jī)器(研發(fā)VLAN的10.1.6.66)上telnet到網(wǎng)絡(luò)設(shè)備上去。”。hamm,是個(gè)不錯(cuò)的主意,誰(shuí)都不希望有人在自己的花園中撤野。讓我們分析一下,在A公司的網(wǎng)絡(luò)中,除出口路由器外,其它所有的網(wǎng)絡(luò)設(shè)備段的是放在Vlan1中,那個(gè)我只需要在到VLAN 1的路由器接口上配置只允許源地址為10.1.6.66的包通過,其它的包通通過濾掉。這中只管源IP地址的ACL就叫做

  標(biāo)準(zhǔn)IP ACL:

  我們?cè)赟WA上進(jìn)行如下的配置:

  access-list 1 permit host 10.1.6.66

  access-list 1 deny any

  int vlan 1

  ip access-group 1 out

  這幾條命令中的相應(yīng)關(guān)鍵字的意義如下:

  access-list配置均ACL的關(guān)鍵字,所有的ACL均使用這個(gè)命令進(jìn)行配置。

  access-list后面的1:ACL號(hào),ACL號(hào)相同的所有ACL形成一個(gè)組。在判斷一個(gè)包時(shí),使用同一組中的條目從上到下逐一進(jìn)行判斷,一遇到滿足的條目就終止對(duì)該包的判斷。1-99為標(biāo)準(zhǔn)的IP ACL號(hào),標(biāo)準(zhǔn)IP ACL由于只讀取IP包頭的源地址部分,消耗資源少。

  permit/deny:操作。Permit是允許通過,deny是丟棄包。

  host 10.1.6.66/any匹配條件,等同于10.1.6.66 0.0.0.0。剛才說過,標(biāo)準(zhǔn)的ACL只限制源地址。Host 10.1.6.66(10.1.6.66 0.0.0.0)的意思是只匹配源地址為10.1.6.66的包。0.0.0.0是wildcards,某位的wildcards為0表示IP地址的對(duì)應(yīng)位必須符合,為1表示IP地址的對(duì)應(yīng)位不管是什么都行。簡(jiǎn)單點(diǎn)說,就是255.255.255.255減去子網(wǎng)掩碼后的值,0.0.0.0的wildcards就是意味著IP地址必須符合10.1.6.66,可以簡(jiǎn)稱為host 10.1.6.66。any表示匹配所有地址。

  注意:IOS中的ACL均使用wildcards,并且會(huì)用wildcards對(duì)IP地址進(jìn)行嚴(yán)格的對(duì)齊,如你輸入一條access-list 1 permit 10.1.1.129 0.0.0.31,在你show access-list看時(shí),會(huì)變成access-list 1 permit 10.1.1.128 0.0.0.31,PIXOS中的ACL均使用subnet masks,并且不會(huì)進(jìn)行對(duì)齊操作。

  int vlan1///ip access-group 1 out這兩句將access-list 1應(yīng)用到vlan1接口的out方向。其中1是ACL號(hào),和相應(yīng)的ACL進(jìn)行關(guān)聯(lián)。Out是對(duì)路由器該接口上哪個(gè)方向的包進(jìn)行過濾,可以有in和out兩種選擇。

  注意:這里的in/out都是站在路由器或三層模塊(以后簡(jiǎn)稱R)上看的,in表示從該接口進(jìn)入R的包,out表示從該接口出去的包。

  好了,這就是一個(gè)最基本的ACL的配置方法。什么,你說普通用戶還能telnet到RTA?那你在int vlan3上現(xiàn)加一個(gè)ip access-group 1 out吧。Hammmm,等等,你這樣加上去普通用戶就訪問不了internet了。讓我們把剛才的ACL去掉,重新寫一個(gè)。

  回憶一下,我們的目的是除了10.1.6.66能夠進(jìn)行telnet操作外,其它用戶都不允許進(jìn)行telnet操作。剛才我們說過,標(biāo)準(zhǔn)的IP ACL只能控制源IP地址,不能控制到端口。要控制到第四層的端口,就需要使用到:
擴(kuò)展的IP ACL的配置

  先看看配置實(shí)例吧。在SWA上進(jìn)行如下配置:

  int vlan 1

  no ip access-group 1 out

  exit

  no access-list 1

  access-list 101 permit tcp host 10.1.6.66 any eq telnet

  access-list 101 deny tcp any any eq telnet

  int vlan 1

  ip access-group 101 out

  int vlan 3

  ip access-group 101 out

  你應(yīng)該注意到到這里的ACL有一些變化了,現(xiàn)在對(duì)變化的部分做一些說明:

  access-list 101:注意這里的101,和剛才的標(biāo)準(zhǔn)ACL中的1一樣,101是ACL號(hào),表示這是一個(gè)擴(kuò)展的IP ACL。擴(kuò)展的IP ACL號(hào)范圍是100-199,擴(kuò)展的IP ACL可以控制源IP、目的IP、源端口、目的端口等,能實(shí)現(xiàn)相當(dāng)精細(xì)的控制,擴(kuò)展ACL不僅讀取IP包頭的源地址/目的地址,還要讀取第四層包頭中的源端口和目的端口,的IP在沒有硬件ACL加速情況下,會(huì)消耗大量的CPU資源。

  int vlan 1///no ip access-group 1 out///exit///no access-list 1:取消access-list 1,對(duì)于非命名的ACL,可以只需要這一句就可以全部取消。注意,在取消或修改一個(gè)ACL前,必須先在它所應(yīng)用的接口上先把應(yīng)用給no掉,否則會(huì)導(dǎo)致相當(dāng)嚴(yán)重的后果。

  tcp host 10.1.6.66 any eq telnet:匹配條件。完整格式為:協(xié)議 源地址 源wildcards [關(guān)系] [源端口] 目的地址 目的wildcards [關(guān)系] [目的端口]。其中協(xié)議可以是IP、TCP、UDP、EIGRP等,[]內(nèi)為可選字段。僅在協(xié)議為tcp/udp等具備端口號(hào)的協(xié)議才有用。關(guān)系可以是eq(等于)、neq(不等于)、lt(大于)、range(范圍)等。端口一般為數(shù)字的1-65535,對(duì)于周知端口,如23(服務(wù)名為telnet)等可以用服務(wù)名代替。源端口和目的端口不定義時(shí)表示所有端口。

  把這個(gè)ACL應(yīng)用上去后,用戶們開始打電話來罵娘了,因?yàn)樗麄兌荚L問不了Internet了,是哪里出了問題了呢?

  注意:所有的ACL,缺省情況下,從安全角度考慮,最后都會(huì)隱含一句deny any(標(biāo)準(zhǔn)ACL)或deny ip any any(擴(kuò)展IP ACL)。所以在不了解業(yè)務(wù)會(huì)使用到哪些端口的情況下,最好在ACL的最后加上一句permit ip any any,在這里就是access-list 101 permit ip any any。

  現(xiàn)在用戶倒是能夠訪問Internet了,但我們的可憐的網(wǎng)管卻發(fā)現(xiàn)普通用戶還是能夠telnet到他的SWA上面,因?yàn)镾WA上面有很多個(gè)網(wǎng)絡(luò)接口,而且使用擴(kuò)展的ACL會(huì)消耗很多的資源。有什么簡(jiǎn)單的辦法能夠控制用戶對(duì)網(wǎng)絡(luò)設(shè)備的Telnet訪問,而又不消耗太多的資源呢?這就需要使用到:

  對(duì)網(wǎng)絡(luò)設(shè)備自身的訪問如何進(jìn)行控制的技術(shù)

  讓我們先把剛才配置的ACL都取掉(具體配置略,不然后讀者會(huì)以為我在騙稿費(fèi)了。),再在每臺(tái)網(wǎng)絡(luò)設(shè)備上均進(jìn)行如下配置:

  access-list 1 permit host 10.1.6.66

  line vty 0 4(部分設(shè)備是15)

  access-class 1 in

  這樣就行了,telnet都是訪問的設(shè)備上的line vty,在line vty下面使用access-class與ACL組進(jìn)行關(guān)聯(lián),in關(guān)鍵字表示控制進(jìn)入的連接。

  就這么簡(jiǎn)單?wk,你丫是不是在玩我們,為什么還要繞一大圈?臭雞蛋和爛西紅柿開始在70的腦袋上方狂飛。(5555555,偶也只是想向大家把ACL的基礎(chǔ)知識(shí)講的明白一些的嘛)。經(jīng)過剛才的配置,我們可以理出一個(gè)簡(jiǎn)單的ACL配置步驟了:

   分析需求,找清楚需求中要保護(hù)什么或控制什么;為方便配置,最好能以表格形式列出。在本文的后面會(huì)舉例的。

   分析符合條件的數(shù)據(jù)流的路徑,尋找一個(gè)最適合進(jìn)行控制的位置;

   書寫ACL,并將ACL應(yīng)用到接口上;

   測(cè)試并修改ACL。

  當(dāng)A公司的領(lǐng)導(dǎo)知道在網(wǎng)管能夠控制普通用戶對(duì)網(wǎng)絡(luò)設(shè)備的訪問后,我們的可憐的網(wǎng)管就收到了很多看起來很難的要求。領(lǐng)導(dǎo)要求網(wǎng)管:

  ACL執(zhí)行順序

  “使用ACL技術(shù)對(duì)網(wǎng)絡(luò)訪問進(jìn)行精細(xì)化控制”――ACL進(jìn)階配置

  命名的IP ACL

  由于最近服務(wù)器網(wǎng)段的機(jī)器老是被人用telnet、rsh等手段進(jìn)行攻擊,我們只對(duì)員工開放web服務(wù)器(10.1.2.20)所提供的http、FTP服務(wù)器(10.1.2.22)提供的FTP服務(wù)和數(shù)據(jù)庫(kù)服務(wù)器(10.1.2.21:1521)。好吧,我們著手進(jìn)行配置,可是我們的ACL剛寫到一半,發(fā)現(xiàn)前面寫的幾句好像有問題,一個(gè)no命令輸進(jìn)去,整個(gè)ACL都沒了,唉,一切都得重來,難道就沒有一個(gè)變通的辦法么?有,這里我就需要用到:

  命名的IP acl提供的兩個(gè)主要優(yōu)點(diǎn)是:

  l 解決ACL號(hào)碼不足的問題。

  l 可以自由的刪除ACL中的一條語(yǔ)句,而不必刪除整個(gè)ACL。

  命名的ACL的主要不足之處在于無法實(shí)現(xiàn)在任意位置加入新的ACL條目。比如上面那個(gè)例子中,我們進(jìn)行了如下的配置:

  ip access-list extend server-protect

  permit tcp 10.1.0.0 0.0.255.255 host 10.1.2.20 eq www

  permit tcp 10.0.0.0 0.0.255.255 host 10.1.2.21 eq 1521

  permit tcp 10.1.0.0 0.0.255.255 host 10.1.2.22 eq ftp

  配置到這里,我們發(fā)現(xiàn)permit tcp 10.0.0.0 0.0.255.255 host 10.1.2.21 eq 1521這句配錯(cuò)了,我們得把它給取掉并重新配置,OK,我樣可以簡(jiǎn)單的進(jìn)行如下配置:

  ip access-list extend server- protect

  no permit tcp 10.0.0.0 0.0.255.255 host 10.1.2.21 eq 1521

  permit tcp 10.1.0.0 0.0.0.255 host 10.1.2.21 eq 1521

  exit

  int vlan 2

  ip access-group server- protect

  就可以了。現(xiàn)在對(duì)命名的IP access-list的配置方法解釋如下:

  ip access-list extend server-access-limit:ip access-list相當(dāng)于使用編號(hào)的access-list中的access-list段。extend表明是擴(kuò)展的ACL(對(duì)應(yīng)地,standard表示標(biāo)準(zhǔn)的ACL)。server-access-limit是access-list的名字,相當(dāng)于基于編號(hào)的ACL中的編號(hào)字段。

  permit tcp 10.1.6.0 0.0.0.255 host 10.1.2.21 eq 1521這一段和使用編號(hào)的access-list的后半段的意義相同,都由操作和條件兩段組成。

  其實(shí)基于名字的IP ACL還有一個(gè)很好的優(yōu)點(diǎn)就是可以為每個(gè)ACL取一個(gè)有意義的名字,便于日后的管理與維護(hù)。所以Ultra工作室強(qiáng)烈建議各位看官在實(shí)際工作中均使用命名的ACL。

  進(jìn)一步完善對(duì)服務(wù)器數(shù)據(jù)的保護(hù)――ACL執(zhí)行順序再探討

  在服務(wù)器網(wǎng)段中的數(shù)據(jù)庫(kù)服務(wù)器中存放有大量的市場(chǎng)信息,市場(chǎng)部門的人員不希望研發(fā)部門訪問到數(shù)據(jù)庫(kù)服務(wù)器,經(jīng)過協(xié)商,同意研發(fā)部門的領(lǐng)導(dǎo)的機(jī)器(IP地址為10.1.6.33)可以訪問到數(shù)據(jù)庫(kù)服務(wù)器。這樣,我們的服務(wù)器網(wǎng)段的的訪問權(quán)限部分如下表所示:

協(xié)議源地址源端口目的地址目的端口操作TCP10.1/16所有10.1.2.20/3280允許訪問TCP10.1/16所有10.1.2.22/3221允許訪問TCP10.1/16所有10.1.2.21/321521允許訪問TCP10.1.6/24所有10.1.2.21/321521禁止訪問TCP10.1.6.33/32所有10.1.2.21/321521允許訪問IP10.1/16N/A所有N/A禁止訪問
  于是,網(wǎng)管就在server-protect后面順序加了兩條語(yǔ)句進(jìn)去,整個(gè)ACL變成了如下形式:
ip access-list extend server-protect

  permit tcp 10.1.0.0 0.0.255.255 host 10.1.2.20 eq www

  permit tcp 10.1.0.0 0.0.255.255 host 10.1.2.21 eq 1521

  permit tcp 10.1.0.0 0.0.255.255 host 10.1.2.22 eq ftp

  deny tcp 10.1.6.0 0.0.0.255 host 10.1.2.21 eq 1521

  permit tcp host 10.1.6.33 host 10.1.2.21 eq 1521

  做完之后發(fā)現(xiàn)根本沒起到應(yīng)有的作用,研發(fā)部門的所有機(jī)器還是可以訪問到數(shù)據(jù)庫(kù)服務(wù)器。這是為什么呢?

  前面我們提到過,ACL的執(zhí)行順序是從上往下執(zhí)行,一個(gè)包只要遇到一條匹配的ACL語(yǔ)句后就會(huì)停止后續(xù)語(yǔ)句的執(zhí)行,在我們的這個(gè)ACL中,因?yàn)榍懊嬉呀?jīng)有了一條permit tcp 10.1.0.0 0.0.255.255 host 10.1.2.21 eq 1521語(yǔ)句。內(nèi)部網(wǎng)上所有訪問10.1.2.21的1521端口的在這兒就全部通過了,跟本不會(huì)到后面兩句去比較。所以導(dǎo)致達(dá)不到我們的目的。應(yīng)該把server-protect這個(gè)ACL按如下形式進(jìn)行修改才能滿足我們的要求:

  ip access-list extend server-protect

  permit tcp host 10.1.6.33 host 10.1.2.21 eq 1521

  deny tcp 10.1.6.0 0.0.0.255 host 10.1.2.21 eq 1521

  permit tcp 10.1.0.0 0.0.255.255 host 10.1.2.21 eq 1521

  permit tcp 10.1.0.0 0.0.255.255 host 10.1.2.20 eq www

  permit tcp 10.1.0.0 0.0.255.255 host 10.1.2.22 eq ftp

  這個(gè)例子告訴我們?cè)趯慉CL時(shí),一定要遵循最為精確匹配的ACL語(yǔ)句一定要寫在最前面的原則,只有這樣才能保證不會(huì)出現(xiàn)無用的ACL語(yǔ)句。
基于時(shí)間的ACL

  在保證了服務(wù)器的數(shù)據(jù)安全性后,領(lǐng)導(dǎo)又準(zhǔn)備對(duì)內(nèi)部員工上網(wǎng)進(jìn)行控制。要求在上班時(shí)間內(nèi)(9:00-18:00)禁止內(nèi)部員工瀏覽internet,禁止使用QQ、MSN。而且在2003年6月1號(hào)到2號(hào)的所有時(shí)間內(nèi)都不允許進(jìn)行上述操作。但在任何時(shí)間都可以允許以其它方式訪問Internet。天哪,這可叫人怎么活呀,但領(lǐng)導(dǎo)既然這樣安排,也只好按指示做了。

  首先,讓我們來分析一下這個(gè)需求,瀏覽internet現(xiàn)在基本上都是使用http或https進(jìn)行訪問,標(biāo)準(zhǔn)端口是TCP/80端口和TCP/443,MSN使用TCP/1863端口,QQ登錄會(huì)使用到TCP/UDP8000這兩個(gè)端口,還有可能使用到udp/4000進(jìn)行通訊。而且這些軟件都能支持代理服務(wù)器,目前的代理服務(wù)器主要布署在TCP 8080、TCP 3128(HTTP代理)和TCP1080(socks)這三個(gè)端口上。這個(gè)需求如下表所示:

應(yīng)用協(xié)議源地址源端口目的地址目的端口操作IETCP10.1/16所有所有80限制訪問IETCP10.1/16所有所有443限制訪問MSNTCP10.1/16所有所有1863限制訪問QQTCP10.1/16所有所有8000限制訪問QQUDP10.1/16所有所有8000限制訪問QQUDP10.1/16所有所有4000限制訪問HTTP代理TCP10.1/16所有所有8080限制訪問HTTP代理TCP10.1/16所有所有3128限制訪問SocksTCP10.1/16所有所有1080限制訪問All otherIP10.1/16N/A所有N/A允許訪問
  然后,讓我們看看ACL應(yīng)該在哪個(gè)位置配置比較好呢?由于是對(duì)訪問Internet進(jìn)行控制,涉及到的是公司內(nèi)部所有的網(wǎng)段,這們這次把ACL就放到公司的Internet出口處。在RTA上進(jìn)行如下的配置,就能夠滿足領(lǐng)導(dǎo)的要求了:

  time-range TR1

  absolute start 00:00 1 June 2003 end 00:00 3 June 2003

  periodic weekdays start 9:00 18:00

  exit

  ip access-list extend internet_limit

  deny tcp 10.1.0.0 0.0.255.255 any eq 80 time-range TR1

  deny tcp 10.1.0.0 0.0.255.255 any eq 443 time-range TR1

  deny tcp 10.1.0.0 0.0.255.255 any eq 1863 time-range TR1

  deny tcp 10.1.0.0 0.0.255.255 any eq 8000 time-range TR1

  deny udp 10.1.0.0 0.0.255.255 any eq 8000 time-range TR1

  deny udp 10.1.0.0 0.0.255.255 any eq 4000 time-range TR1

  deny tcp 10.1.0.0 0.0.255.255 any eq 3128 time-range TR1

  deny tcp 10.1.0.0 0.0.255.255 any eq 8080 time-range TR1

  deny tcp 10.1.0.0 0.0.255.255 any eq 1080 time-range TR1

  permit ip any any

  int s0/0

  ip access-group internet_limit out

  或int fa0/0

  ip access-group internet_limit in

  或者將ACL配置在SWA上,并

  int vlan 3

  ip access-group internet_limit out

  呵呵,現(xiàn)在讓我們來看看在基于時(shí)間的訪問列表中都有哪些新內(nèi)容吧:

  time-range TR1:定義一個(gè)新的時(shí)間范圍,其中的TR1是為該時(shí)間范圍取的一個(gè)名字。

  absolute:為絕對(duì)時(shí)間。只使用一次??梢远x為1993-2035年內(nèi)的任意一個(gè)時(shí)點(diǎn)。具體的用法請(qǐng)使用?命令查看。

  Periodic:為周期性重復(fù)使用的時(shí)間范圍的定義。完整格式為periodic 日期關(guān)鍵字 開始時(shí)間 結(jié)束時(shí)間。其中日期關(guān)鍵字的定義如下所示:

  Monday 星期一

  Tuesday 星期二

  Wednesday 星期三

  Thursday 星期四

  Friday 星期五

  Saturday 星期六

  Sunday 星期天

  daily 每天

  weekdays 周一至五

  weekend 周末

  access-list 101 deny ip 10.1.0.0 0.0.255.255 any time-range TR1:注意這一句最后的time-range TR1,使這條ACL語(yǔ)句與time-range TR1相關(guān)聯(lián),表明這條語(yǔ)句在time-range TR1所定義的時(shí)間范圍內(nèi)才起作用。

  注意:給出三種配置位置是幫助大家深刻理解關(guān)于in/out的區(qū)別的。acl是對(duì)從一個(gè)接上流入(in)或流出(out)路由器的包進(jìn)行過濾的。

  網(wǎng)管發(fā)問了,“你是怎么找到這些應(yīng)用的所使用的端口的?”。呵呵,在如下文件中可以找到大多數(shù)應(yīng)用的端口的定義:

  Win9x:%windir%\services

  WinNT/2000/XP:%windir%\system32\drivers\etc\services

  Linux:/etc/services

  對(duì)于在services文件中找不到端口的應(yīng)用,可以在運(yùn)行程序的前后,運(yùn)行netstat –ap來找出應(yīng)用所使用的端口號(hào)。

  單向訪問控制

  使用IP ACL實(shí)現(xiàn)單向訪問控制

  A公司準(zhǔn)備實(shí)行薪資的不透明化管理,由于目前的薪資收入數(shù)據(jù)還放在財(cái)務(wù)部門的Vlan中,所以公司不希望市場(chǎng)和研發(fā)部門能訪問到財(cái)務(wù)部Vlan中的數(shù)據(jù),另一方面,財(cái)務(wù)部門做為公司的核心管理部門,又希望能訪問到市場(chǎng)和研發(fā)部門Vlan內(nèi)的數(shù)據(jù)。我們的網(wǎng)管在接到這個(gè)需求后就在SWA上做了如下的配置:

  ip access-list extend fi-access-limit

  deny ip any 10.1.4.0 0.0.0.255

  permit ip any any

  int vlan 5

  ip access-group fi-access-limit in

  int vlan 6

  ip access-group fi-access-limit in

  配置做完后,測(cè)試了一下,市場(chǎng)和研發(fā)部門確實(shí)訪問不到財(cái)務(wù)部了,剛準(zhǔn)備休息一下,財(cái)務(wù)部打電話過來說為訪問不到市場(chǎng)與研發(fā)部門的數(shù)據(jù)了。這是怎么回事呢?

  讓我們回憶一下,在兩臺(tái)主機(jī)A與B之間要實(shí)現(xiàn)通訊,需要些什么條件呢?答案是既需要A能向B發(fā)包,也需要B能向A發(fā)包,任何一個(gè)方向的包被阻斷,通訊都不能成功,在我們的例子中就存在這樣的問題,財(cái)務(wù)部訪問市場(chǎng)或研發(fā)部門時(shí),包到到市場(chǎng)或研發(fā)部門的主機(jī),由這些主機(jī)返回的包在到達(dá)路由器SWA時(shí),由于普通的ACL均不具備檢測(cè)會(huì)話狀態(tài)的能力,就被deny ip any 10.1.4.0 0.0.0.255這條ACL給阻斷了,所以訪問不能成功。

  要想實(shí)現(xiàn)真正意義上的單向訪問控制應(yīng)該怎么辦呢?我們希望在財(cái)務(wù)部門訪問市場(chǎng)和研發(fā)部門時(shí),能在市場(chǎng)和研發(fā)部門的ACL中臨時(shí)生成一個(gè)反向的ACL條目,這樣就能實(shí)現(xiàn)單向訪問了。這里就需要使用到反向ACL技術(shù)。我們可以按照如下配置實(shí)例就可以滿足剛才的那個(gè)單向訪問需求:

  ip access-list extend fi-main

  permit tcp any 10.1.0.0 0.0.255.255 reflect r-main timeout 120

  permit udp any 10.1.0.0 0.0.255.255 reflect r-main timeout 200

  permit icmp any 10.1.0.0 0.0.255.255 reflect r-main timeout 10

  permit ip any any

  int vlan 4

  ip access-group fi-main in

  ip access-list extend fi-access-limit

  evaluate r-main

  deny ip any 10.1.4.0 0.0.0.255

  permit ip any any

  int vlan 5

  ip access-group fi-access-limit in

  int vlan 6

  ip access-group fi-access-limit in

  現(xiàn)在對(duì)反向ACL新增加的內(nèi)容一一解釋如下:

  新增了一個(gè)ACL(fi-main)并應(yīng)用在具備訪問權(quán)限的接口下(財(cái)務(wù)部所在的vlan4)的in方向,使用該acl中具備reflect關(guān)鍵字的acl條目來捕捉建立反向ACL條目所需要的信息。我們將該ACL稱為主ACL。

  reflect r-main timeout xxx:其中的reflect關(guān)鍵字表明該條目可以用于捕捉建立反向的ACL條目所需要的信息。r-main是reflect組的名字,具備相同reflect組名字的所有的ACL條目為一個(gè)reflect組。timeout xxx表明由這條ACL條目所建立起來的反向ACL條目在沒有流量的情況下,多長(zhǎng)時(shí)間后會(huì)消失(缺省值為300秒),單位為秒。

  evaluate r-main:我們注意到在fi-access-limit(我們把它稱為反ACL)增加了這樣一句,這一句的意思是有符合r-main這個(gè)reflect組中所定義的acl條目的流量發(fā)生時(shí),在evaluate語(yǔ)句所在的當(dāng)前位置動(dòng)態(tài)生成一條反向的permit語(yǔ)句。

  反向ACL的局限性:

   必須使用命名的ACL,其實(shí)這不能叫局限性,應(yīng)該算注意事項(xiàng)吧;

   對(duì)多通道應(yīng)用程序如h323之類無法提供支持。

  好了,到現(xiàn)在我們從IP ACL的基礎(chǔ)知識(shí)講起,中間講述了標(biāo)準(zhǔn)的IP ACL、擴(kuò)展的IP ACL、基于名字的ACL、基于時(shí)間的ACL、反向ACL等諸多內(nèi)容,這些ACL在ios的基本IP特性集中都能提供支持,在一般的企業(yè)網(wǎng)或校園網(wǎng)中也應(yīng)該完全夠用了。如果各位看官還需要了解更加深入的知識(shí),如CBAC之類能夠?yàn)槎嗤ǖ缿?yīng)用程序提供良好支持的配置技術(shù)的,請(qǐng)參考《Cisco IOS Security Configuration Guide,Part 3: Traffic Filtering and Firewalls》。

  “站??!”,70正想開溜,只聽那網(wǎng)管一聲大吼,“有什么辦法能知道ACL都過濾了從哪兒來,到哪兒去的流量??”。呵呵,剛才忘記說了,你只需要在需要記錄的acl條目的最后加一個(gè)log關(guān)鍵字,這樣在有符合該ACL條目數(shù)據(jù)包時(shí),就會(huì)產(chǎn)生一條日志信息發(fā)到你的設(shè)備所定義的日志服務(wù)器上去。謝謝大家的捧場(chǎng),本文到此為止。
文章錄入:csh    責(zé)任編輯:csh 

相關(guān)文章

最新評(píng)論