访问控制列表-细说ACL那些事儿

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

文档名称文档密级2019-12-16华为保密信息,未经授权禁止扩散第1页,共26页1访问控制列表-细说ACL那些事儿(初步认识ACL)传闻江湖乱世之时,出现了一门奇招妙计名曰“ACL”。其变化多端、高深莫测,部署在江湖各处的交换机轻松使上这一招,便能平定乱世江湖。所以,这ACL也被江湖人士一时传为佳话。ACL到底是何方秘籍?它拥有什么样的魔力能够平定江湖?今日,且让小编来为大家答疑解惑!ACL,是AccessControlList的简称,中文名称叫“访问控制列表”,它由一系列规则(即描述报文匹配条件的判断语句)组成。这些条件,可以是报文的源地址、目的地址、端口号等。这样解释ACL,大家是不是觉得太抽象了!好,现在小编换一种解释方式。打个比方,ACL其实是一种报文过滤器,ACL规则就是过滤器的滤芯。安装什么样的滤芯(即根据报文特征配置相应的ACL规则),ACL就能过滤出什么样的报文了。基于过滤出的报文,我们能够做到阻塞攻击报文、为不同类报文流提供差分服务、对Telnet登录/FTP文件下载进行控制等等,从而提高网络环境的安全性和网络传输的可靠性。说到这,大家一定迫不及待的想看看ACL长啥模样。话不多说,先上图!围绕这张ACL结构图,小编为大家一一介绍ACL的基本概念。文档名称文档密级2019-12-16华为保密信息,未经授权禁止扩散第2页,共26页1.1ACL分类首先,图中是一个数字型ACL,ACL编号为2000。这类似于人类的身份证号,用于唯一标识自己的身份。当然,人类的身份证上不仅有身份证编号,还有每个人自己的名字。ACL也同样如此,除了数字型ACL,还有一种叫做命名型的ACL,它就能拥有自己的ACL名称。通过名称代替编号来定义ACL,就像用域名代替IP地址一样,可以方便记忆,也让大家更容易识别此ACL的使用目的。另外,小编告诉大家,命名型ACL实际上是“名字+数字”的形式,可以在定义命名型ACL时同时指定ACL编号。如果不指定编号,则由系统自动分配。上图就是一个既有名字“deny-telnet-login”又有编号“3998”的ACL。细心的你,一定会注意到,ACL结构图中的ACL编号是“2000”,而这个例子中的ACL编号是“3998”,两者有什么区别吗?实际上,按照ACL规则功能的不同,ACL被划分为基本ACL、高级ACL、二层ACL、用户自定义ACL和用户ACL这五种类型。每种类型ACL对应的编号范围是不同的。ACL2000属于基本ACL,ACL3998属于高级ACL。高级ACL可以定义比基本ACL更准确、更丰富、更灵活的规则,所以高级ACL的功能更加强大。ACL类别规则定义描述编号范围基本ACL仅使用报文的源IP地址、分片标记和时间段信息来定义规则。2000~2999高级ACL既可使用报文的源IP地址,也可使用目的地址、IP优先级、ToS、DSCP、IP协议类型、ICMP类型、TCP源端口/目的端口、UDP源端口/目的端口号等来定义规则。3000~3999二层ACL可根据报文的以太网帧头信息来定义规则,如根据源MAC地址、目的MAC地址、以太帧协议类型等。4000~4999用户自定义ACL可根据报文偏移位置和偏移量来定义规则。5000~5999文档名称文档密级2019-12-16华为保密信息,未经授权禁止扩散第3页,共26页用户ACL既可使用IPv4报文的源IP地址或源UCL(UserControlList)组,也可使用目的地址或目的UCL组、IP协议类型、ICMP类型、TCP源端口/目的端口、UDP源端口/目的端口号等来定义规则。6000~99991.2ACL规则接下来,我们来看看图中ACL的“deny|permit”语句。这些条件语句,我们称作ACL规则(rule)。其中的“deny|permit”,称作ACL动作,表示拒绝/允许。每条规则都拥有自己的规则编号,如5、10、4294967294。这些编号,可以自行配置,也可以由系统自动分配。那么系统是怎样自动分配规则编号的?小编先卖个关子,请继续关注下文。ACL规则的编号范围是0~4294967294,所有规则均按照规则编号从小到大进行排序。所以,上图中我们可以看到rule5排在首位,而规则编号最大的rule4294967294排在末位。系统按照规则编号从小到大的顺序,将规则依次与报文匹配,一旦匹配上一条规则即停止匹配。关于ACL的匹配机制,在后续连载系列中,小编还将为大家作更深入的介绍。除了包含ACL动作和规则编号,我们可以看到ACL规则中还定义了源地址、生效时间段这样的字段。这些字段,称作匹配选项,它是ACL规则的重要组成部分。其实,ACL提供了极其丰富的匹配选项。你可以选择二层以太网帧头信息(如源MAC、目的MAC、以太帧协议类型)作为匹配选项,也可以选择三层报文信息(如源地址、目的地址、协议类型)作为匹配选项,还可以选择四层报文信息(如TCP/UDP端口号)等等等等。你只需分析清楚需要过滤的报文的特征,便可以指定使用哪一种ACL匹配选项,从而让ACL能正确的识别需过滤的报文。关于ACL匹配选项的配置方法,在后续连载系列中,小编还将为大家详细的介绍。1.3步长最后,小编来为大家介绍ACL中一个非常重要的概念——步长。了解了这个知识点,上文中遗留的问题“系统怎样自动分配规则编号”便迎刃而解了。步长,是指系统自动为ACL规则分配编号时,每个相邻规则编号之间的差值。也就是说,系统是根据步长值自动为ACL规则分配编号的。文档名称文档密级2019-12-16华为保密信息,未经授权禁止扩散第4页,共26页图中的ACL2000,步长就是5。系统按照5、10、15…这样的规律为ACL规则分配编号。如果将步长调整为了2,那么规则编号会自动从步长值开始重新排列,变成2、4、6…。有图为证~小编支招:ACL的缺省步长值是5。通过displayaclacl-number命令,可以查看ACL规则、步长等配置信息。通过stepstep命令,可以修改ACL步长值。说到这,小伙伴们是不是好奇了,设置ACL步长有什么作用呢?实际上,设置步长的目的,是为了方便大家在ACL规则之间插入新的规则。先来看个例子。假设,一条ACL中,已包含了下面三条规则5、10、15。如果你希望源IP地址为1.1.1.3的报文也被禁止通过,该如何处理呢?rule5denysource1.1.1.10//表示禁止源IP地址为1.1.1.1的报文通过rule10denysource1.1.1.20//表示禁止源IP地址为1.1.1.2的报文通过rule15permitsource1.1.1.00.0.0.255//表示允许源IP地址为1.1.1.0网段的报文通过我们来分析一下。由于ACL匹配报文时遵循“一旦命中即停止匹配”的原则,所以源IP地址为1.1.1.1和1.1.1.2的报文,会在匹配上编号较小的rule5和rule10后停止匹配,从而被系统禁止通过;而源IP地址为1.1.1.3的报文,则只会命中rule15,从而得到系统允许通过。要想让源IP地址为1.1.1.3的报文也被禁止通过,我们必须为该报文配置一条新的deny规则。rule5denysource1.1.1.10//表示禁止源IP地址为1.1.1.1的报文通过rule10denysource1.1.1.20//表示禁止源IP地址为1.1.1.2的报文通过rule11denysource1.1.1.30//表示禁止源IP地址为1.1.1.3的报文通过文档名称文档密级2019-12-16华为保密信息,未经授权禁止扩散第5页,共26页rule15permitsource1.1.1.00.0.0.255//表示允许源IP地址为1.1.1.0网段的报文通过在rule10和rule15之间插入rule11后,源IP地址为1.1.1.3的报文,就可以先命中rule11而停止继续往下匹配,所以该报文将会被系统禁止通过。试想一下,如果这条ACL规则之间间隔不是5,而是1(rule1、rule2、rule3…),这时再想插入新的规则,该怎么办呢?只能先删除已有的规则,然后再配置新规则,最后将之前删除的规则重新配置回来。如果这样做,那付出的代价可真是太大了!所以,通过设置ACL步长,为规则之间留下一定的空间,后续再想插入新的规则,就非常轻松了。好啦,以上就是小编为大家介绍的ACL基础理论知识。回顾一下全文,知识点主要包括:ACL是什么、有什么作用、分哪几类、规则是如何定义的、步长的含义以及步长的作用。小伙伴们,你们都已经掌握了吗?在下一篇连载系列中,小编还将为大家讲解更深层次的ACL知识——ACL的匹配机制、规则的匹配顺序、规则的匹配选项等等。总之,精彩还在后头,我们后会有期!文档名称文档密级2019-12-16华为保密信息,未经授权禁止扩散第6页,共26页2访问控制列表-细说ACL那些事儿(ACL匹配篇)Hi,小伙伴们,小编又来报道啦!在上一期中,小编围绕一张ACL结构图展开介绍,让大家了解了ACL的概念、作用和分类,并且知道了ACL是通过规则匹配来实现报文过滤的。但ACL到底是如何进行规则匹配的,相信aa大家还是一头雾水。本期,小编就将带领大家深入ACL内部,说一说关于“ACL匹配”的那些事儿。2.1ACL匹配机制首先,小编为大家介绍ACL匹配机制。上一期提到,ACL在匹配报文时遵循“一旦命中即停止匹配”的原则。其实,这句话就是对ACL匹配机制的一个高度的概括。当然,ACL匹配过程中,还存在很多细节。比如,ACL不存在系统会怎么处理?ACL存在但规则不存在系统会怎么处理?为了对整个ACL匹配过程展开详细的介绍,小编画了一张ACL匹配流程图,相信对大家理解ACL匹配机制能有所帮助。开始引用的ACL是否存在?ACL是否存在rule?分析第一条rule命中rule?是否剩余rule?分析下一条ruleACL匹配结果为拒绝结束ACL匹配结果为允许ACL动作是permit还是deny?否是否是是否是否permitdenyACL匹配结果为不匹配从整个ACL匹配流程可以看出,报文与ACL规则匹配后,会产生两种匹配结果:“匹配”和“不文档名称文档密级2019-12-16华为保密信息,未经授权禁止扩散第7页,共26页匹配”。匹配(命中规则):指存在ACL,且在ACL中查找到了符合匹配条件的规则。不论匹配的动作是“permit”还是“deny”,都称为“匹配”,而不是只是匹配上permit规则才算“匹配”。不匹配(未命中规则):指不存在ACL,或ACL中无规则,再或者在ACL中遍历了所有规则都没有找到符合匹配条件的规则。切记以上三种情况,都叫做“不匹配”。小编提醒大家,无论报文匹配ACL的结果是“不匹配”、“允许”还是“拒绝”,该报文最终是被允许通过还是拒绝通过,实际是由应用ACL的各个业务模块来决定的。不同的业务模块,对命中和未命中规则报文的处理方式也各不相同。例如,在Telnet模块中应用ACL,只要报文命中了permit规则,就允许通过;而在流策略中应用ACL,如果报文命中了permit规则,但流行为动作配置的是deny,该报文会被拒绝通过。在后续连载的《访问控制列表-细说ACL那些事儿(应用篇)》中,小编将结合各类ACL应用,为大家细说各个业务模块的区别。2.2ACL规则匹配顺序从上面的ACL匹配报文流程图中,可以看到,只要报文未命中规则且仍剩余规则,系统会一直从剩余规则中选择下一条与报文进行匹配。系统是根据什么样的顺序来选择规则进行报文匹配的呢?回答这个问题之前,先来看个例子。假设我们先后执行了以下两条命令进行配置:ruledenyipdestination1.1.0.00.0.255.255//表示拒绝目的IP地址为1.1.0.0网段的报文通过rulepermitipdestination1.1.1.00.0.0.255//表示允许目的IP地址为1.1.1.0网段的报文通过,该网段地址范围小于1.1.0.0网段范围这条permit规则与deny规则是相互矛盾的

1 / 26
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功