在实际校园网络环境中,各种上层访问应用,归根结底是通过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.toberp.com/
本文标题:ACL应用技术与配置实例