交换机
园区网交换机
数据中心与云计算交换机
行业精选交换系列
工业交换机
意图网络指挥官
无线
放装型无线接入点
墙面型无线接入点
智分无线接入点
室外无线接入点
场景化无线
无线控制器
行业精选无线系列
统一运维
身份管理
服务产品
运营商
政府
金融
互联网
制造业
高教/职教
医疗卫生
交通
公共安全
首页 >服务与支持 >常见问题 >ACL是什么,如何配置?
ACL(Access Control List,访问控制列表)也称为访问列表,有的文档中还称之为包过滤。ACL通过定义一系列包含“允许”或“拒绝”的规则语句,并将这些规则应用到设备接口上,对进出接口的数据包进行控制,从而提升网络设备的安全性。
配置ACL能够保障网络安全、可靠和稳定,例如:
l 防止报文攻击:针对IP、TCP或者ICMP报文的攻击,对这些攻击报文做“拒绝”处理。
l 网络访问控制:限制用户访问服务,例如只允许访问WWW和电子邮件服务,其他服务如Telnet则禁止。或者只允许在给定的时间段内访问,或者只允许特定主机访问网络等。
l 网络流量控制:结合QoS可以为重要的数据流进行优先服务保证。关于QoS的配置请参见“QoS”。
l 访问列表
访问列表有:基本访问列表和动态访问列表。
用户可以根据需要选择基本访问列表或动态访问列表。一般情况下,使用基本访问列表已经能够满足安全需要。但攻击者可能通过软件假冒源地址欺骗设备,从而访问网络。而动态访问列表在用户访问网络以前,要求通过身份认证,使攻击者难以访问网络。在敏感区域可以使用动态访问列表保证网络安全。
说明
通过假冒源地址欺骗设备即电子欺骗是所有访问列表固有的问题,使用动态列表也会遭遇电子欺骗问题:攻击者可能在用户通过身份认证的有效访问期间,假冒用户的地址访问网络。解决该问题的方法有两种,一种是尽量设置更短的用户访问空闲时间;另一种是使用IPsec加密协议对网络数据进行加密,确保进入设备时,所有的数据都是加密的。
访问列表一般配置在以下位置的网络设备上:
○ 内部网和外部网(如Internet)之间的设备
○ 两个网络交界部分的设备
○ 接入控制端口的设备
ACE(Access Control Entry,访问控制条目)是包含“允许(Permit)”或“拒绝(Deny)”两种动作,以及过滤规则的一条语句。每个ACE都有一个序号,该序号可由设备自动分配或者手动配置。一条ACL中包含一个或者多个ACE。ACL通过ACE对数据包进行标识过滤。
ACL中ACE的顺序决定了该ACE在访问列表中的匹配优先级。网络设备在处理报文时,按ACE的序号从小到大进行规则匹配,当找到匹配的ACE后则停止检查后续的ACE。
例如创建一条序号为10的ACE,它拒绝所有的数据流通过。
10 deny ip any any
20 permit tcp 192.168.12.0 0.0.0.255 eq telnet any
由于序号为10的ACE拒绝了所有的IP报文,即使192.168.12.0/24网络的主机Telnet报文,可以被序号为20的ACE匹配,该报文也将被拒绝。因为设备在检查到报文和序号为10的ACE匹配后,便停止检查后面序号为20的ACE。
又例如创建一条编号为10的ACE,它允许所有的IPv6数据流通过。
10 permit ipv6 any any
20 deny ipv6 host 200::1 any
由于序号为10的ACE允许所有的IPv6报文通过,主机200::1发出的IPv6报文,即使匹配序号为20的ACE,该报文也将被允许通过。因为设备在检查到报文和第一条ACE匹配,便停止检查后面序号为20的ACE。
l 步长
当设备为ACE自动分配序号时,两个相邻ACE序号之间的差值,称为步长。例如,如果将步长设定为5,则设备按照5、10、15…这样的递增顺序自动为ACE分配序号。如下所示。
5 deny ip any any
10 permit tcp 192.168.12.0 0.0.0.255 eq telnet any
当步长改变后,ACE序号会自动按新步长值重新分配。例如,当把步长改为10后,原来ACE序号从5、10、15变成5、15、25。
通过改变步长可以在两个ACE之间插入新的ACE。例如创建了4个ACE,并通过手动配置ACE序号分别为1、2、3和4。如果希望能在序号1后面插入一条新的ACE,则可以先将步长修改为2,此时原先4个ACE的序号自动变为1、3、5和7,再插入一条手动配置的序号为2的ACE。
l 过滤域模板
过滤域指的是生成一条ACE时,根据报文中的哪些字段对报文进行识别、分类。过滤域模板就是这些字段的组合。ACE根据以太网报文的某些字段来标识以太网报文,这些字段包括:
二层字段(Layer 2 Fields):
○ 48位的源MAC地址(必须申明所有48位)
○ 48位的目的MAC地址(必须申明所有48位)
○ 16位的二层类型字段
三层字段(Layer 3 Fields):
○ 源IP地址字段(可以申明全部源IP地址值,或使用子网来定义一类流)
○ 目的IP地址字段(可以申明全部目的IP地址值,或使用子网来定义一类流)
○ 协议类型字段
四层字段(Layer 4 Fields):
○ 可以申明一个TCP的源端口、目的端口或者都申明,还可以申明源端口或目的端口的范围。
○ 可以申明一个UDP的源端口、目的端口或者都申明,还可以申明源端口或目的端口的范围。
例如,在创建一条ACE时需要根据报文的目的IP字段,对报文进行识别和分类。而在创建另一条ACE时,需要根据报文的源IP地址字段和UDP的源端口字段,对报文进行识别和分类。这两条ACE就使用了不同的过滤域模板。
l 规则
规则(Rules)指的是ACE过滤域模板对应的值。例如,一条ACE的内容如下:
10 permit tcp host 192.168.12.2 any eq telnet
在这条ACE中,过滤域模板为以下字段的集合:源IP地址字段、目的IP地址字段、IP协议字段、TCP目的端口字段。对应的值(即规则)分别为:源IP地址为Host 192.168.12.2、目的IP地址为Any(即所有主机)、IP协议为TCP、TCP目的端口为Telnet。如图1-1所示。
图1-1 对ACE:permit tcp host 192.168.12.2 any eq telnet的分析
通过配置IP标准ACL,禁止财务部以外的部门访问财务数据服务器。
图1-3 IP标准ACL应用场景组网图
l Device A配置IP标准ACL并添加访问规则。
l Device A将IP标准ACL应用在连接财务数据服务器接口的出方向上。
(1) 配置IP标准ACL并添加访问规则。
# Device A配置IP标准ACL并添加访问规则。
DeviceA> enable
DeviceA# configure terminal
DeviceA(config)# ip access-list standard 1
DeviceA(config-std-nacl)# permit 10.1.1.0 0.0.0.255
DeviceA(config-std-nacl)# deny 11.1.1.1 0.0.0.255
DeviceA(config-std-nacl)# exit
(2) 将IP标准ACL应用到接口上。
# Device A将ACL应用在连接财务数据服务器接口的出方向上。
DeviceA(config)# interface gigabitethernet 0/3
DeviceA(config-if-GigabitEthernet 0/3)# ip access-group 1 out
# 检查Device A设备ACL配置命令是否正确。
DeviceA# show access-lists
ip access-list standard 1
10 permit 10.1.1.0 0.0.0.255
20 deny 11.1.1.0 0.0.0.255
DeviceA# show access-group
ip access-group 1 out
Applied On interface GigabitEthernet 0/3
# 从开发部的某台PC机上ping财务数据服务器,确认ping不通。
# 从财务部的某台PC机上ping财务数据服务器,确认能ping通。
l DeviceA的配置文件
hostname DeviceA
!
ip access-list standard 1
10 permit 10.1.1.0 0.0.0.255
20 deny 11.1.1.0 0.0.0.255
!
interface GigabitEthernet 0/1
no switchport
ip address 10.1.1.1 255.255.255.0
!
interface GigabitEthernet 0/2
no switchport
ip address 11.1.1.1 255.255.255.0
!
interface GigabitEthernet 0/3
no switchport
ip access-group 1 out
ip address 12.1.1.1 255.255.255.0
!