2025年5月23日 星期五 乙巳(蛇)年 二月廿五 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 网络通信

ACL(基本访问控制列表)

时间:03-06来源:作者:点击数:12

ACL是网络中应用非常广泛的一种安全技术,它既可以基于接口,VLAN,全局实现特定网络资源的访问控制,又可以在简化策略,NAT,路由策略,Qos中被调用,实现报文分类。

   ACL是属于包过滤访问控制技术,在网络设备上读取OSI七层模型中的二层以太网帧头,三层数据包报文及四层报文字段等信息(如源 地址/  目的地址 ,源 端口/ 目的端口,协议类型等信息),根据预先定义好的规则,对数据流量进行过滤,从而达到访问控制目的。

 ACL的分类:

基本ACL:编号范围为2000-2999,可以使用报文的IP地址,分片信息和生效时间段信息定义规则,过滤规则比较简单。

高级ACL:编号范围为3000-3999,可以使用报文的源IP地址,目的IP地址,IP优先级,ToS,DSCP,IP协议类型,ICMP类型,TCP源 / 目的端口 ,UDP源 / 目的端口等信息定义规定,高级ACL的过滤规则虽然相对比较负责,但应用更加灵活,广泛。

二层ACL:编号范围为4000-4999,可以使用以太网帧头信息定义规则,如源MAC地址,目的MAC地址,二层协议类型等信息定义规则,因为二层ACL是基于二层数据帧进行过滤的,所以不能用于IP报文的过滤,二层ACL支持的过滤条件比较小,其过滤规则也比较简单。

用户自定义ACL:编号范围为5000-5999,可以使用报头,偏移位置,字符串掩码和用户自定义字符串来定义规则。

用户ACL:编号范围为6000-6999,可以使用IPv4报文的源IP地址或源UCL(User  Control  List  ,用户控制列表)组,目的IP地址或目的UCL组,IP协议类型,ICMP类型,TCP源端口 / 目的端口 ,UDP 源端口 /目的端口等信息定义规则。

 数字型ACL:

  创建ACL时,通过数字编号对ACL进行唯一标识,说明该ACL为数字ACL,通过ACL编号可以指定ACL的类型。如编号为 “ 2000 - 2999 ”之内表示创建基本ACL  , 编号  “  3000 - 3999 ”  之内表示创建高级ACL ,  编号“ 4000 - 4999  ”之内表示创建二层ACL 。

命名型ACL:

   创建ACL时,通过名称来标识ACL,说明该ACL为命名型ACL,就像使用域名代替IP地址一样,命名型ACL方便记忆,命名型ACL的语法结构为  “  命名  +   编号  ” 就是创建命名型ACL时,可以同时指定ACL编号,如果创建命名型ACL不指定ACL编号,系统会自动分配一个高级ACL编号。

(数字型ACL和命名型ACL只是两种创建ACL的方法,并不是真正的ACL分类,真正的ACL分类是基于ACL规则定义方式划分的,能够实现不同功能,可以分别应用于不同场景)

ACL的组成:

    ACL由若干条permit 或deny 语句组成 ,每条语句对应一条ACL规则,permit和deny则是该规则相对应的处理动作。

 ACL 编号:  用于标识 ACL,并表明 ACL的类型。

规则:  报文匹配条件。在用户自定义的规则中,一般包括规则编号、动作和匹配项3种元素。

(1)规则编号:  标识 ACL 规则。每条规则都有一个属于自己的规则编号,并且该编号在整个ACL 中是唯一的。

动作:该条规则对应的处理动作,主要包括permit和 deny 两种动作,分别表示允许和

拒绝。

(2)匹配项:ACL 支持非常丰富的规则匹配项,除图9.10中的源地址外,ACL 还支持分片信息、生效时间段、源/目的 MAC 地址、源/目的端口、协议类型等规则匹配项。

 隐含规则:

     系统在 ACL 末尾的隐含规则。对数据报文进行过滤时,如果没有匹配到任何一条自定义的 ACL 规则,则根据隐含规则对数据报文进行处理。在华为网络设备中,支持软件ACL 和硬件 ACL 两种,二者的默认隐含规则不同。一般来说,软件 ACL 的隐含规则默认为deny,即默认拒绝所有的流量通过;硬件 ACL的隐含规则默认为 permit,即默认允许所有的流量通过。

ACL规则的匹配机制:

    如果对设备应用了ACL,也就是说该设备应用一组规则,那么设备将对数据报文应用该组规则进行顺序检查,与ACL规则进行匹配时,遵循 “ 一旦命中即停止匹配  ”的机制,ACL对数据报文的处理流程,可以将其划分为3部分。

(1) 确认是否配置 ACL。

  首先系统会查找设备上是否配置 ACL。

  如果未配置 ACL,则返回 ACL 匹配结果为不匹配。

  如果已配置 ACL,则继续查找设备是否配置 rule。

(2) 确认 ACL 中是否配置规则。

 如果未配置规则,则返回 ACL 匹配结果为不匹配。

 如果已配置规则,则系统会从 ACL 中规则编号最小的规则开始查找。

(3) 逐条匹配规则。

  如果匹配到 permit规则,则停止查找规则,并返回 ACL 匹配结果为匹配(允许)。

  如果匹配到 deny 规则,则停止查找规则,并返回 ACL 匹配结果为匹配(拒绝)。

   如果规则未匹配,则继续查找下一条规则,以此循环。如果一直查到最后一条规则,报文仍

未匹配到规则,则返回 ACL 匹配结果为不匹配。

  从整个 ACL 匹配流程可以看出,数据报文与 ACL 规则匹配后,会产生两种匹配结果,即匹配和不匹配。

  匹配(命中规则)是指已配置ACL,并在ACL中查找到符合匹配条件的规则。不论匹配的动作是 permit 还是 deny,都称为“匹配”,而不是匹配到permit规则才算“匹配”。

  不匹配(未命中规则)是指未配置ACL,ACL中未配置规则或遍历所有规则后都没有找到符合匹配条件的规则。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐