ACL訪問控制列表

2021-05-05 14:44:22 字數 3130 閱讀 4587

技術從來都是一把雙刃劍,網路應用與網際網路的普及在大幅提高企業的生產經營效率的同時,也帶來了諸如資料的安全性,員工利用網際網路做與工作不相干事等負面影響。如何將乙個網路有效的管理起來,盡可能的降低網路所帶來的負面影響就成了擺在網路管理員面前的乙個重要課題。

a公司的某位可憐的網管目前就面臨了一堆這樣的問題。a公司建設了乙個企業網,並通過一台路由器接入到網際網路。在網路核心使用一台基於ios的多層交換機,所有的二層交換機也為可管理的基於ios的交換機,在公司內部使用了vlan技術,按照功能的不同分為了6個vlan。分別是網路裝置與網管(vlan1,10.1.1.0/24)、內部伺服器(vlan2)、internet連線(vlan3)、財務部(vlan4)、市場部(vlan5)、研發部門(vlan6),出口路由器上fa0/0接公司內部網,通過s0/0連線到internet。每個網段的三層裝置(也就是客戶機上的預設閘道器)位址都從高位向下分配,所有的其它節點位址均從低位向上分配。  

自從網路建成後麻煩就一直沒斷過,一會兒有人試圖登入網路裝置要搗亂;一會兒領導又在抱怨說網際網路開通後,員工成天就知道泡網;一會兒財務的人又說研發部門的員工看了不該看的資料。這些抱怨都找這位可憐的網管,搞得他頭都大了。那有什麼辦法能夠解決這些問題呢?答案就是使用網路層的訪問限制控制技術――訪問控制列表(下文簡稱acl)。

那麼,什麼是acl呢?acl是種什麼樣的技術,它能做什麼,又存在一些什麼樣的侷限性呢?

acl的基本原理、功能與侷限性

網路中常說的acl是cisco ios所提供的一種訪問控制技術,初期僅在路由器上支援,近些年來已經擴充套件到三層交換機,部分最新的二層交換機如2950之類也開始提供acl的支援。只不過支援的特性不是那麼完善而已。在其它廠商的路由器或多層交換機上也提供類似的技術,不過名稱和配置方式都可能有細微的差別。本文所有的配置例項均基於cisco ios的acl進行編寫。

功能:網路中的節點資源節點和使用者節點兩大類,其中資源節點提供服務或資料,使用者節點訪問資源節點所提供的服務與資料。acl的主要功能就是一方面保護資源節點,阻止非法使用者對資源節點的訪問,另一方面限制特定的使用者節點所能具備的訪問許可權。

配置acl的基本原則:在實施acl的過程中,應當遵循如下兩個基本原則:

最小特權原則:只給受控物件完成任務所必須的最小的許可權

最靠近受控物件原則:所有的網路層訪問許可權控制

侷限性:由於acl是使用包過濾技術來實現的,過濾的依據又僅僅只是第三層和第四層包頭中的部分資訊,這種技術具有一些固有的侷限性,如無法識別到具體的人,無法識別到應用內部的許可權級別等。因此,要達到end to end的許可權控制目的,需要和系統級及應用級的訪問許可權控制結合使用。

acl基本配置

acl配置技術詳解

「說那麼多廢話做什麼,趕快開始進行配置吧。」,a公司的網管說。呵呵,並不是我想說那麼多廢話,因為理解這些基礎的概念與簡單的原理對後續的配置和排錯都是相當有用的。說說看,你的第乙個需求是什麼。

「做為乙個網管,我不期望普通使用者能telnet到網路裝置」――acl基礎

「補充一點,要求能夠從我現在的機器(研發vlan的10.1.6.66)上telnet到網路裝置上去。」。hamm,是個不錯的主意,誰都不希望有人在自己的花園中撤野。讓我們分析一下,在a公司的網路中,除出口路由器外,其它所有的網路裝置段的是放在vlan1中,那個我只需要在到vlan 1的路由器介面上配置只允許源位址為10.1.6.66的包通過,其它的包通通過濾掉。這中只管源ip位址的acl就叫做

標準ip acl:

我們在swa上進行如下的配置:

access-list 1 permit host 10.1.6.66

access-list 1 deny any

int vlan 1

ip access-group 1 out

這幾條命令中的相應關鍵字的意義如下:

access-list:配置均acl的關鍵字,所有的acl均使用這個命令進行配置。

access-list後面的1:acl號,acl號相同的所有acl形成乙個組。在判斷乙個包時,使用同一組中的條目從上到下逐一進行判斷,一遇到滿足的條目就終止對該包的判斷。1-99為標準的ip acl號,標準ip acl由於只讀取ip包頭的源位址部分,消耗資源少。

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

host 10.1.6.66/any:匹配條件,等同於10.1.6.66 0.0.0.0。剛才說過,標準的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位址的對應位必須符合,為1表示ip位址的對應位不管是什麼都行。簡單點說,就是255.255.255.255減去子網掩碼後的值,0.0.0.0的wildcards就是意味著ip位址必須符合10.1.6.66,可以簡稱為host 10.1.6.66。any表示匹配所有位址。

注意:ios中的acl均使用wildcards,並且會用wildcards對ip位址進行嚴格的對齊,如你輸入一條access-list 1 permit 10.1.1.129 0.0.0.31,在你show access-list看時,會變成access-list 1 permit 10.1.1.128 0.0.0.31,pixos中的acl均使用subnet masks,並且不會進行對齊操作。

int vlan1///ip access-group 1 out:這兩句將access-list 1應用到vlan1介面的out方向。其中1是acl號,和相應的acl進行關聯。out是對路由器該介面上哪個方向的包進行過濾,可以有in和out兩種選擇。

注意:這裡的in/out都是站在路由器或三層模組(以後簡稱r)上看的,in表示從該介面進入r的包,out表示從該介面出去的包。

好了,這就是乙個最基本的acl的配置方法。什麼,你說普通使用者還能telnet到rta?那你在int vlan3上現加乙個ip access-group 1 out吧。hammmm,等等,你這樣加上去普通使用者就訪問不了internet了。讓我們把剛才的acl去掉,重新寫乙個。

回憶一下,我們的目的是除了10.1.6.66能夠進行telnet操作外,其它使用者都不允許進行telnet操作。剛才我們說過,標準的ip acl只能控制源ip位址,不能控制到埠。要控制到第四層的埠,就需要使用到:

ACL訪問控制列表

acl的基本原理 功能與侷限性 網路中常說的acl是網路裝置所提供的一種訪問控制技術 其他很多地方也用到了acl 初期僅在路由器上支援,近些年來已經擴充套件到三層交換機,部分最新的二層交換機如2950之類也開始提供acl的支援。只不過支援的特性不是那麼完善而已。在其它廠商的路由器或多層交換機上也提供...

訪問控制列表 ACL

訪問控制列表的條件引數都在ip包中,協議號和ip位址 源位址和目的位址 都在ip包頭部分,埠號在ip包的資料部分,也就是第四層頭部。訪問控制列表是應用在路由器介面的指令列表,這些指令列表用來告訴路由器哪些資料報可以接收 哪些資料報需要拒絕。訪問控制是網路安全防範和保護的主要策略,它的主要任務是保證網...

ACL訪問控制列表

ip access group 1 in out 不管此處是in還是out pc1都將無法訪問pc2,但是這兩種情況下,資料報被阻止的情況不一樣,如果應用的是 ip access group 1 out,那麼從pc1傳送出來的資料報,只能傳到f0 1介面,但不能通過此介面,因為此時訪問列表將pc1傳...