在實際校園網絡環境中,各種上層訪問應用,歸根結底是通過PC和服務器之間的報文交互進行的,而報文則是通過交換機,路由器等各種網絡設備進行傳輸的。隨著網絡的普及,網絡安全問題日益突出,如各種針對交換機的惡意攻擊、病毒肆虐等等,對正常的網絡通訊造成很大影響。以上種種原因使得需要對網絡中的數據流進行監控、控制,確保網絡運行安全,或將安全風險降低到最低程度。
ACL技術分析
ACL根據使用方式的不同主要分為兩大類型:安全ACL和QoS ACL。本文主要介紹安全ACL。
安全ACL主要分為兩大類型:基于接口的ACL和基于VLAN的ACL。
基于接口的ACL,顧名思義,ACL的運用對象是接口,這里的端口包含的種類很多,主要分為二層接口和三層接口。運用于二層接口的ACL又被稱為Port ACL或基于二層接口的ACL,運用于三層接口的ACL又稱為基于三層接口的ACL。二層接口主要包括Access口,Trunk口,L2 AP口。三層接口主要包括Routed Port,SVI口,L3 AP口。不同層次的交換機所支持的接口類型范圍不同。
基于VLAN的ACL,ACL的運用對象是VLAN,又稱為VACL。簡單的說就是如果一個VLAN運用上一個ACL,當有報文進入或者離開這個VLAN時,就要受到該ACL的過濾。下文詳細介紹原理。
安全ACL種類
ACL的主要功能就是過濾報文,那ACL是根據什么來區分哪些報文需要過濾,哪些不需要的呢?就是根據報文中的特定信息。這些特定信息一般是報文中的IP,MAC,二層協議類型,三層協議類型,TOS,VID等等。
根據可以匹配的信息的不同,ACL有以下6種類型:IP 標準ACL,IP 擴展ACL,MAC 擴展ACL,EXPERT(專家級) ACL,用戶自定義ACL(ACL80),IPV6 ACL(過濾IPV6報文)。
ACL過濾報文原理
無論是基于端口的ACL,還是基于VLAN的ACL,其工作原理相同。
ACL是由一系列ACE組成,每個ACE都有一個唯一的序列號,代表它的優先級,當交換機收到一報文,進行解析后,就按照ACE的優先級逐一匹配,若報文內容和某個ACE中的內容匹配,則按照相應的動作處理,若不符合,則匹配下一條ACE,直到匹配到合適的ACE。若報文符合某個ACE定義的內容,則報文不再匹配這條ACE之后的所有ACE。請看以下ACL:
ip access-list extended example
10 deny ip host 192.168.1.1 any
20 permit ip host 192.168.1.1 any
這條ACL具有兩個ACE,但這兩個ACE對同一種報文的動作卻是相反的。同樣是針對源IP是192.168.1.1的IP報文,一條是允許轉發,另一條是過濾該類型報文。這兩條ACE唯一的區別就是它們的優先級。
當交換機收到源IP是192.168.1.1的IP報文時,ACL按照ACE的優先級進行匹配,此時先匹配序列號為10的ACE,發現該報文的內容可以匹配ACE的內容,源IP為192.168.1.1,此時查看動作,為deny,所以該報文被過濾,不再進行匹配,所以序列號為20的ACE沒有對該報文進行匹配。
當交換機又收到源IP是1.1.1.1的IP報文時,ACL還是按照ACE的優先級進行匹配,先匹配序列號為10的ACE,發現報文內容和ACE中的不符合,按照原理,查看下一條ACE,發現內容還是不匹配,但此時ACL中已沒有ACE了,怎么辦?這里要注意,當應用一個ACL時,交換機會自動在ACL的末尾加上一條丟棄所有報文的ACE,而且該ACE優先級最低,是最后才匹配的,這樣也提高了安全性,因此如圖所示的ACL,最后還有這樣一條ACE:deny ip any any,且優先級最低,因此此時交換機收到的源IP為1.1.1.1的報文,最后匹配這條ACE,內容可以匹配,因為該ACE針對所有的IP報文,此時查看動作是deny,所以該報文被丟棄。
由于ACE是按照優先級匹配的,此時添加一條序列號小于10的ACE。
S8600(config)#ip access-list extended example
S8600(config-ext-nacl)#1 permit ip any any
S8600(config-ext-nacl)#end
S8600#show access-lists
ip access-list extended example
1 permit ip any any
10 deny ip host 192.168.1.1 any
20 permit ip host 192.168.1.1 any
動態添加了一條序列號為1的ACE:permit ip any any,所以當交換機收到任意IP報文時,由于該ACE的優先級最高,最優先匹配,所以所有IP報文都允許轉發,而不會去匹配后面兩條ACE。
ACE之后都可以匹配一個時間戳,而后ACL會根據系統的時鐘來確認該ACE是否能生效,如果該ACE的時間戳中規定的時間和系統時鐘不符合,則該ACE就不生效,也就是不進行匹配,如果相符,則進行匹配,匹配時也是按照優先級關系進行,原理相同。如下所示:
S8600_V10.3#show clock
Clock: 2008-4-22 9:38:2
S8600_V10.3#show time-range
time-range entry: week_day (active)
periodic Weekdays 9:00 to 18:00
time-range entry: week_end (inactive)
periodic Sunday 9:00 to 18:00
S8600_V10.3#show access-lists
ip access-list extended example
10 permit ip host 1.1.1.1 any time-range week_day (active)
20 deny ip any host 2.2.2.2 time-range week_end (inactive)
如上所示,ACE:permit ip host 1.1.1.1 any所對應的時間戳week_day和系統時間相符,則該ACE生效,show信息顯示狀態為:active,而ACE:deny ip any host 2.2.2.2所對應時間戳week_end 和系統時間不符合,則不生效,show信息顯示狀態為:inactive,運用時該ACE就不參與過濾報文。
安全ACL應用類型
安全ACL分為基于接口和基于VLAN兩種應用。
基于接口的ACL應用,ACL的運用對象是接口,上文提到主要有六種接口類型。當ACL運用到接口時,有兩種選擇:in和out,即輸入方向和輸出方向,這里所謂的方向是針對接口而言。如圖1所示:
圖1 in方向和out方向概念
In和out說明ACL起作用的位置。In方向說明當報文從外界網絡進入該接口時,要受到ACL的檢查,過濾。Out方向說明當報文從該接口轉發,準備前往外界網絡時,要受到ACL的檢查,過濾。
基于VLAN的ACL應用,ACL的運用對象是VLAN,同樣基于VLAN的ACL也有in和out方向,但和基于接口的ACL應用的in和out不同的是,這里所謂的in和out方向是針對VLAN而言的,不是針對接口而言的。如圖2所示:
圖2 基于VLAN應用的原理圖
若在VLAN 1上應用一個ACL,當報文從屬于VLAN 1的接口進入交換機,相當于進入VLAN 1,就是in方向,此時要受到該VACL的過濾,檢查。當報文從屬于VLAN 1的接口轉發時,由于該端口屬于VLAN 1,不算是離開VLAN1,因此不受到VACL過濾。當報文通過路由,從屬于VLAN1的接口路由到屬于VLAN 2的接口時,此時相當于離開VLAN 1,就是out方向,要受到VACL的過濾。
當VLAN應用一個ACL,那么進入VLAN和離開VLAN的報文都受到VACL的限制,過濾。這也和基于接口的ACL不同。
基于VLAN的ACL容易和應用在三層接口SVI口上的ACL混淆。這兩者的層次不同,基于VLAN的ACL,由于VLAN是二層概念,所以主要過濾VLAN所屬二層接口收到的報文。而SVI是一個三層邏輯接口,應用在SVI上的ACL是基于三層接口的ACL,主要過濾通過路由轉發的報文。若VLAN是一個Private VLAN,則無法運用VACL和基于SVI的ACL,若VLAN是Super VLAN,則和普通VLAN相同。
實際應用與案例分析
以典型的高校解決方案為例。在該方案中,以銳捷S26系列作為接入層交換機連接各院系PC,各院系接入層交換機S26通過Trunk口上連匯聚層交換機S57,S57上有不同VLAN分別隔離各個院系。銳捷S86作為核心層交換機下連S57進行高速轉發,并連接各種服務器,如FTP、HTTP服務器等,最后通過防火墻與Internet相連。
校園網對ACL應用通常有以下需求:
1.S26所連接各院系PC,一個接口只允許一臺合法PC接入,不允許其他設備接入。
2.各個院系間不能互相訪問和共享文件,即不允許各VLAN間數據流通過。
3.Internt病毒無處不在,需要封堵各種病毒常用端口,以保障內網安全。
4.只允許校園內部PC對校園服務器進行訪問,拒絕外部PC的訪問。
5.各院系PC必須在不同的VLAN中,以減少廣播,多播數據流對網絡的影響。
針對以上需求,我們可以通過以下具體配置,設置ACL應用:
核心層交換機S86關鍵配置
ip access-list extended Virus_Defence
10 deny tcp any any eq 69 //過濾任何目的端口為69的TCP報文
20 deny tcp any eq 69 any //過濾任何源端口為69的TCP報文
30 deny tcp any any eq 4444
40 deny tcp any eq 4444 any
50 deny tcp any any eq 135
60 deny tcp any eq 135 any
70 deny tcp any any eq 136
80 deny tcp any eq 136 any
90 deny tcp any any eq 137
100 deny tcp any eq 137 any
110 deny tcp any any eq 138
120 deny tcp any eq 138 any
130 deny tcp any any eq 139
140 deny tcp any eq 139 any
150 deny tcp any any eq 445
160 deny tcp any eq 445 any
170 deny tcp any any eq 593
180 deny tcp any eq 593 any
190 deny tcp any any eq 5554
200 deny tcp any eq 5554 any
210 deny tcp any any eq 9995
220 deny tcp any eq 9995 any
230 deny tcp any any eq 9996
240 deny tcp any eq 9996 any
250 deny udp any any eq 135
260 deny udp any eq 135 any
270 deny udp any any eq 136
280 deny udp any eq 136 any
290 deny udp any any eq netbios-ns
300 deny udp any eq netbios-ns any
310 deny udp any any eq netbios-dgm
320 deny udp any eq netbios-dgm any
330 deny udp any any eq netbios-ss
340 deny udp any eq netbios-ss any
350 deny udp any any eq 445
360 deny udp any eq 445 any
370 deny udp any any eq tftp
380 deny udp any eq tftp any
390 deny udp any any eq 593
400 deny udp any eq 593 any
410 deny udp any any eq 1433
420 deny udp any eq 1433 any
430 deny udp any any eq 1434
440 deny udp any eq 1434 any
450 permit tcp any any
460 permit udp any any
470 permit ip any any
匯聚層交換機S57關鍵配置
S5750#sh run
vlan 1
!
vlan 2
!
vlan 3
!
vlan 4
!
ip access-list extended inter_vlan_access1 //不允許VLAN2和VLAN3的PC
互訪
10 deny ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
20 permit ip any any
!
ip access-list extended inter_vlan_access2 //不允許VLAN3和VLAN2的PC
互訪
10 deny ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255
20 permit ip any any
!
interface GigabitEthernet 0/22
switchport mode trunk
ip access-group inter_vlan_access1 in //(可選)禁止VLAN間互訪
!
interface GigabitEthernet 0/23
switchport mode trunk
ip access-group inter_vlan_access2 in //(可選)禁止VLAN間互訪
!
interface GigabitEthernet 0/24
switchport mode trunk
!
interface VLAN 2
no ip proxy-arp
ip access-group inter_vlan_access1 in //禁止VLAN間互訪,按照原則不使
用VACL
ip address 192.168.1.100 255.255.255.0
!
interface VLAN 3
no ip proxy-arp
ip access-group inter_vlan_access2 in //禁止VLAN間互訪,按照原則不使
用VACL
ip address 192.168.2.100 255.255.255.0
!
interface VLAN 4
no ip proxy-arp
ip address 192.168.4.1 255.255.255.0
!
End
接入層交換機S26關鍵配置
S26_1#sh run
vlan 1
!
vlan 2
!
ip access-list standard 1 //一個接口只允許接入PC的IP地址為:192.168.
1.2
10 permit host 192.168.1.2
20 deny any
!
ip access-list standard 2//一個接口只允許接入PC的IP地址為:192.168.1.3
10 permit host 192.168.1.3
20 deny any
!
mac access-list extended 700 //一個接口只允許接入PC的MAC地址為:
0000.0000.0001
10 permit host 0000.0000.0001 any etype-any
20 deny any any etype-any
!
mac access-list extended 701 //一個接口只允許接入PC的MAC地址為:0000.
0000.0002
10 permit host 0000.0000.0002 any etype-any
20 deny any any etype-any
!
hostname S26_1
interface FastEthernet 0/1
switchport access vlan 2
ip access-group 1 in //每個接口只允許一個IP地址
!
interface FastEthernet 0/2
switchport access vlan 2
ip access-group 2 in //每個接口只允許一個IP地址
!
interface FastEthernet 0/3
switchport access vlan 2
mac access-group 700 in //(可選)每個接口只允許一個MAC地址
!
interface FastEthernet 0/4
switchport access vlan 2
mac access-group 701 in //(可選)每個接口只允許一個MAC地址
通過實際測試表明,銳捷交換機的ACL功能,可以有效防止病毒、防止惡意攻擊、控制VLAN間數據流、控制服務器的訪問、控制用戶接入等,可以滿足應用的需求。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:ACL應用技術與配置實例