所选语种没有对应资源,请选择:

本站点使用Cookies,继续浏览表示您同意我们使用Cookies。Cookies和隐私政策>

提示

尊敬的用户,您的IE浏览器版本过低,为获取更好的浏览体验,请升级您的IE浏览器。

升级

S1720, S2700, S5700, S6720 V200R012(C00&C20) 配置指南-安全

本文档介绍了安全的配置,具体包括ACL配置、本机防攻击配置、MFF配置、攻击防范配置、流量抑制及风暴控制配置、ARP安全配置、端口安全配置、DHCP Snooping配置、ND Snooping配置、PPPoE+配置、IPSG配置、SAVI配置、URPF配置、Keychain配置、MPAC配置、PKI配置、业务与管理隔离配置、安全风险查询配置
评分并提供意见反馈 :
华为采用机器翻译与人工审校相结合的方式将此文档翻译成不同语言,希望能帮助您更容易理解此文档的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 华为对于翻译的准确性不承担任何责任,并建议您参考英文文档(已提供链接)。
ACL的基本原理

ACL的基本原理

ACL由一系列规则组成,通过将报文与ACL规则进行匹配,设备可以过滤出特定的报文。设备支持的ACL,有软件和硬件两种实现方式,两者在过滤的报文类型、报文过滤方式和对不匹配ACL的报文的处理动作这三个方面有所差异。

ACL的组成

一条ACL的结构组成,如图1-2所示。

图1-2  ACL的结构组成

  • ACL编号:用于标识ACL,表明该ACL是数字型ACL。

    根据ACL规则功能的不同,ACL被划分为基本ACL、高级ACL、二层ACL、用户自定义ACL和用户ACL这几种类型,每类ACL编号的取值范围不同。关于每类ACL编号的详细介绍,请参见ACL的分类

    除了可以通过ACL编号标识ACL,设备还支持通过名称来标识ACL,就像用域名代替IP地址一样,更加方便记忆。这种ACL,称为命名型ACL。

    命名型ACL实际上是“名字+数字”的形式,可以在定义命名型ACL时同时指定ACL编号。如果不指定编号,则由系统自动分配。例如,下面就是一个既有名字“deny-telnet-login”又有编号“3998”的ACL。

    #                                                                               
    acl name deny-telnet-login 3998                                                 
     rule 0 deny tcp source 10.152.0.0 0.0.63.255 destination 10.64.0.97 0 destination-port eq telnet                                                               
     rule 5 deny tcp source 10.242.128.0 0.0.127.255 destination 10.64.0.97 0 destination-port eq telnet                                                            
    #                          
  • 规则:即描述报文匹配条件的判断语句。

    • 规则编号:用于标识ACL规则。可以自行配置规则编号,也可以由系统自动分配。

      ACL规则的编号范围是0~4294967294,所有规则均按照规则编号从小到大进行排序。所以,图1-2中的rule 5排在首位,而规则编号最大的rule 4294967294排在末位。系统按照规则编号从小到大的顺序,将规则依次与报文匹配,一旦匹配上一条规则即停止匹配。

    • 动作:包括permit/deny两种动作,表示允许/拒绝。

    • 匹配项:ACL定义了极其丰富的匹配项。除了图1-2中的源地址和生效时间段,ACL还支持很多其他规则匹配项。例如,二层以太网帧头信息(如源MAC、目的MAC、以太帧协议类型),三层报文信息(如目的地址、协议类型),以及四层报文信息(如TCP/UDP端口号)等。关于每种匹配项的详细介绍,请参见ACL的常用匹配项

ACL的匹配机制

设备将报文与ACL规则进行匹配时,遵循“一旦命中即停止匹配”的机制,如图1-3所示。

图1-3  ACL的匹配机制

首先系统会查找设备上是否配置了ACL。
  • 如果ACL不存在,则返回ACL匹配结果为:不匹配。

  • 如果ACL存在,则查找设备是否配置了ACL规则。

    • 如果规则不存在,则返回ACL匹配结果为:不匹配。

    • 如果规则存在,则系统会从ACL中编号最小的规则开始查找。

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

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

      • 如果未匹配上规则,则继续查找下一条规则,以此循环。如果一直查到最后一条规则,报文仍未匹配上,则返回ACL匹配结果为:不匹配。

从整个ACL匹配流程可以看出,报文与ACL规则匹配后,会产生两种匹配结果:“匹配”和“不匹配”。
  • 匹配(命中规则):指存在ACL,且在ACL中查找到了符合匹配条件的规则。

    不论匹配的动作是“permit”还是“deny”,都称为“匹配”,而不是只是匹配上permit规则才算“匹配”。

  • 不匹配(未命中规则):指不存在ACL,或ACL中无规则,再或者在ACL中遍历了所有规则都没有找到符合匹配条件的规则。

    以上三种情况,都叫做“不匹配”。

无论报文匹配ACL的结果是“不匹配”、“允许”还是“拒绝”,该报文最终是被允许通过还是拒绝通过,实际是由应用ACL的各个业务模块来决定。不同的业务模块,对命中和未命中规则报文的处理方式也各不相同。例如,在Telnet模块中应用ACL,只要报文命中了permit规则,就允许通过;而在流策略中应用ACL,如果报文命中了permit规则,但流行为动作配置的是deny,该报文仍会被拒绝通过。关于各个业务模块ACL处理机制的详细介绍,请参见ACL应用模块的ACL默认动作和处理机制

ACL的实现方式

目前设备支持的ACL,有以下两种实现方式。

  • 软件ACL:针对与本机交互的报文(必须上送CPU处理的报文),由软件实现来过滤报文的ACL,比如FTP、TFTP、Telnet、SNMP、HTTP、路由协议、组播协议中引用的ACL。

  • 硬件ACL:针对所有报文(一般是针对转发的数据报文),通过下发ACL资源到硬件来过滤报文的ACL,比如流策略、基于ACL的简化流策略、用户组以及为接口收到的报文添加外层Tag功能中引用的ACL。

两者主要区别在于:
  • 过滤的报文类型不同:软件ACL用来过滤与本机交互的报文(必须上送CPU处理的报文),硬件ACL可以用来过滤所有报文(一般是针对转发的数据报文)。

  • 报文过滤方式不同:软件ACL是被上层软件引用来实现报文的过滤,硬件ACL是被下发到硬件来实现报文的过滤。通过软件ACL过滤报文时,会消耗CPU资源,通过硬件ACL过滤报文时,则会占用硬件资源。通过硬件ACL过滤报文的速度更快。

  • 对不匹配ACL的报文的处理动作不同:当使用软件ACL时,如果报文未匹配上ACL中的规则,设备对该报文采取的动作为deny,即拒绝报文通过;当使用硬件ACL时,如果报文未匹配上ACL中的规则,设备对该报文采取的动作为permit,即允许报文通过。

翻译
下载文档
更新时间:2018-12-24

文档编号:EDOC1100038434

浏览量:34786

下载量:978

平均得分:
本文档适用于这些产品
相关版本
相关文档
Share
上一页 下一页