ACL技术概述
ACL;访问控制列表
技术背景:
园区重要服务器资源被随意访问,容易泄露机密,造成安全隐患
病毒侵入内网,安全性降低
网络宽带被各类业务随意挤占,服务质量要求高的宽带得不到保障,用户体验差
因此:需要由一个工具来指定一些规则,从而控制一些流量,保证网络安全
概述:
ACL是由Permi或者deny语句组成的一系列有顺序的规则的集合;
ACL是能够匹配一个IP数据包中的源IP地址、目的IP地址、协议类型、源目的端口等元素的基础性工具;
ACL还能匹配路由条目
ACL的基本概念及其工作原理
ACL的组成:
ACL编号:每一个ACL都需要分配一个编号进行识别
规则:一条ACL通常由若干条”permit / deny"语句组成,每条语句就是该ACL的规则
规则编号:每条规则都由一个对应的编号,可以自定义,也可以系统分配,范围0-2的32次方,从大到小排列
动作:就是指允许(permit)和拒绝(deny)
匹配项:比如二层以太网帧头信息,三层报文信息等;
规则编号和步长:
规则编号:每条规则都有一个相应的编号,用来标识ACL规则。可以自定义,也可以系统自动分配
步长:编号之间的差值,用来预留空位用于后续的修改和添加新的规则
通配符:
通配符是一个32比特长度的数值,用于指示IP地址中,哪些比特位需要严格匹配,哪些比特位无需匹配
通配符通常采用类似网络掩码的点分十进制形式表示,但是含义却与网络掩码完全不同
0 表示在这一位需要严格匹配地址,1 表示不关心,1 和 0是可以不连续的
当通配符全为0来匹配IP地址时,表示精确匹配某个IP地址
当通配符全为1来匹配0.0.0.0地址时,表示匹配了所有IP地址
ACL的分类;
基本ACL 2000~2999 仅使用报文的源IP地址、分片信息和生效时间段信息来定义规则
高级ACL 3000~3999 可使用IPv4报文的源IP地址、目的IP地址、IP协议类型、ICMP类型、TCP源/目 的端口号、UDP源/目的端口号、生效时间段等来定义规则
二层ACL 4000~4999 使用报文的以太网帧头信息来定义规则,如根据源MAC地址、目的MAC地址等
自定义ACL 5000~5999 使用报文头、偏移位置、字符串掩码和用户自定义字符串来定义规则
用户ACL 6000~9999 既可使用IPv4报文的源IP地址或源UCL(User Control List)组,也可使用目的 IP地址或目的UCL组、IP协议类型、ICMP类型、TCP源端口/目的端口、UDP源 端口/目的端口号等来定义规则
ACL的标识方法:
数字型:传统的方法,用唯一的数字标识
命名型:命名来标识
ACL的匹配机制:
配置ACL的设备接收到报文,会将报文逐一对ACL中的规则进行匹配,如果不能匹配,就匹配下一条规则
一旦匹配上,则进行处理,不再继续匹配
流程:
-
先检查设备是否配置了ACL
如果ACL不存在,就返回结果为不匹配
如果ACL存在,会检查设备是否配置了ACL规则
2. 存在ACL的条件下
如果规则不存在,返回结果为不匹配
如果规则存在,将有三种情况
3. 当匹配上permit规则,就停止匹配,返回结果为匹配;
当匹配上deny规则,就停止匹配,返回结果为不匹配;
一直没有匹配到对应的规则,就继续寻找匹配下一条,直到最后还没有匹配上,返回结果为不匹配
4. 一旦命中,停止匹配
注意:ACL技术总是与其他技术结合在一起使用的,因此,所结合的技术不同,“允许 (permit)”及“拒绝 (deny)”的 内涵和作用也会不同。例如,当ACL技术与流量过滤技术结合使用时,permit就是“允许通行”的意思 deny 就是“拒绝通行”的意思
ACL的匹配顺便及匹配结果:
华为设备支持两种匹配顺序:自动排序和配置顺序(config模式)。默认的ACL匹配顺序是config模式
ACL的排序有些复杂,这里不再过多阐释,有兴趣可以查查资料
ACL的配置案例
案例
某公司通过Router实现各部门之间的互连。为方便管理网络,管理员为公司的研发部和市场部规划了两个网段的IP地址。现要求Router能够限制两个网段之间互访,防止公司机密泄露
1.进入端口使用ip adress 先进配置
[Router] acl 3001
[Router-acl-adv-3001] rule deny ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255
[Router-acl-adv-3001] quit
[Router] acl 3002
[Router-acl-adv-3002] rule deny ip source 10.1.2.0 0.0.0.255 destination 10.1.1.0 0.0.0.255
[Router-acl-adv-3002] quit
[Router] interface GigabitEthernet 0/0/1
[Router-GigabitEthernet0/0/1] traffic-filter inbound acl 3001
[Router-GigabitEthernet0/0/1] quit
[Router] interface GigabitEthernet 0/0/2
[Router-GigabitEthernet0/0/2] traffic-filter inbound acl 3002
[Router-GigabitEthernet0/0/2] quit
我们设置一个对比组,改组不配置ACL,可以清晰得看见,再配置之间,两个网段之间的PC机是能够互相通信的,再配置ACL后,不能再继续通信
流量控制成功,两个部分不能互访