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

本站点使用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匹配项种类非常丰富,其中最常用的匹配项包括以下几种。

生效时间段

格式:time-range time-name

所有ACL均支持根据生效时间段过滤报文。关于生效时间段的详细介绍,请参见ACL的生效时间段

IP承载的协议类型

格式:protocol-number | icmp | tcp | udp | gre | igmp | ip | ipinip | ospf

高级ACL支持基于协议类型过滤报文。常用的协议类型包括:ICMP(协议号1)、TCP(协议号6)、UDP(协议号17)、GRE(协议号47)、IGMP(协议号2)、IP(指任何IP层协议)、IPinIP(协议号4)、OSPF(协议号89)。协议号的取值可以是1~255。

例如,当设备某个接口下的用户存在大量的攻击者时,如果希望能够禁止这个接口下的所有用户接入网络,则可以通过指定协议类型为IP来屏蔽这些用户的IP流量来达到目的。配置如下:
rule deny ip //表示拒绝IP报文通过

源/目的IP地址及其通配符掩码

源IP地址及其通配符掩码格式:source { source-address source-wildcard | any }

目的IP地址及其通配符掩码格式:destination { destination-address destination-wildcard | any }

基本ACL支持根据源IP地址过滤报文,高级ACL不仅支持源IP地址,还支持根据目的IP地址过滤报文。

将源/目的IP地址定义为规则匹配项时,需要在源/目的IP地址字段后面同时指定通配符掩码,用来与源/目的IP地址字段共同确定一个地址范围。

IP地址通配符掩码与IP地址的反向子网掩码类似,也是一个32比特位的数字字符串,用于指示IP地址中的哪些位将被检查。各比特位中,“0”表示“检查相应的位”,“1”表示“不检查相应的位”,概括为一句话就是“检查0,忽略1”。但与IP地址子网掩码不同的是,子网掩码中的“0”和“1”要求必须连续,而通配符掩码中的“0”和“1”可以不连续。

通配符掩码可以为0,相当于0.0.0.0,表示源/目的地址为主机地址;也可以为255.255.255.255,表示任意IP地址,相当于指定any参数。

举一个IP地址通配符掩码的示例,当希望来自192.168.1.0/24网段的所有IP报文都能够通过,可以配置如下规则:

rule 5 permit ip source 192.168.1.0 0.0.0.255

规则中的通配符掩码为0.0.0.255,表示只需检查IP地址的前三组二进制八位数对应的比特位。因此,如果报文源IP地址的前24个比特位与参照地址的前24个比特位(192.168.1)相同,即报文的源IP地址是192.168.1.0/24网段的地址,则允许该报文通过。表1-3展示了该例的地址范围计算过程。

表1-3  通配符掩码示例

项目

十进制等价值

二进制等价值

参照地址

192.168.1.0

11000000.10101000.00000001.00000000

通配符掩码

0.0.0.255

00000000.00000000.00000000.11111111

确定的地址范围

192.168.1.*

*表示0~255之间的整数

11000000.10101000.00000001.xxxxxxxx

x既可以是0,也可以是1

更多的IP地址与通配符掩码共同确定的地址范围示例,详见表1-4

表1-4  IP地址与通配符掩码共同确定的地址范围

IP地址

IP地址通配符掩码

确定的地址范围

0.0.0.0

255.255.255.255

任意IP地址

172.18.0.0

0.0.255.255

172.18.0.0/16网段的IP地址

172.18.5.2

0.0.0.0

仅172.18.5.2这一个主机地址

172.18.8.0

0.0.0.7

172.18.8.0/29网段的IP地址

172.18.8.8

0.0.0.7

172.18.8.8/29网段的IP地址

10.1.2.0

0.0.254.255(通配符掩码中的1和0不连续)

10.1.0.0/24~10.1.254.0/24网段之间且第三个字节为偶数的IP地址,如10.1.0.0/24、10.1.2.0/24、10.1.4.0/24、10.1.6.0/24等。

源/目的MAC地址及其通配符掩码

源MAC地址及其通配符掩码格式:source-mac source-mac-address [ source-mac-mask ]

目的地址及其通配符掩码格式:destination-mac dest-mac-address [ dest-mac-mask ]

仅二层ACL支持基于源/目的MAC地址过滤报文。

将源/目的MAC地址定义为规则匹配项时,可以在源/目的MAC地址字段后面同时指定通配符掩码,用来与源/目的MAC地址字段共同确定一个地址范围。

MAC地址通配符掩码的格式与MAC地址相同,采用十六进制数表示,共六个字节(48位),用于指示MAC地址中的哪些位将被检查。与IP地址通配符掩码不同的是,MAC地址通配符掩码各比特位中,1表示“检查相应的位”,0表示“不检查相应的位”。如果不指定通配符掩码,则默认掩码为ffff-ffff-ffff,表示检查MAC地址的每一位。

MAC地址与通配符掩码共同确定的地址范围示例,如表1-5所示。

表1-5  MAC地址与通配符掩码共同确定的地址范围

MAC地址

MAC地址通配符掩码

确定的地址范围

00e0-fc01-0101

0000-0000-0000

任意MAC地址

00e0-fc01-0101

ffff-ffff-ffff

仅00e0-fc01-0101这一个MAC地址

00e0-fc01-0101

ffff-ffff-0000

00e0-fc01-0000~00e0-fc01-ffff

VLAN编号及其掩码

外层VLAN及其掩码格式:vlan-id vlan-id [ vlan-id-mask ]

内层VLAN及其掩码格式:cvlan-id cvlan-id [ cvlan-id-mask ]

二层ACL支持基于外层VLAN或内层VLAN编号过滤报文。

将VLAN编号定义为规则匹配项时,可以在VLAN编号字段后面同时指定VLAN掩码,用来与VLAN编号字段共同确定一个VLAN范围。

VLAN掩码的格式是十六进制形式,取值范围是0x0~0xFFF。如果不指定VLAN掩码,则默认掩码为0xFFF,表示检查VLAN编号的每一位。

VLAN编号与掩码共同确定的VLAN范围示例,如表1-6所示。

表1-6  VLAN编号及其掩码共同确定的VLAN范围

VLAN编号

VLAN掩码

确定的VLAN范围

10

0x000

任意VLAN

10

0xFFF

仅VLAN 10

10

0xFF0

VLAN 1~VLAN 15

TCP/UDP端口号

源端口号格式:source-port { eq port | gt port | lt port | range port-start port-end }

目的端口号格式:destination-port { eq port | gt port | lt port | range port-start port-end }

在高级ACL中,当协议类型指定为TCP或UDP时,设备支持基于TCP/UDP的源/目的端口号过滤报文。

其中,TCP/UDP端口号的比较符含义如下:
  • eq port:指定等于源/目的端口。
  • gt port:指定大于源/目的端口。
  • lt port:指定小于源/目的端口。
  • range port-start port-end:指定源/目的端口的范围。port-start是端口范围的起始,port-end是端口范围的结束。

TCP/UDP端口号可以使用数字表示,也可以用字符串(助记符)表示。例如,rule deny tcp destination-port eq 80,可以用rule deny tcp destination-port eq www替代。常见TCP端口号及对应的字符串如表1-7所示,常见UDP端口号及对应的字符串如表1-8所示。

表1-7  常见TCP端口号及对应的字符串

端口号

字符串

协议

说明

7 echo Echo Echo服务
9 discard Discard 用于连接测试的空服务
13 daytime Daytime 给请求主机发送日期和时间
19 CHARgen Character generator 字符生成服务;发送无止境的字符流
20 ftp-data FTP data connections FTP数据端口
21 ftp File Transfer Protocol(FTP) 文件传输协议(FTP)端口
23 telnet Telnet Telnet服务
25 smtp Simple Mail Transport Protocol (SMTP) 简单邮件传输协议
37 time Time 时间协议
43 whois Nicname(WHOIS) 目录服务
49 tacacs TAC Access Control System (TACACS) 用于基于TCP/IP验证和访问的访问控制系统(TACACS登录主机协议)
53 domain Domain Name Service (DNS) 域名服务
70 gopher Gopher 信息检索协议(互联网文档搜寻和检索)
79 finger Finger 用于用户联系信息的Finger服务,查询远程主机在线用户等信息
80 www World Wide Web (HTTP) 用于万维网(WWW)服务的超文本传输协议(HTTP),用于网页浏览
101 hostname NIC hostname server NIC机器上的主机名服务
109 pop2 Post Office Protocol v2 邮件协议-版本2
110 pop3 Post Office Protocol v3 邮件协议-版本3
111 sunrpc Sun Remote Procedure Call (RPC) SUN公司的远程过程调用(RPC)协议,用于远程命令执行,被网络文件系统(NFS)使用
119 nntp Network News Transport Protocol (NNTP) 网络新闻传输协议,承载USENET通信
179 bgp Border Gateway Protocol (BGP) 边界网关协议
194 irc Internet Relay Chat (IRC) 互联网中继聊天(多线交谈协议)
512 exec Exec (rsh) 用于对远程执行的进程进行验证
513 login Login (rlogin) 远程登录
514 cmd Remote commands 远程命令,不必登录的远程shell(rshell)和远程复制(rcp)
515 lpd Printer service 打印机(lpr)假脱机
517 talk Talk 远程对话服务和客户
540 uucp Unix-to-Unix Copy Program Unix到Unix复制服务
543 klogin Kerberos login Kerberos版本5(v5)远程登录
544 kshell Kerberos shell Kerberos版本5(v5)远程shell
表1-8  常见UDP端口号及对应的字符串

端口号

字符串

协议

说明

7 echo Echo Echo服务
9 discard Discard 用于连接测试的空服务
37 time Time 时间协议
42 nameserver Host Name Server 主机名服务
53 dns Domain Name Service (DNS) 域名服务
65 tacacs-ds TACACS-Database Service TACACS数据库服务
67 bootps Bootstrap Protocol Server 引导程序协议(BOOTP)服务端,DHCP服务使用
68 bootpc Bootstrap Protocol Client 引导程序协议(BOOTP)客户端,DHCP客户使用
69 tftp Trivial File Transfer Protocol (TFTP) 小文件传输协议
90 dnsix DNSIX Security Attribute Token Map DNSIX安全属性标记图
111 sunrpc SUN Remote Procedure Call (SUN RPC) SUN公司的远程过程调用(RPC)协议,用于远程命令执行,被网络文件系统(NFS)使用
123 ntp Network Time Protocol (NTP) 网络时间协议,蠕虫病毒会利用
137 netbios-ns NETBIOS Name Service NETBIOS名称服务
138 netbios-dgm NETBIOS Datagram Service NETBIOS数据报服务
139 netbios-ssn NETBIOS Session Service NETBIOS会话服务
161 snmp SNMP 简单网络管理协议
162 snmptrap SNMPTRAP SNMP陷阱
177 xdmcp X Display Manager Control Protocol (XDMCP) X显示管理器控制协议
434 mobilip-ag MobileIP-Agent 移动IP代理
435 mobilip-mn MobileIP-MN 移动IP管理
512 biff Mail notify 异步邮件,可用来通知用户有邮件到达
513 who Who 登录的用户列表
514 syslog Syslog UNIX系统日志服务
517 talk Talk 远程对话服务器和客户端
520 rip Routing Information Protocol RIP路由协议

TCP标志信息

格式:tcp-flag { ack | established | fin | psh | rst | syn | urg }*

在高级ACL中,当协议类型指定为TCP时,设备支持基于TCP标志信息过滤报文。

TCP报文头有6个标志位:
  • URG(100000):标识紧急指针有效

  • ACK(010000):标识确认序号有效

  • PSH(001000):标识接收方应该尽快将这个报文段上交给应用层

  • RST(000100):标识重建连接

  • SYN(000010):同步序号,用来发起一个连接

  • FIN(000001):标识发送方完成发送任务

TCP标志信息中的established,表示标志位为ACK(010000)或RST(000100)。

指定tcp-flag的ACL规则可以用来实现单向访问控制。假设,要求192.168.1.0/24网段用户可以主动访问192.168.2.0/24网段用户,但反过来192.168.2.0/24网段用户不能主动访问192.168.1.0/24。可通过在设备上连接192.168.2.0/24网段的接口入方向上,应用ACL规则来实现该需求。

由TCP建立连接和关闭连接的过程可知,只有在TCP中间连接过程的报文才会ACK=1或者RST=1。根据这个特点,配置如下两种ACL规则,允许TCP中间连接过程的报文通过,拒绝其他TCP报文通过,就可以限制192.168.2.0/24网段主动发起的TCP连接。

  • 类型一:配置指定ackrst参数的ACL规则

    rule 5 permit tcp source 192.168.2.0 0.0.0.255 tcp-flag ack  //允许ACK=1的TCP报文通过       
    rule 10 permit tcp source 192.168.2.0 0.0.0.255 tcp-flag rst   //允许RST=1的TCP报文通过
    rule 15 deny tcp source 192.168.2.0 0.0.0.255  //拒绝其他TCP报文通过
    
  • 类型二:配置指定established参数的ACL规则

    rule permit tcp source 192.168.2.0 0.0.0.255 tcp-flag established  // established表示ACK=1或者RST=1,表示允许TCP中间连接过程的报文通过
    rule deny tcp source 192.168.2.0 0.0.0.255     //拒绝其他TCP报文通过
    

IP分片信息

格式:fragment

基本ACL和高级ACL支持基于IP分片信息过滤报文。

IP分片除了首片报文外,还有后续分片报文,又叫做非首片分片报文。仅首片分片报文携带四层信息(如TCP/UDP端口号等),后续分片报文均不携带。网络设备收到分片报文后,会判断其是否是最后一个分片报文。如果不是,则为其分配内存空间,以便于最后一个分片报文到达后完成重组。黑客可以利用这一点,向接收方设备发起分片报文攻击,始终不向接收方发送最后一个分片报文,使得接收方的内存得不到及时释放(接收方会启动一个分片重组的定时器,在定时器超时前如果无法完成重组,将向发送方发送ICMP重组超时差错报文;如果定时器超时后仍未完成重组,则丢弃已存储的分片报文)。在分片报文发送数量很多并且发送速度很快的情况下,接收方的内存很容易被占满,从而导致接收方没有足够的内存资源处理其他正常的业务。

为了解决这个问题,可以配置指定fragment匹配项的ACL规则来阻塞非首片分片报文,从而达到防范分片报文攻击的目的。

针对非分片报文、首片分片报文、非首片分片报文这三类报文,ACL的处理方式如表1-9所示。

表1-9  ACL对IP分片报文的处理方式

规则包含的匹配项

非分片报文

首片分片报文

非首片分片报文

三层信息(如源/目的IP地址)

三层信息匹配上,则返回匹配结果(permit/deny);未匹配上,则转下一条规则进行匹配

三层信息匹配上,则返回匹配结果(permit/deny);未匹配上,则转下一条规则进行匹配

三层信息匹配上,则返回匹配结果(permit/deny);未匹配上,则转下一条规则进行匹配

三层信息 + 四层信息(如TCP/UDP端口号)

三层和四层信息都匹配上,则返回匹配结果(permit/deny);未匹配上,则转下一条规则进行匹配

三层和四层信息都匹配上,则返回匹配结果(permit/deny);未匹配上,则转下一条规则进行匹配

不匹配,转下一条规则进行匹配

三层信息 + fragment

不匹配,转下一条规则进行匹配

不匹配,转下一条规则进行匹配

三层信息匹配上,则返回匹配结果(permit/deny);未匹配上,则转下一条规则进行匹配

例如,ACL 3012中存在以下规则:

#                                                                               
acl number 3012                                                                 
 rule 5 deny tcp destination 192.168.2.2 0 fragment                             
 rule 10 permit tcp destination 192.168.2.2 0 destination-port eq www           
 rule 15 deny ip                                                                
#                      
对于目的IP地址是192.168.2.2的TCP报文:
  • 该报文是非分片报文或首片分片报文时:如果该报文的目的端口号是80(www对应的端口号是80),则报文与rule 10匹配,报文被允许通过;如果该报文的目的端口号不是80,则报文与rule 15匹配,报文被拒绝通过。

  • 该报文是非首片分片报文时:该报文与rule 5匹配,报文被拒绝通过。

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

文档编号:EDOC1100038434

浏览量:32118

下载量:932

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