选择区域语言: EN CN HK

H3C 高端路由器 & IPRAN核心路由器 安全加固手册-6W100

手册下载

H3C 高端路由器 & IPRAN核心路由器

安全加固手册

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Copyright © 2019 新华三技术有限公司 版权所有,保留一切权利。

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。

除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。

本文档中的信息可能变动,恕不另行通知。


 

1 本书约定·· 1

1.1 读者对象·· 1

1.2 接口编号约定·· 1

1.3 特别申明·· 1

2 概述·· 1

2.1 安全威胁·· 1

2.1.1 管理平面和控制平面的安全威胁·· 1

2.1.2 转发平面的安全威胁·· 2

2.2 安全体系架构·· 3

2.3 安全加固的基本原则·· 4

3 管理平面安全加固·· 5

3.1 登录及访问设备的安全·· 5

3.1.1 通过Console/AUX口登录设备·· 5

3.1.2 通过Stelnet登录设备·· 6

3.1.3 通过Modem登录设备·· 8

3.1.4 通过Restful访问设备·· 9

3.1.5 通过NETCONF over SOAP访问设备·· 9

3.1.6 通过SNMP访问设备·· 10

3.1.7 文件访问安全·· 11

3.2 登录用户及权限管理·· 13

3.2.1 管理登录用户权限(RBAC·· 13

3.2.2 AAA(认证、授权、计费)·· 13

3.2.3 命令行授权·· 14

3.2.4 Password Control 14

3.3 密码设置安全·· 15

3.4 设备管理安全·· 15

3.4.1 配置密码恢复功能·· 15

3.4.2 配置内存告警门限·· 15

3.5 配置文件加密·· 17

3.6 安全日志·· 17

3.7 VXLAN安全·· 18

3.7.1 ARP/ND安全·· 18

4 控制平面安全加固·· 19

4.1 二层协议安全·· 19

4.1.1 生成树保护功能·· 19

4.2 ARP攻击防御·· 20

4.2.1 MAC为组播的ARP表项检查功能·· 20

4.2.2 泛洪类ARP报文攻击防范·· 20

4.2.3 防御ARP欺骗类攻击功能·· 22

4.3 ND攻击防御·· 26

4.3.1 ND Snooping· 26

4.3.2 MAC地址固定的ND攻击检测功能·· 26

4.3.3 ND接口攻击抑制功能·· 28

4.3.4 ND协议报文源MAC地址一致性检查功能·· 28

4.4 接入业务安全·· 29

4.4.1 PPP· 29

4.4.2 PPPoE· 34

4.4.3 L2TP· 38

4.4.4 IPoE· 43

4.4.5 802.1X· 49

4.4.6 Portal 50

4.4.7 HTTPS重定向·· 52

4.5 DHCP安全·· 52

4.5.1 DHCP泛洪类攻击防范功能·· 52

4.5.2 防止DHCP饿死攻击功能·· 54

4.5.3 DHCP用户类白名单功能·· 55

4.5.4 DHCP中继用户地址表项管理功能·· 56

4.5.5 DHCP中继支持代理功能·· 57

4.5.6 DHCP Snooping· 57

4.6 DNS安全·· 58

4.7 ICMP安全·· 58

4.8 TCP安全·· 59

4.8.1 SYN Cookie功能·· 59

4.8.2 禁止发送TCP报文时添加TCP时间戳选项信息·· 59

4.9 路由协议安全·· 59

4.9.1 RIP/RIPng· 59

4.9.2 OSPF/OSPFv3· 61

4.9.3 IS-IS· 61

4.9.4 BGP· 62

4.10 组播安全·· 64

4.10.1 IGMP Snooping/MLD Snooping· 64

4.10.2 IGMP/MLD· 66

4.10.3 PIM/IPv6 PIM·· 69

4.10.4 MSDP· 70

4.11 MPLS安全·· 70

4.11.1 LDP· 70

4.11.2 RSVP· 71

4.12 控制平面限速及丢包告警·· 71

4.12.1 协议报文限速·· 71

4.13 高可靠性协议报文认证·· 73

4.13.1 DLDP报文认证·· 73

4.13.2 VRRP报文认证·· 73

4.13.3 BFD控制报文认证·· 74

4.14 时间管理协议报文认证·· 74

4.14.1 NTP服务的访问控制权限·· 74

4.14.2 NTP报文认证·· 75

4.14.3 SNTP报文认证·· 80

5 转发平面安全加固·· 81

5.1 安全隔离·· 81

5.1.1 端口隔离·· 81

5.2 广播、组播、未知单播抑制·· 82

5.2.1 风暴抑制和流量阈值控制·· 82

5.2.2 丢弃未知组播报文·· 83

5.3 MAC地址安全管理·· 83

5.3.1 黑洞MAC地址·· 83

5.3.2 关闭MAC地址学习·· 84

5.3.3 控制MAC地址学习·· 84

5.4 PPP协议报文安全·· 85

5.4.1 配置PPP报文的MRU检查功能·· 85

5.5 数据流保护·· 85

5.5.1 IPsec· 85

5.6 报文&流量过滤·· 85

5.6.1 ACL· 85

5.6.2 流量过滤·· 86

5.6.3 Flowspec· 87

5.6.4 IP Source Guard· 87

5.6.5 uRPF· 87

5.7 连接数限制·· 88

5.8 攻击检测与防范·· 88

5.8.1 DoS攻击检测与防范·· 88

5.8.2 基于IP的攻击防御·· 88

 


1 本书约定

1.1  读者对象

本手册主要适用于如下工程师:

·     网络规划人员

·     现场技术支持与维护人员

·     负责网络配置和维护的网络管理员

1.2  接口编号约定

本手册中出现的接口编号仅作示例,并不代表设备上的实际接口编号。实际使用过程中,请以设备上存在的接口编号为准。

1.3  特别申明

本文档不严格与具体软、硬件版本对应,如果使用过程中与产品实际情况有差异,请以设备实际情况为准。

本文档中的配置均是在实验室环境下进行的配置和验证,配置前设备的所有参数均采用出厂时的缺省配置。如果您已经对设备进行了配置,为了保证配置效果,请确认现有配置和以下举例中的配置不冲突。

本文中的内容为通用性技术信息,某些信息可能不适用于您所购买的产品。

2 概述

本文档针对基于Comware系统的设备,指导用户从管理平面、控制平面和转发平面对设备进行加固维护。

2.1  安全威胁

2.1.1  管理平面和控制平面的安全威胁

设备的管理平面给网络管理人员提供TelnetSSHWebSNMP等方式来管理设备;设备的控制平面用于控制和管理所有网络协议的运行,为转发平面提供数据转发所必须的各种网络信息和转发查询表项。

由于网络设备之间或网络设备与其它网络实体之间的通信可能会穿过各种各样的中间系统,而中间系统的可信性以及对端身份的真实性会给设备的管理平面和控制平面带来各种安全威胁。另外,如果设备上的安全策略配置不当,也会威胁到设备的安全。

设备的管理平面和控制平面常见的安全威胁主要包括以下几类:

·     非授权的访问

攻击者通过伪装身份、重放管理会话或者中间人攻击来获取管理员权限,这会危害到设备的安全以及设备所处网络的安全。建议管理员使用强身份认证,以及支持防重放、信息完整性验证的安全通道来访问设备。同时,建议在设备上启用操作日志、安全日志功能对管理行为进行记录和审计。

·     弱密钥

弱密钥很容易被破解。设备上支持启用密码策略来防止用户配置弱密钥。

·     敏感信息泄漏

由于网络节点间的通信所经过的中间系统的可信性无法保障,通信内容可能会被窥探;设备存储介质中的信息也可能在介质转移、替换的过程中存在信息泄露的风险。为了防止信息泄露,设备的管理通道需要使用安全协议保护,例如SSHIPsecSFTPHTTPS等,禁止使用TelnetFTPTFTPHTTP等没有保护的通道进行通信。另外,建议使用配置文件加密功能,以及对从现网替换下来且不再使用的存储介质进行格式化。

·     消息篡改和伪造

报文在网络中传输的过程中,可能会被恶意篡改,或者被攻击者捕获之后重放,攻击者借此向设备中注入恶意的数据,或直接破坏设备的合法数据。例如,通过更改路由协议报文的数据来破坏或改变设备的路由表,使用户的流量无法正常转发。为防止该类型攻击,可使用带完整性验证,防重放等功能的安全协议对数据进行保护。

·     DDoS

DDoSDistributed Denial of Service,分布式拒绝服务)是指攻击者利用大流量来消耗设备的CPU、内存、连接数、带宽等资源,使合法用户无法使用网络。可使用白名单,黑名单,以及限制未识别流量上送控制平面的速率来防止此类攻击。

·     管理员配置失误

管理员配置失误会造成设备的访问控制策略、权限控制策略的配置错误,或者造成授权不当的结果。为了及早发现此类问题,可以通过实施前对配置进行审核,实施后定期观察实施效果、查看操作日志和系统运行日志来发现配置中的错误。

2.1.2  转发平面的安全威胁

设备的转发平面需要处理各端口上大量不同类型数据流量的转发任务。如果数据流量不合法,或者转发平面处理资源被挤占,将会影响设备对正常数据流量的处理效率,甚至导致非法流量向网络中扩散。常见的转发平面威胁如下:

·     畸形报文攻击

畸形报文攻击利用网络设备处理报文的漏洞使设备出现异常,使设备无法提供正常服务。可以打开攻击检测与防范中相应攻击的开关来防止此类攻击。

·     DDoS攻击

攻击者使用大流量对设备进行攻击,消耗设备的CPU、内存、连接、带宽等资源。对于这类威胁,可以通过限制设备资源占用以及识别合法用户等措施,尽量保证已识别的合法用户对网络的使用,并对未识别的用户的流量进行一定限制。

·     身份仿冒

网络中的很多攻击行为都伴随着身份仿冒,而网络的开放性给身份识别带来了困难,尤其是在转发平面。转发平面提供了一些基本的方法可在一定程度上防止身份仿冒,比如IP Source GuardSYN CookieARP/ND检测等。

·     消息篡改和伪造

消息的完整性至关重要,虚假的数据会使网络故障、甚至瘫痪。可以使用IPsecMACsec等安全协议来保护网络数据,提供完整性、私密性、身份验证等功能。

2.2  安全体系架构

Comware系统的安全体系架构如2-1所示:

图2-1 Comware系统安全体系架构图

 

设备基于以上安全体系架构在不同层面实施相应的安全防护,具体过程如下:

(1)     对于硬件转发类设备,收到目的地址为本机的报文并上送CPU处理前,会通过以下两种通道机制来保证上层的控制平面/管理平面不会受到DoS/DDoS等大流量的攻击:

¡     白名单:对于已经建立连接,并确认来源是可靠的报文,设备会下发白名单保证其优先上送CPU

¡     优先级队列:对于由控制平面、管理平面处理的应用流量,在设备没有与其建立连接之前,因不能匹配到白名单,会进入优先级队列,根据不同的应用优先级处理。

(2)     对于由转发平面转发的报文,设备提供了一系列的措施来保证设备的安全和网络用户的安全:

¡     畸形报文检测

¡     包过滤

¡     防仿冒,例如uRPFIP Source Guard

¡     DDoS攻击防范

¡     资源占用限制:包括连接数限制、ARP/ND表项限制等等,防止DDoS等恶意流量攻击。

¡     数据保护协议:IPsecMACSec等,为本机和用户数据提供数据私密性、完整性、放重放等安全保护。

(3)     对于目的地址为本机的业务报文,可以采用以下安全加固策略:

a.     通过控制平面的QoS策略对上送控制平面/管理平面的流量进行限制,例如限制带宽等。另外,各协议本身(TCPICMP/ICMPv6ARP/ND)也有相应的防护措施。

b.     在控制平面/管理平面,各业务模块采用相应的安全协议或安全选项,对业务报文提供更好的安全服务。

2.3  安全加固的基本原则

虽然设备可提供丰富的安全加固策略,但对于设备而言,并不是实施的安全加固策略越多效果越好。每一项安全加固措施对网络、业务都有或多或少的影响,比如会影响设备性能、内存资源、部署成本、用户使用习惯。所以,需要根据网络和业务的特点来综合评估可能存在的风险和威胁,并在充分了解到各类安全加固策略可能对网络和业务产生的影响后作出恰当的选择。

安全加固策略选择的普遍原则如下:

·     根据安全风险和威胁发生的可能性由大到小的顺序,依次考虑相应的安全加固策略;

·     按照安全加固策略对网络和业务影响程度由小到大的顺序,逐步实施各策略,并观察效果;

·     每一次安全加固策略实施后要观察效果,并根据效果调整当前策略以及选择后续的加固策略;

·     遵循业务优先原则,将安全加固策略对业务的影响降到最低,或者将其控制在可接受的范围内。

3 管理平面安全加固

3.1  登录及访问设备的安全

3.1.1  通过Console/AUX口登录设备

说明

RX8800不支持通过AUX口登录设备。

 

【安全威胁】

Console/AUX口均属于物理接口,通过它们进行登录是登录设备的基本方式之一。

对于同时有Console口和AUX口的设备,缺省情况下,通过Console口登录时认证方式为none,可直接登录,登录成功之后用户角色为network-admin;通过AUX口登录时认证方式为password,密码为空,用户回车即可直接登录,登录成功后用户角色为network-operator;对于只有AUX口的设备,通过AUX口登录时认证方式为none,登录成功后用户角色为network-admin

如果攻击者获取了Console/AUX口的使用权限,在缺省情况下可以非常容易登录到设备上,获取到设备的管理权限。

【安全加固策略】

可以在用户线/用户线类视图下配置以下两种认证方式,提高通过Console/AUX口登录设备的安全性:

·     password方式:表示下次使用该用户线登录时,需要输入密码。只有密码正确,用户才能登录到设备上。配置认证方式为password后,请妥善保存密码。FIPS模式下不支持该认证方式。

·     scheme方式:表示下次使用该用户线登录设备时需要进行用户名和密码认证,用户名或密码错误,均会导致登录失败。配置认证方式为scheme后,请妥善保存用户名及密码。

【注意事项】

改变Console/AUX口登录的认证方式后,新认证方式对新登录的用户生效。

FIPS模式下,不支持passwordnone方式,仅支持scheme方式。

【配置举例】

·     通过Console口登录(仅以用户线视图为例

# Console用户线视图下设置认证方式为密码认证(password方式)

<Sysname> system-view

[Sysname] line console 0

[Sysname-line-console0] authentication-mode password

# 设置认证密码为明文Plat&0631!Plat&0631!仅为示例)。

[Sysname-line-console0] set authentication password simple Plat&0631!

# Console用户线视图下设置认证方式为AAA认证(scheme方式)

<Sysname> system-view

[Sysname] line console 0

[Sysname-line-console0] authentication-mode scheme

[Sysname-line-console0] quit

# ISP域视图下为login用户配置认证方法。

如果选择本地认证,请配置本地用户及相关属性;如果选择远程认证,请配置RADIUSHWTACACSLDAP方案。相关配置的详细介绍请参见“安全配置指导”中的“AAA”。

·     通过AUX口登录(仅以用户线视图为例

# AUX用户线视图下设置认证方式为密码认证(password方式)

<Sysname> system-view

[Sysname] line aux 0

[Sysname-line-aux0] authentication-mode password

# 设置认证密码为明文Plat&0631!Plat&0631!仅为示例)

[Sysname-line-aux0] set authentication password simple Plat&0631!

# AUX用户线视图下设置认证方式为AAA认证(scheme方式)

<Sysname> system-view

[Sysname] line aux 0

[Sysname-line-aux0] authentication-mode scheme

# ISP域视图下为login用户配置认证方法。

如果选择本地认证,请配置本地用户及相关属性;如果选择远程认证,请配置RADIUSHWTACACSLDAP方案。相关配置的详细介绍请参见“安全配置指导”中的“AAA”。

3.1.2  通过Stelnet登录设备

【安全威胁】

在使用Stelnet登录设备的组网环境中,设备将会面临以下安全威胁:

·     攻击者监听到设备的SSH服务端口后,可通过多次尝试连接,获取设备的访问权限。

·     设备可支持的SSH用户数有限,攻击者通过伪造IP地址,仿冒大量的合法用户登录设备,使得用户数达到上限后,其他合法用户无法登录。

【安全加固策略】

针对以上攻击行为,可以在设备上配置如下安全策略:

·     password认证

利用AAA对客户端身份进行认证。用户在客户端上输入用户名和密码后,该密码将被加密后发送给服务器,通过服务器验证用户名和密码的合法性后,用户才可以登录设备。

·     publickey认证

采用数字签名的方式来认证客户端。客户端发送包含用户名、公钥和公钥算法或者携带公钥信息的数字证书的认证请求给服务器端。服务器对公钥进行合法性检查,如果合法,则发送消息请求客户端的数字签名;如果不合法,则直接发送失败消息;服务器收到客户端的数字签名之后,使用客户端的公钥对其进行解密,并根据计算结果返回认证成功或失败的消息

对于SSH2版本的客户端,要求同时进行passwordpublickey两种方式的认证,且只有两种认证均通过的情况下,才认为客户端身份认证通过;对于SSH1版本的客户端,只要通过其中任意一种认证即可。

·     关闭Stelnet服务

当设备上开启Stelnet服务器功能后SSH服务端口号易被攻击者扫描到。安全起见,在不使用Stelnet服务时,可以关闭Stelnet服务器功能

·     改变SSH服务端口号

缺省情况下,SSH服务的端口号为知名端口号22,易被扫描和攻击。通过修改SSH服务的端口号为非知名端口号,可以降低被扫描的风险。

·     SSH用户进行访问控制

只有匹配ACLpermit规则的IPv4 SSH客户端可以访问设备,其他客户端不可以访问设备。

·     限制同时在线的最大SSH用户数

当前在线SSH用户数超过设定的最大值时,系统会拒绝新的SSH连接请求。

【注意事项】

改变Stelnet登录的认证方式后,新认证方式对新登录的用户生效。

【配置举例】

·     # 配置服务器采用password认证(用户名client001仅为示例)。

<Sysname> system-view

[Sysname] ssh user client001 service-type stelnet authentication-type password

# 若进行本地认证,则还需要创建本地用户;若在远程服务器(如RADIUS服务器)进行认证,则还需要在服务器上创建相应的SSH用户。相关配置的详细介绍请参见“安全配置指导”中的“AAA”。

·     # 配置服务器采用publickey认证(用户名client002、公钥clientkey仅为示例)。

<Sysname> system-view

[Sysname] ssh user client002 service-type stelnet authentication-type publickey assign publickey clientkey

# 创建同名的本地用户,用于下发授权属性:工作目录、用户角色。相关配置的详细介绍请参见“安全配置指导”中的“AAA

·     # 关闭Stelnet服务。

<Sysname> system-view

[Sysname] undo ssh server enable

·     # 设置SSH服务端口号为10251025仅为示例)。

<Sysname> system-view

[Sysname] ssh server port 1025

·     # 只允许IPv4地址为1.1.1.1SSH用户向设备发起SSH访问ACL2001仅为示例)。

<Sysname> system-view

[Sysname] acl basic 2001

[Sysname-acl-ipv4-basic-2001] rule permit source 1.1.1.1 0

[Sysname-acl-ipv4-basic-2001] quit

[Sysname] ssh server acl 2001

·     # 限制同时在线的最大SSH用户数为1616仅为示例)。

<Sysname> system-view

[Sysname] aaa session-limit ssh 16

3.1.3  通过Modem登录设备

说明

RX8800不支持AUX口。

 

【安全威胁】

网络管理员可以在PC机(或终端)的串口和设备的Console/AUX口分别挂接一对Modem,利用PSTN(公共电话交换网)拔号登录到设备上,对远程设备进行管理和维护。通过Console口利用Modem拨号进行远程登录时使用AUX用户线,缺省情况下,使用认证方式为none,可直接登录;通过AUX口利用Modem拨号进行远程登录时也使用AUX用户线,缺省情况下,使用认证方式为password,密码为空,用户回车即可直接登录。

如果攻击者通过Modem获取了设备Console/AUX口的使用权限,在缺省情况下可以非常容易登录到设备上,获取到设备的管理权限。

【安全加固策略】

可以通过Modem在设备用户线/用户线类视图下配置以下两种认证方式,提高通过Console/AUX口登录设备的安全性:

·     password方式:表示下次使用该用户线登录时,需要输入密码。只有密码正确,用户才能登录到设备上。配置认证方式为password后,请妥善保存密码。FIPS模式下不支持该认证方式。

·     scheme方式:表示下次使用该用户线登录设备时需要进行用户名和密码认证,用户名或密码错误,均会导致登录失败。配置认证方式为scheme后,请妥善保存用户名及密码。

【注意事项】

改变Console/AUX口登录的认证方式后,新认证方式对新登录的用户生效。

FIPS模式下,不支持无需认证、密码认证,仅支持AAA认证(scheme)。

【配置举例】

# AUX用户线视图下设置认证方式为密码认证(password方式)。(仅以AUX用户线视图为例)

<Sysname> system-view

[Sysname] line aux 0

[Sysname-line-aux0] authentication-mode password

# 设置认证密码

[Sysname-line-aux0] set authentication password simple Plat&0631!

# AUX用户线视图下设置认证方式为AAA认证(scheme方式)(仅以AUX用户线视图为例)

<Sysname> system-view

[Sysname] line aux 0

[Sysname-line-aux0] authentication-mode scheme

# ISP域视图下为login用户配置认证方法。

如果选择本地认证,请配置本地用户及相关属性;如果选择远程认证,请配置RADIUSHWTACACSLDAP方案。相关配置的详细介绍请参见“安全配置指导”中的“AAA”。

3.1.4  通过Restful访问设备

【安全加固策略】

基于HTTPRESTful方式登录设备并不安全,推荐用户使用基于HTTPSRESTful方式登录设备。在设备上开启基于HTTPSRESTful功能,并配置基于HTTPSRESTful功能与SSL服务器端策略关联,可以进一步提高基于HTTPSRESTful功能的安全性。

【注意事项】

配置基于HTTPSRESTful功能与SSL服务器端策略关联后,如果对关联的SSL服务器端策略进行了更改,需要依次执行undo restful https enablerestful https enable命令,新的策略才会生效。

【配置举例】

# 配置SSL服务器端策略。

关于SSL服务器端策略的具体配置,请参见“安全配置指导”中的“SSL”。

# 配置基于HTTPSRESTful功能与SSL服务器端策略policy1关联。

<Sysname> system-view

[Sysname] restful https ssl-server-policy policy1

# 开启基于HTTPSRESTful功能。

[Sysname] restful https enable

3.1.5  通过NETCONF over SOAP访问设备

【安全加固策略】

基于NETCONF over SOAP over HTTP方式访问设备并不安全,推荐用户基于NETCONF over SOAP over HTTPS方式访问设备。

为了进一步提高基于HTTPSNETCONF over SOAP功能的安全性,可以配置该功能与SSL服务器端策略关联。设备将使用SSL服务器端策略指定的加密套件等SSL参数建立NETCONF连接。

【注意事项】

配置基于HTTPSNETCONF over SOAP功能与SSL服务器端策略关联后,如果对关联的SSL服务器端策略进行了更改,需要依次执行undo netconf soap https enablenetconf soap https enable命令,新的策略才会生效。

【配置举例】

# 配置SSL服务器端策略。关于SSL服务器端策略的具体配置,请参见“安全配置指导”中的“SSL”。

# 配置基于HTTPSNETCONF over SOAP功能与SSL服务器端策略policy1关联(policy1仅为示例)。

<Sysname> system-view

[Sysname] netconf soap https ssl-server-policy policy1

# 开启基于HTTPSNETCONF over SOAP功能。

[Sysname] netconf soap https enable

# 通过配置工具与设备建立NETCONF over SOAP会话。关于配置工具的使用方法,请参见配置工具的配置指导。

3.1.6  通过SNMP访问设备

【安全威胁】

设备作为SNMP Agent时,将面临以下安全威胁:

·     SNMPv1SNMPv2c的团体名被窃取,非法NMS使用该团体名访问设备。

·     SNMP报文被窃听、篡改。

·     NMS对一些重要参数误操作,导致设备不能正常工作。

【安全加固策略】

针对以上攻击行为,设备提供了以下功能来加强通过SNMP访问设备的安全性:

·     当不需要通过NMS管理设备时,可关闭SNMP功能。(SNMP功能缺省处于关闭状态)

·     除了SNMPv1SNMPv2c版本,设备支持安全性更高的SNMPv3三种版本。SNMPv3采用用户名认证,可配置认证密码和加密密码。其中,

¡     用户名和认证密码用于对NMS进行身份认证,以免非法NMS访问设备;

¡     加密密码用于对NMS和设备之间传输的报文进行加密,以免报文被窃听。

·     支持VACMRBAC两种访问控制方式。

¡     VACM(基于视图的访问控制模型):将团体名/用户名与指定的MIB视图进行绑定,可以限制NMS能够访问哪些MIB对象,以及对MIB对象可执行读操作还是读写操作。

¡     RBAC(基于角色的访问控制):创建团体名/用户名时,可以指定对应的用户角色,通过用户角色下制定的规则,来限制NMS能够访问哪些MIB对象,以及对MIB对象可执行读操作还是读写操作。

RBAC配置方式限制的是MIB节点的读写权限,VACM配置方式限制的是MIB视图的读写权限,而一个视图中通常包括多个MIB节点。所以,RBAC配置方式更精准、更灵活。

·     支持引用ACL限制可以登录的NMS

·     设备在发送告警信息可以携带安全参数,只有符合安全参数要求的NMS才能接收该告警信息。

【注意事项】

只有NMS和设备使用的SNMP版本、团体名(或者用户名、密码)相同时,NMS才能和Agent建立连接。

【配置举例】

·     关闭SNMP功能。

# 关闭SNMP功能。

<Sysname> system-view

[Sysname] undo snmp-agent

·     配置具有认证和加密机制的SNMPv3版本来管理设备,并通过用户角色控制NMSMIB节点的访问权限

# 配置设备支持SNMPv3版本。

<Sysname> system-view

[Sysname] snmp-agent sys-info version v3

# 创建用户角色test并配置访问权限:用户只能读节点snmpMIBOID1.3.6.1.6.3.1)下的对象,不可以访问其它MIB对象。(各参数仅为示例)

[Sysname] role name test

[Sysname-role-test] rule 1 permit read oid 1.3.6.1.6.3.1

# 配置用户角色test具有systemOID1.3.6.1.2.1.1)的读权限与interfacesOID1.3.6.1.2.1.2)的读写权限,以便接口状态变化时,Agent会向NMS发送告警信息。(各参数仅为示例)

[Sysname-role-test] rule 2 permit read oid 1.3.6.1.2.1.1

[Sysname-role-test] rule 3 permit read write oid 1.3.6.1.2.1.2

[Sysname-role-test] quit

# 创建用户RBACtest,为其绑定用户角色test,认证算法为SHA-1,认证密码为123456TESTauth&!,加密算法为AES,加密密码是123456TESTencr&!。(各参数仅为示例)

[Sysname] snmp-agent usm-user v3 RBACtest user-role test simple authentication-mode sha 123456TESTauth&! privacy-mode aes128 123456TESTencr&!

·     配置ACL限制可以访问设备的NMS

# 创建SNMPv3testGroup,并加入一个用户testUser,安全级别为认证加密,认证算法为SHA-1,认证密码为123456TESTauth&!,加密算法为AES,加密密码是123456TESTencr&!,只有IP地址为1.1.1.1NMS可以使用用户名testUser访问设备。

<Sysname> system-view

[Sysname] acl basic 2000

[Sysname-acl-ipv4-basic-2000] rule permit source 1.1.1.1 0

[Sysname-acl-ipv4-basic-2000] rule deny source any

[Sysname-acl-ipv4-basic-2000] quit

[Sysname] snmp-agent group v3 testGroup authentication

[Sysname] snmp-agent usm-user v3 testUser testGroup simple authentication-mode sha 123456TESTauth&! privacy-mode aes128 123456TESTencr&! acl 2000

·     配置NMS告警功能

# 开启NMS告警功能,告警信息发送到主机1.1.1.2,使用的用户名为testUser,需要认证和加密。(各参数仅为示例)

<Sysname> system-view

[Sysname] snmp-agent trap enable

[Sysname] snmp-agent target-host trap address udp-domain 1.1.1.2 params securityname testUser v3 privacy

3.1.7  文件访问安全

【安全威胁】

FTPTFTP是通用的文件传输协议,使用明文形式传输数据,攻击者很容易截取报文,自身的安全性能并不高。

【安全加固策略】

针对以上攻击行为,可采用SFTPSecure FTP)协议。SFTP协议基于SSH2,使用加密形式传输数据,可提供安全可靠的网络文件传输服务,使得用户可以安全登录到远程设备上进行文件管理操作,且能保证文件传输的安全性。

SFTP提供如下安全策略:

·     password认证

利用AAA对客户端身份进行认证。用户在客户端上输入用户名和密码后,该密码将被加密后发送给服务器,通过服务器验证用户名和密码的合法性后,用户才可以登录设备。

·     publickey认证

采用数字签名的方式来认证客户端。客户端发送包含用户名、公钥和公钥算法或者携带公钥信息的数字证书的认证请求给服务器端。服务器对公钥进行合法性检查,如果合法,则发送消息请求客户端的数字签名;如果不合法,则直接发送失败消息;服务器收到客户端的数字签名之后,使用客户端的公钥对其进行解密,并根据计算结果返回认证成功或失败的消息

·     password-publickey认证

对于SSH2版本的客户端,要求同时进行passwordpublickey两种方式的认证,且只有两种认证均通过的情况下,才认为客户端身份认证通过;对于SSH1版本的客户端,只要通过其中任意一种认证即可。

·     改变SSH服务端口号

缺省情况下,SSH服务的端口号为知名端口号22,易被扫描和攻击。通过修改SSH服务的端口号为非知名端口号,可以降低被扫描的风险。

·     SSH用户进行访问控制

只有匹配ACLpermit规则的IPv4 SSH客户端可以访问设备,其他客户端不可以访问设备。

·     限制同时在线的最大SSH用户数

当前在线SSH用户数超过设定的最大值时,系统会拒绝新的SSH连接请求。

【配置举例】

·     # 开启SFTP服务器功能,并配置服务器采用password认证(用户名client001仅为示例)。

<Sysname> system-view

[Sysname] sftp server enable

[Sysname] ssh user client001 service-type sftp authentication-type password

# 若进行本地认证,则还需要创建本地用户;若在远程服务器(如RADIUS服务器)进行认证,则还需要在服务器上创建相应的SSH用户。相关配置的详细介绍请参见“安全配置指导”中的“AAA”。

·     # 开启SFTP服务器功能,并配置服务器采用publickey认证(用户名client002、公钥clientkey仅为示例)。

<Sysname> system-view

[Sysname] sftp server enable

[Sysname] ssh user client002 service-type sftp authentication-type publickey assign publickey clientkey

# 创建同名的本地用户,用于下发授权属性:工作目录、用户角色。相关配置的详细介绍请参见“安全配置指导”中的“AAA

·     # 设置SSH服务端口号为10251025仅为示例)。

<Sysname> system-view

[Sysname] ssh server port 1025

·     # 只允许IPv4地址为1.1.1.1SSH用户向设备发起SSH访问ACL2001仅为示例)。

<Sysname> system-view

[Sysname] acl basic 2001

[Sysname-acl-ipv4-basic-2001] rule permit source 1.1.1.1 0

[Sysname-acl-ipv4-basic-2001] quit

[Sysname] ssh server acl 2001

·     # 限制同时在线的最大SSH用户数为1616仅为示例)。

<Sysname> system-view

[Sysname] aaa session-limit ssh 16

3.2  登录用户及权限管理

3.2.1  管理登录用户权限(RBAC

RBACRole Based Access Control)通过建立“权限<->角色”的关联实现将权限赋予给角色,并通过建立“角色<->用户”的关联实现为用户指定角色,从而使用户获得相应角色所具有的权限。

通常,对登录设备人员的权限管理方式是将用户和权限进行简单的关联,这种绑定关系很难应对人员以及设备安全等级的变化。RBAC的基本思想就是给用户指定角色,这些角色中定义了允许用户操作哪些系统功能以及资源对象。RBAC采用权限与用户分离的思想,提高用户权限分配的灵活性,减小用户授权管理的复杂度,降低管理开销,间接地提高了设备在登录用户管理方面的安全性能。

关于RBAC的详细信息,请参见“基础配置指导”中的“RBAC”。

3.2.2  AAA(认证、授权、计费)

AAAAuthenticationAuthorizationAccounting,认证、授权、计费)是网络安全的一种管理机制,它可以为登录设备的用户提供以下三种安全功能。

·     认证:确认访问网络的远程用户的身份,判断访问者是否为合法的网络用户。

·     授权:对不同用户赋予不同的权限,限制用户可以使用的服务。例如,管理员授权办公用户才能对服务器中的文件进行访问和打印操作,而其它临时访客不具备此权限。

·     计费:记录用户使用网络服务过程中的所有操作,包括使用的服务类型、起始时间、数据流量等,用于收集和记录用户对网络资源的使用情况,并可以实现针对时间、流量的计费需求,也对网络起到监视作用。

AAA可以通过多种协议来实现,这些协议规定了设备与服务器之间如何传递用户信息。目前设备支持RADIUSRemote Authentication Dial-In User Service,远程认证拨号用户服务)协议、HWTACACSHW Terminal Access Controller Access Control SystemHW终端访问控制器控制系统协议)协议和LDAPLightweight Directory Access Protocol,轻量级目录访问协议)协议,在实际应用中,最常使用RADIUS协议。LDAP协议的支持情况与设备的型号有关,请以设备的实际情况为准。

虽然HWTACACS协议与RADIUS协议都实现了认证、授权和计费功能,且都使用共享密钥对传输的用户信息进行加密,也都有较好的灵活性和可扩展性,但是HWTACACS协议还具有以下优点:

·     协议使用TCP,网络传输更可靠。

·     除了HWTACACS报文头,报文主体全部进行加密。

·     协议报文较为复杂,认证和授权分离,使得认证、授权服务可以分离在不同的服务器上实现。

支持对设备上命令行的使用进行授权和计费。

3.2.3  命令行授权

【安全加固策略】

缺省情况下,用户登录设备后可以使用的命令行由用户拥有的用户角色决定。当用户线采用AAA认证方式并配置命令行授权功能后,用户可使用的命令行将受到用户角色和AAA授权的双重限制。用户每执行一条命令都会进行授权检查,只有授权成功的命令才被允许执行。

【配置举例】

# 开启命令行授权功能,限制用户只能使用授权成功的命令。

<Sysname> system-view

[Sysname] line vty 0 4

[Sysname-line-vty0-4] authentication-mode scheme

[Sysname-line-vty0-4] command authorization

# ISP域视图下配置命令行授权方法。命令行授权方法可以和login用户的授权方法相同,也可以不同。相关详细介绍请参见“安全配置指导”中的“AAA”。

3.2.4  Password Control

Password Control是设备提供的密码安全管理功能,它根据管理员定义的安全策略,对本地用户登录密码、super密码的设置、老化、更新等方面进行管理,并对用户的登录状态进行控制。

保存在设备上的用户密码存在一些安全隐患,比如:

·     密码长度短、复杂度低、不限制尝试次数,攻击者可以简单快速地借助密码字典进行爆破攻击。

·     密码未设置老化时间、长期闲置,攻击者可通过长时间持续尝试的方法进行破解,一旦破解了该密码,则一劳永逸。

·     初始密码可能是统一规则的弱密码,如果不作更改,后期被攻破的可能性较大。

Password Control可以解决上述问题,可提供以下密码管理功能:

1.  密码设置控制

·     密码最小长度限制

·     密码的组合检测功能

·     密码的复杂度检测功能

2. 密码更新与老化

·     密码更新管理

·     密码老化管理

·     密码过期提醒

·     密码老化后允许登录管理

·     密码历史记录

3. 用户登录控制

·     用户首次登录控制

·     密码尝试次数限制

·     用户帐号闲置时间管理

关于本地用户类型的详细介绍,请参见“安全配置指导”中的“AAA”。关于super密码的详细介绍,请参见“基础配置指导”中的“RBAC”。关于Password Control的详细信息,请参见“安全”中的“Password Control”。

3.3  密码设置安全

设备提供如下几种密码(或密钥)设置方式:

·     明文方式:用户以明文方式输入密码,设备以密文或哈希方式存储该密码(具体以各业务模块实现为准)。

·     密文方式:用户以密文方式输入密码,设备以密文方式存储该密码。

·     哈希方式:用户以密文方式输入密码,设备以哈希方式存储该密码。

为了提高系统的安全性和可维护性,对密码的设置有以下建议:

·     提高密码的长度和复杂度,不要使用弱密码。

·     不同特性的密码不要重复使用,避免攻击者非法获取了某业务的密码后,对其它业务的安全性造成威胁。

·     以密文或哈希方式设置的密码必须可被设备解析,否则无法成功设置。这两种密码设置方式通常用于测试或配置恢复。正常业务需求下,请不要尝试自行构造密文密码或哈希密码用于设置业务密码。

3.4  设备管理安全

3.4.1  配置密码恢复功能

【安全威胁】

缺省情况下,设备上的密码恢复功能处于开启状态。当用户忘记Console口认证密码或者登录认证失败时,可通过Console口连接设备,并在硬件重启设备过程中根据提示按组合键<Ctrl+B>进入BootWare菜单,再选择对应的BootWare菜单选项来修复这个问题。这会给非法用户访问设备带来便利,非法用户可通过Console口访问设备。

【安全加固策略】

关闭密码恢复功能后,设备将处于一个安全性更高的状态,即当出现上述情况时,若想继续使用Console口登录设备,只能通过BootWare菜单选择将设备恢复为出厂配置之后方可继续操作,这样可以有效地防止非法用户获取启动配置文件。

【配置举例】

# 关闭密码恢复功能。

<Sysname> system-view

[Sysname] undo password-recovery enable

3.4.2  配置内存告警门限

【安全威胁】

如果设备的空闲内存不够,会导致业务模块的表项无法下发,设备的重要数据无法保存,影响设备的正常运行。

【安全加固策略】

使用内存告警门限功能后,系统会实时监控剩余空闲内存大小,当条件达到一级、二级、三级告警门限或者恢复正常状态门限时,就产生相应的告警/告警解除通知,通知关联的业务模块/进程采取相应的措施,以便最大限度的利用内存,又能保证设备的正常运行。

一级(minor)、二级(severe)和三级(critical)门限,对应的剩余空闲内存越来越少,紧急程度越来越严重。

·     当剩余空闲内存值从大于等于变成小于一级告警门限时,产生一级告警。

·     当剩余空闲内存值从大于等于变成小于二级告警门限时,产生二级告警。

·     当剩余空闲内存值从大于等于变成小于三级告警门限时,产生三级告警。

·     当剩余空闲内存值从小于等于变成大于二级告警门限时,产生三级告警解除通知。

·     当剩余空闲内存值从小于等于变成大于一级告警门限时,产生二级告警解除通知。

·     当剩余空闲内存值小于等于变成大于正常内存大小时,产生一级告警解除通知。

同一级别的告警/告警解除通知是交替进行的:当剩余空闲内存值小于某级告警门限,设备产生相应级别的告警,后续只有该告警解除了,剩余空闲内存值再次小于某级告警门限时,才会再次生成该级别的告警。

当剩余空闲内存大小如3-1中曲线所示时,会生成如3-1所示的告警和解除告警通知。

图3-1 内存告警示意图

 

【注意事项】

当设备出现内存告警时,可删除暂时不用的配置或关闭部分功能来释放内存。但因为内存不足,部分配置可能删除失败。

【配置举例】

# 配置一级、二级、三级告警门限分别为3000MB2000MB1000MB,当剩余空闲内存为3500MB时,恢复到正常状态。(各参数仅为示例)

<Sysname> system-view

[Sysname] memory-threshold minor 3000 severe 2000 critical 1000 normal 3500

3.5  配置文件加密

【安全加固策略】

开启配置文件加密功能后,管理员每次执行save命令,设备都会先将当前生效的配置进行加密,再保存。配置文件加密功能支持使用公钥和私钥两种方式进行加密,由于所有运行Comware V7平台软件的设备拥有相同的公钥和私钥,因此加密后的文件只能被所有运行Comware V7平台软件的设备识别和解析。为了防止非法用户对加密后配置文件的解析,需确保只有合法用户才能获取加密后的配置文件,进一步提高配置文件的安全性。

【注意事项】

开启配置文件加密功能后,将不能使用more命令查看加密配置文件(后缀名为“.cfg”的配置文件)的内容,可以使用display saved-configuration命令查看加密的下次启动配置文件内容。

【配置举例】

·     # 设置保存配置文件时使用公钥进行加密。

<Sysname> system-view

[Sysname] configuration encrypt public-key

·     # 设置保存配置文件时使用私钥进行加密。

<Sysname> system-view

[Sysname] configuration encrypt private-key

3.6  安全日志

【安全加固策略】

查看系统日志是了解设备状态、定位和排除网络问题的一个重要方法,而在系统日志中与设备安全相关的安全日志显得尤为重要。但通常情况下,安全日志与其它日志一同输出,经常被淹没在大量的系统日志中,很难识别、不便于查看。针对这个问题,系统提供了安全日志同步保存功能和安全日志文件管理功能。

开启安全日志同步保存功能后,安全业务模块根据业务需要,会将某些信息同时封装成普通日志和安全日志,普通日志根据信息中心的配置可以输出到控制台、监视终端、日志缓冲区、日志主机等方向,安全日志只能按周期输出到安全日志文件。这样既实现了安全日志的集中管理,又有利于用户随时快捷地查看安全日志,了解设备状态。

安全日志同步保存功能的配置和安全日志文件的管理相互分离,安全日志文件实行专人专管:

·     设备管理员可配置安全日志同步保存功能,包括开启安全日志同步保存功能,开启安全日志同步保存功能,配置单个安全日志文件最大能占用的存储空间的大小,配置安全日志文件使用率的告警上限等。

·     安全日志管理员才能管理安全日志文件,例如修改安全日志文件的存储路径、手工将安全日志保存到安全日志文件等。安全管理员只能管理安全日志文件,不能对设备执行其他操作。

【配置举例】

·     配置安全日志同步保存功能

# 开启安全日志同步保存功能。

<Sysname> system-view

[Sysname] info-center security-logfile enable

# 配置安全日志自动保存到文件的频率为600秒。(600秒仅为示例)

[Sysname] info-center security-logfile frequency 600

# 配置单个安全日志文件最大能占用的存储空间的大小为2MB。(2MB仅为示例)

[Sysname] info-center security-logfile size-quota 2

·     管理安全日志文件

# 以安全日志管理员身份登录设备。

# 配置存放安全日志文件的目录为flash:/testflash:/test仅为示例)

<Sysname> mkdir test

Creating directory flash:/test... Done.

<Sysname> system-view

[Sysname] info-center security-logfile directory flash:/test

[Sysname] quit

# 手动将安全日志缓冲区中的内容保存到安全日志文件。

<Sysname> security-logfile save

The contents in the security log file buffer have been saved to the file flash:/seclog/seclog.log.

3.7  VXLAN安全

3.7.1  ARP/ND安全

【安全威胁】

若攻击者向EVPN VXLAN网络中发送错误或畸形的ARP/ND报文,会使VTEP和网关学习到错误的ARP/ND表项,影响网络中报文的正常转发。

【安全加固策略】

为避免VTEP和网关学习到错误的ARP/ND表项,可手工关闭远端ARP/ND的自动学习功能,通过EVPNMAC/IP发布路由中携带的ARP/ND信息形成APR/ND表项指导报文转发。

【注意事项】

本安全策略仅适用于EVPN VXLAN网络。

【配置举例】

# 关闭远端ARP自动学习功能。

<Sysname> system-view

[Sysname] vxlan tunnel arp-learning disable

# 关闭远端ND自动学习功能。

<Sysname> system-view

[Sysname] vxlan tunnel nd-learning disable

4 控制平面安全加固

4.1  二层协议安全

4.1.1  生成树保护功能

【安全威胁】

·     BPDU攻击

接入端口一般直接与用户终端(如PC)或文件服务器相连,此时接入端口被设置为边缘端口以实现这些端口的快速迁移;当这些端口接收到BPDU,系统会自动将这些端口设置为非边缘端口,重新计算生成树,从而引起网络拓扑结构的变化。这些端口正常情况下应该不会收到STPBPDU。如果有人伪造BPDU恶意攻击设备,就会引起网络震荡。

·     根桥攻击

由于维护人员的错误配置或网络中的恶意攻击,网络中的合法根桥有可能会收到优先级更高的BPDU,这样当前合法根桥会失去根桥的地位,引起网络拓扑结构的错误变动。这种不合法的变动,会导致原来应该通过高速链路的流量被牵引到低速链路上,导致网络拥塞。

·     TC-BPDU攻击

在有人伪造TC-BPDU恶意攻击设备时,设备短时间内会收到很多的TC-BPDU,频繁的刷新操作给设备带来很大负担,给网络的稳定带来很大隐患。

【安全加固策略】

针对以上攻击行为,可以在设备上配置如下安全策略:

·     BPDU保护

在设备上部署BPDU保护功能,可以防止BPDU攻击。如果边缘端口收到了BPDU,系统就将这些端口关闭,同时通知网管这些端口已被生成树协议关闭。

·     根保护

在设备的指定端口上部署根保护功能,通过维护指定端口的角色来保护根桥的地位,可以防止根桥频繁变动。

·     TC-BPDU攻击保护

在设备上部署TC-BPDU攻击保护功能,可以防止TC-BPDU攻击。当设备在单位时间(固定为十秒)内收到TC-BPDU的次数大于TC-BPDU攻击保护功能所指定的最高次数(假设为N次),那么该设备在这段时间之内将只进行N次刷新转发地址表项的操作,而对于超出N次的那些TC-BPDU,设备会在这段时间过后再统一进行一次地址表项刷新的操作,这样就可以避免频繁地刷新转发地址表项。

【配置举例】

·     配置BPDU保护

# 在系统视图下开启BPDU保护功能。

<Sysname> system-view

[Sysname] stp bpdu-protection

# 在指定的边缘端口上开启BPDU保护功能。

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] stp port bpdu-protection enable

·     配置根保护

# 开启端口的根保护功能

<Sysname> system-view

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] stp root-protection

·     配置TC-BPDU攻击保护

# 配置在单位时间(固定为十秒)内,设备收到TC-BPDU后一定时间内,允许收到TC-BPDU后立即刷新转发地址表项的最高次数为1010仅为示例)。

<Sysname> system-view

[Sysname] stp tc-protection threshold 10

4.2  ARP攻击防御

4.2.1  MAC为组播的ARP表项检查功能

【安全威胁】

合法的ARP报文发送端MAC地址为单播,攻击源可以伪造发送端MAC地址为组播的ARP报文。如果网关学习到源MAC为组播地址的ARP表项,那么当它基于该类表项转发报文时,会将报文组播发送,严重占用网络资源。

【安全加固策略】

开启ARP表项的检查功能后,设备将不能学习ARP报文中发送端MAC地址为组播MAC的动态ARP表项,也不能手工添加MAC地址为组播MAC的静态ARP表项。

【配置举例】

# 开启动态ARP表项的检查功能。

<Sysname> system-view

[Sysname] arp check enable

4.2.2  洪类ARP报文攻击防范

1. ARP防止IP报文攻击

【安全威胁】

如果网络中有主机通过向设备发送大量目标IP地址不能解析的IP报文来攻击设备,则会造成下面的危害:

·     设备向目的网段发送大量ARP请求报文,加重目的网段的负载。

·     设备会试图反复地对目标IP地址进行解析,增加了CPU的负担。

【安全加固策略】

为避免这种IP报文攻击所带来的危害,设备提供了下列两个功能:

·     ARP源抑制功能:如果发送攻击报文的源是固定的,可以采用ARP源抑制功能。开启该功能后,如果网络中每5秒内从某IP地址向设备某接口发送目的IP地址不能解析的IP报文超过了设置的阈值,则设备将不再处理由此IP地址发出的IP报文直至该5秒结束,从而避免了恶意攻击所造成的危害。

·     ARP黑洞路由功能:无论发送攻击报文的源是否固定,都可以采用ARP黑洞路由功能。开启该功能后,一旦接收到目标IP地址不能解析的IP报文,设备立即产生一个黑洞路由,并同时发起ARP主动探测,如果在黑洞路由老化时间内ARP解析成功,则设备马上删除此黑洞路由并开始转发去往该地址的报文,否则设备直接丢弃该报文。在删除黑洞路由之前,后续去往该地址的IP报文都将被直接丢弃。用户可以通过命令配置ARP请求报文的发送次数和发送时间间隔。等待黑洞路由老化时间过后,如有报文触发则再次发起解析,如果解析成功则进行转发,否则仍然产生一个黑洞路由将去往该地址的报文丢弃。这种方式能够有效地防止IP报文的攻击,减轻CPU的负担。

【配置举例】

·     # 开启ARP源抑制功能,并指定ARP源抑制的阈值为100100仅为示例)。

<Sysname> system-view

[Sysname] arp source-suppression enable

[Sysname] arp source-suppression limit 100

·     # 开启ARP黑洞路由功能,并配置发送ARP探测报文个数为5,发送ARP探测报文的时间间隔为3秒。(各参数仅为示例)

<Sysname> system-view

[Sysname] arp resolving-route enable

[Sysname] arp resolving-route probe-count 5

[Sysname] arp resolving-route probe-interval 3

2. MAC地址固定的ARP攻击检测功能

【安全威胁】

如果攻击源向设备发送大量的源MAC地址固定的ARP攻击报文,会导致设备表项被占满,无法学习合法的ARP表项。

【安全加固策略】

开启源MAC地址固定的ARP攻击检测功能后,设备会根据ARP报文的源MAC地址对上送CPUARP报文进行统计,在5秒内,如果收到同一源MAC地址(源MAC地址固定)的ARP报文超过一定的阈值,则认为存在攻击,系统会将此MAC地址添加到攻击检测表项中。

【注意事项】

切换源MAC地址固定的ARP攻击检查模式时,如果从监控模式切换到过滤模式,过滤模式马上生效;如果从过滤模式切换到监控模式,已生成的攻击检测表项,到表项老化前还会继续按照过滤模式处理。

对于网关或一些重要的服务器,可能会发送大量ARP报文,为了使这些ARP报文不被过滤掉,可以将这类设备的MAC地址配置成保护MAC地址,这样,即使该设备存在攻击也不会被检测或过滤。

【配置举例】

# 开启源MAC地址固定的ARP攻击检测功能,并选择过滤模式。

<Sysname> system-view

[Sysname] arp source-mac filter

如果选择监控模式,则需要执行arp source-mac monitor命令。

# 配置源MAC地址固定的ARP报文攻击检测的阈值为30个(30仅为示例)。

[Sysname] arp source-mac threshold 30

# 配置源MAC地址固定的ARP攻击检测表项的老化时间为60秒(60仅为示例)。

[Sysname] arp source-mac aging-time 60

# 配置保护MAC地址为001e-1200-0213001e-1200-0213仅为示例)。

[Sysname] arp source-mac exclude-mac 001e-1200-0213

3. ARP接口攻击抑制功能

【安全加固策略】

ARP接口攻击抑制功能基于接口限制ARP请求速率,以防止非法用户构造大量ARP请求报文对设备进行ARP攻击。本功能只统计设备的三层接口上收到的ARP请求报文,在一个检测周期内,如果单个接口收到的ARP请求报文个数超过配置的ARP接口攻击抑制阈值,则认为该接口受到ARP攻击。确定受到ARP攻击后,设备会生成ARP接口攻击抑制表项,在ARP接口攻击抑制表项的抑制时间清零之前设备会限制被攻击的接口每秒钟接收ARP报文的速率,防止ARP攻击报文持续冲击CPU。以128字节长的ARP报文为例,则被攻击的接口每秒钟只能接收100ARP报文。如果抑制时间内ARP收包个数大于或等于一个特定值((表项抑制时间/检测周期)×抑制阈值),则抑制时间清零后设备将重置该表项的抑制时间。否则,设备删除该ARP接口攻击抑制表项。

【配置举例】

# 开启ARP接口攻击抑制功能。

<Sysname> system-view

[Sysname] arp attack-suppression enable per-interface

# 配置ARP接口攻击抑制检测周期为30秒。(取值仅为示例)

[Sysname] arp attack-suppression check-interval 30

# 配置ARP接口攻击抑制阈值为1000。(取值仅为示例)

[Sysname] arp attack-suppression threshold 1000

# 配置ARP接口攻击抑制功能的抑制时间为60秒。(取值仅为示例)

[Sysname] arp attack-suppression suppresion-time 60

4.2.3  防御ARP欺骗类攻击功能

1. ARP双向分离功能

【安全威胁】

若网络中的攻击源发送了伪造的ARP报文,设备收到此类ARP报文后更新了已记录的ARP表项,则会导致设备学习到错误的ARP表项信息。

【安全加固策略】

开启ARP双向分离功能后:

·     设备会应答收到的所有ARP请求,但不会生成相应的ARP表项及状态,从而防止了使用ARP请求报文对网关设备ARP表进行地址欺骗的可能;

·     当设备发送ARP请求后并收到对应的ARP应答报文后,设备会生成对应的ARP表项;

·     当设备收到非本机发送的ARP请求对应的ARP应答报文时,丢弃该ARP应答报文,有效地保证了设备不会学到非法的ARP应答报文。

【配置举例】

# 在接口GigabitEthernet1/0/1上开启ARP双向分离功能。

<Sysname> system-view

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] arp safe-guard enable

2. 源地址冲突提示功能

【安全威胁】

攻击者仿冒网关,发送错误的网关IP地址和MAC地址对应关系给合法客户端,导致合法客户端不能正常访问网关。

【安全加固策略】

开启源地址冲突提示功能后,设备接收到其它设备发送的ARP报文后,如果发现报文中的源IP地址和自己的IP地址相同,该设备会根据当前源IP地址冲突提示功能的状态,进行如下处理:

·     如果源IP地址冲突提示功能处于关闭状态时,设备发送一个免费ARP报文确认是否冲突,只有收到对应的ARP应答后才提示存在IP地址冲突。

·     如果源IP地址冲突提示功能处于开启状态时,设备立刻提示存在IP地址冲突。

【配置举例】

# 开启源IP地址冲突提示功能。

<Sysname> system-view

[Sysname] arp ip-conflict log prompt

3. ARP报文源MAC地址一致性检查功能

安全加固策略】

开启 ARP报文源MAC地址一致性检查功能后,网关设备在进行ARP学习前将对ARP报文进行检查。如果以太网数据帧首部中的源MAC地址和ARP报文中的源MAC地址不同,则认为是攻击报文,将其丢弃;否则,继续进行ARP学习。

【配置举例】

# 开启ARP报文源MAC地址一致性检查功能。

<Sysname> system-view

[Sysname] arp valid-check enable

4. 配置ARP主动确认功能

【安全威胁】

攻击者仿冒用户的IP地址发送ARP请求给网关,网关收到ARP表项后,新建了错误的ARP表项或更新已有ARP表项的MAC地址,则合法用户无法收到报文。

【安全加固策略】

配置ARP主动确认功能后,设备在新建或更新ARP表项前需进行主动确认,防止产生错误的ARP表项。

为了对ARP表项的学习执行更严格的检查,可以开启严格模式的ARP主动确认功能,具体机制如下:

·     收到目标IP地址为自己的ARP请求报文时,设备会发送ARP应答报文,但不建立ARP表项;

·     收到ARP应答报文时,需要确认本设备是否对该报文中的源IP地址发起过ARP解析:若发起过解析,解析成功后则设备启动主动确认功能,主动确认流程成功完成后,设备可以建立该表项;若未发起过解析,则设备丢弃该报文。

【配置举例】

# 开启严格模式的ARP主动确认功能。

<Sysname> system-view

[Sysname] arp active-ack strict enable

5. 授权ARP功能

【安全加固策略】

开启授权ARPAuthorized ARP)功能后,在动态学习ARP的过程中,只有和DHCP服务器生成的租约或DHCP中继生成的安全表项一致的ARP报文才能够被学习。配置接口的授权ARP功能后,可以防止用户仿冒其他用户的IP地址或MAC地址对网络进行攻击,保证只有合法的用户才能使用网络资源,增加了网络的安全性。关于DHCP服务器和DHCP中继的介绍,请参见“三层技术-IP业务配置指导”中的“DHCP服务器”和“DHCP中继”。

【配置举例】

# GigabitEthernet1/0/1上开启授权ARP功能。

<Sysname> system-view

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] arp authorized enable

6. ARP自动扫描、固化功能

【安全加固策略】

ARP自动扫描功能一般与ARP固化功能配合使用,用来防御局域网内的ARP欺骗行为:

·     开启ARP自动扫描功能后,设备会对局域网内的邻居自动进行扫描(向邻居发送ARP请求报文,获取邻居的MAC地址,建立动态ARP表项)。

·     开启固化功能后,设备会将当前的ARP动态表项(包括ARP自动扫描生成的动态ARP表项)转换为静态ARP表项。通过对动态ARP表项的固化,可以有效防止攻击者修改ARP表项。

【注意事项】

接口上开启了ARP自动扫描功能后,会向扫描区间的所有IP地址同时发送ARP请求报文,这会造成设备瞬间CPU利用率过高、网络负载过大的问题。您可以通过设置接口发送ARP报文的速率解决此问题。

固化生成的静态ARP表项数量同样受到设备可以支持的静态ARP表项数目的限制,由于静态ARP表项数量的限制可能导致只有部分动态ARP表项被固化。

【配置举例】

# 对接口GigabitEthernet1/0/1上的主IP地址网段内的邻居进行ARP自动扫描。

<Sysname> system-view

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] arp scan

[Sysname-GigabitEthernet1/0/1] quit

# 将设备上的动态ARP表项转化成静态ARP表项。

[Sysname] arp fixup

7. ARP网关保护功能

【安全威胁】

攻击者发送错误的网关IP地址和MAC地址对应关系给合法客户端,导致合法客户端不能正常访问网关。

【安全加固策略】

在设备上不与网关相连的接口上开启ARP网关保护功能后,当接口收到ARP报文时,将检查ARP报文的源IP地址是否和配置的被保护网关的IP地址相同。如果相同,则认为此报文非法,将其丢弃;否则,认为此报文合法,继续进行后续处理。

【注意事项】

不能在同一个接口上配置ARP网关保护功能和ARP过滤保护功能。

【配置举例】

# GigabitEthernet1/0/1下开启ARP网关保护功能,受保护的网关IP地址为1.1.1.1。(各参数仅为示例)

<Sysname> system-view

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] arp filter source 1.1.1.1

8. ARP过滤保护功能

【安全威胁】

·     攻击者发送错误的网关IP地址和MAC地址对应关系给合法客户端,导致合法客户端不能正常访问网关。

·     攻击者发送伪造的合法客户端的IP地址和MAC地址的对应关系给网关或其他客户端,导致网关或其他客户端无法与合法客户端正常通信。

【安全加固策略】

在接口上开启ARP过滤保护功能后,当接口收到ARP报文时,将检查ARP报文的源IP地址和源MAC地址是否和允许通过的IP地址和MAC地址相同:

·     如果相同,则认为此报文合法,继续进行后续处理;

·     如果不相同,则认为此报文非法,将其丢弃。

【注意事项】

不能在同一个接口上配置ARP网关保护功能和ARP过滤保护功能。

【配置举例】

# GigabitEthernet1/0/1下开启ARP过滤保护功能,允许源IP地址为1.1.1.1、源MAC地址为0e10-0213-1023ARP报文通过。(各参数仅为示例)

<Sysname> system-view

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] arp filter binding 1.1.1.1 0e10-0213-1023

9. ARP报文发送端IP地址检查功能

【安全加固策略】

配置ARP报文发送端IP地址检查功能后,网关设备在进行ARP学习前将对ARP报文进行检查。如果指定VLAN内的ARP报文的发送端IP地址不在指定源IP地址范围内,则认为是攻击报文,将其丢弃;否则,继续进行ARP学习。

【配置举例】

# VLAN 2内配置可接受的ARP报文中sender IP的地址范围为1.1.1.11.1.1.20。(各参数仅为示例)

<Sysname> system-view

[Sysname] vlan 2

[Sysname–vlan2] arp sender-ip-range 1.1.1.1 1.1.1.20

4.3  ND攻击防御

4.3.1  ND Snooping

【安全加固策略】

ND Snooping功能用于二层交换网络环境,设备通过侦听ND或者数据报文来创建ND Snooping表项,该表项内容包括报文的源IPv6地址、源MAC地址、所属VLAN和报文入端口等信息。

ND Snooping表项可以配合ND DetectionIPv6 Source Guard功能使用,以防止网络中的攻击源发送非法ND报文攻击网关等行为。

【配置举例】

# VLAN 10内开启学习ND Snooping表项的功能。

<Sysname> system-view

[Sysname] vlan 10

[Sysname-vlan10] ipv6 nd snooping enable global

[Sysname-vlan10] ipv6 nd snooping enable link-local

[Sysname-vlan10] quit

# 配置接口GigabitEthernet1/0/1学习ND Snooping表项的最大个数为64(本例中的参数仅为示例)。

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] ipv6 nd snooping max-learning-num 64

[Sysname-GigabitEthernet1/0/1] quit

# 配置表项的VALID状态的超时时间为250秒(本例中的参数仅为示例)。

[Sysname] ipv6 nd snooping lifetime valid 250

# 配置发送两次DAD NS报文进行探测的时间间隔为200毫秒(本例中的参数仅为示例)。

[Sysname] ipv6 nd snooping dad retrans-timer 200

4.3.2  MAC地址固定的ND攻击检测功能

【安全威胁】

攻击源向设备发送大量的源MAC地址固定的ND攻击报文,导致设备表项被占满,无法学习合法的ND表项。

【安全加固策略】

MAC地址固定的ND攻击检测功能根据ND报文的源MAC地址对上送CPUND报文进行统计,在一个检测周期内,如果收到同一源MAC地址(源MAC地址固定)的ND报文超过一定的阈值,则认为存在攻击,系统会将此MAC地址添加到攻击检测表项中。在开启了ND日志信息功能的情况下,系统会根据设置的检查模式对存在于攻击检测表项中的MAC地址进行如下处理:

·     如果设置的检查模式为过滤模式,则会打印日志信息并且将该源MAC地址发送的ND报文过滤掉;

·     如果设置的检查模式为监控模式,则只打印日志信息,不会将该源MAC地址发送的ND报文过滤掉。

对于已添加到源MAC地址固定的ND攻击检测表项中的MAC地址,在等待设置的老化时间后,如果老化时间内丢弃的ND报文个数大于或等于一个特定值,则设备会重置该表项的老化时间;如果小于该特定值,则设备删除该源MAC地址固定的ND攻击表项,MAC地址会重新恢复成普通MAC地址。

【注意事项】

切换源MAC地址固定的ND攻击检查模式时,如果从监控模式切换到过滤模式,过滤模式马上生效;如果从过滤模式切换到监控模式,已生成的攻击检测表项在老化之前还会继续按照过滤模式处理。

对于网关或一些重要的服务器,可能会收到大量ND报文,为了使这些ND报文不被过滤掉,可以将这类设备的MAC地址配置成保护MAC地址。请谨慎使用本功能,以免该设备上存在攻击也不会被检测或过滤。

【配置举例】

# 开启源MAC地址固定的ND攻击检测功能,配置检查方式为监控模式。

<Sysname> system-view

[Sysname] ipv6 nd source-mac monitor

如果选择过滤模式,则需要执行ipv6 nd source-mac filter命令。

# 设置源MAC地址固定的ND攻击检测功能的检测周期为30秒(本例中的参数仅为示例)。

[Sysname] ipv6 nd source-mac check-interval 30

# 配置源MAC地址固定的ND报文攻击检测阈值为100个报文(本例中的参数仅为示例)。

[Sysname] ipv6 nd source-mac threshold 100

# 配置源MAC地址固定的ND报文攻击检测表项的老化时间为100秒(本例中的参数仅为示例)。

[Sysname] ipv6 nd source-mac aging-time 100

# 配置源MAC地址固定的ND报文攻击检查的保护MAC地址为001e-1200-0213(本例中的参数仅为示例)。

[Sysname] ipv6 nd source-mac exclude-mac 001e-1200-0213

# 开启ND日志信息功能。

[Sysname] ipv6 nd check log enable

4.3.3  ND接口攻击抑制功能

【安全加固策略】

ND接口攻击抑制功能基于接口限制ND请求速率,以防止非法用户构造大量ND请求报文对设备进行ND攻击。本功能只统计设备的三层接口上收到的ND请求报文,在一个检测周期内,如果单个接口收到的ND请求报文个数超过配置的ND接口攻击抑制阈值,则认为该接口受到ND攻击。确定接口受到ND攻击后,设备会生成ND接口攻击抑制表项:

ND接口攻击抑制表项的抑制时间清零之前设备会限制被攻击的接口每秒钟接收ND报文的速率,防止ND攻击报文持续冲击CPU

ND接口攻击抑制表项的抑制时间清零后,如果抑制时间内收到的ND报文个数大于或等于一个特定值,则设备将ND接口攻击抑制表项抑制时间恢复并重新开始计时;如果小于该特定值,则设备删除该ND接口攻击抑制表项。

【配置举例】

# 开启ND接口攻击抑制功能。

<Sysname> system-view

[Sysname] ipv6 nd attack-suppression enable per-interface

# 设置ND接口攻击抑制功能的检测周期为30秒(本例中的参数仅为示例)。

[Sysname] ipv6 nd attack-suppression check-interval 30

# 配置ND接口攻击抑制阈值为500,即当某个接口上在一个检测周期内收到的ND请求报文个数超过500个,则认为该接口受到ND报文攻击(本例中的参数仅为示例)。

[Sysname] ipv6 nd attack-suppression threshold 500

# 设置ND接口攻击抑制功能的抑制时间为60秒(本例中的参数仅为示例)。

[Sysname] ipv6 nd attack-suppression suppresion-time 60

4.3.4  ND协议报文源MAC地址一致性检查功能

【安全威胁】

如果网络中存在攻击源向设备发送大量ND报文,则会造成设备需要处理大量的ND报文,增加了CPU的负担。

【安全加固策略】

当攻击报文的源MAC地址和以太网数据帧首部中的源MAC地址不一致时,可以通过ND协议报文源MAC地址一致性检查功能避免此类攻击。开启本特性后,网关设备会对接收的ND协议报文进行检查。如果ND报文中的源MAC地址和以太网数据帧首部中的源MAC地址不一致,则认为是攻击报文,将其丢弃;否则,继续进行ND学习。

若开启ND日志信息功能,当ND报文中的源MAC地址和以太网数据帧首部中的源MAC地址不同时,会打印相关的日志信息。设备生成的ND日志信息会交给信息中心模块处理,信息中心模块的配置将决定日志信息的发送规则和发送方向。关于信息中心的详细描述请参见“网络管理和监控配置指导”中的“信息中心。

【配置举例】

# 开启ND协议报文源MAC地址一致性检查功能。

<Sysname> system-view

[Sysname] ipv6 nd mac-check enable

# 开启ND日志信息功能。

[Sysname] ipv6 nd check log enable

4.4  接入业务安全

4.4.1  PPP

说明

RX8800不支持本特性。

 

1. 配置PPP认证

【安全加固策略】

通过与AAA的配合,PPP提供了在其链路上对对端进行安全认证的手段,具体包括以下几种方式。

·     PAP认证

PAP为两次握手协议,它通过用户名和密码来对用户进行认证。

PAP在网络上以明文的方式传递用户名和密码,认证报文如果在传输过程中被截获,便有可能对网络安全造成威胁。因此,它适用于对网络安全要求相对较低的环境。

·     CHAP认证

CHAP为三次握手协议。

CHAP认证过程分为两种方式:认证方配置了用户名、认证方未配置用户名。推荐使用认证方配置用户名的方式,这样被认证方可以对认证方的身份进行确认。

CHAP只在网络上传输用户名,并不传输用户密码(准确的讲,它不直接传输用户密码,传输的是用MD5算法将用户密码与一个随机报文ID一起计算的结果),因此它的安全性要比PAP高。

·     MSCHAP认证

MSCHAP为三次握手协议,认证过程与CHAP类似,MSCHAPCHAP的不同之处在于:MSCHAP支持重传机制。在被认证方认证失败的情况下,如果认证方允许被认证方进行重传,被认证方会将认证相关信息重新发回认证方,认证方根据此信息重新对被认证方进行认证。认证方最多允许被认证方重传3次。

·     MSCHAPv2认证

MSCHAPv2为三次握手协议,认证过程与CHAP类似,MSCHAPv2CHAP的不同之处在于:

¡     MSCHAPv2通过报文捎带的方式实现了认证方和被认证方的双向认证。

¡     MSCHAPv2支持重传机制。在被认证方认证失败的情况下,如果认证方允许被认证方进行重传,被认证方会将认证相关信息重新发回认证方,认证方根据此信息重新对被认证方进行认证。认证方最多允许被认证方重传3次。

¡     MSCHAPv2支持修改密码机制。被认证方由于密码过期导致认证失败时,被认证方会将用户输入的新密码信息发回认证方,认证方根据新密码信息重新进行认证。

【注意事项】

若认证方采用本地AAA认证,则必须为被认证方配置本地用户的用户名和密码;若认证方采用远程AAA认证,则必须为被认证方配置远程用户的用户名和密码。

·     采用PAP认证方式

在认证方上为被认证方配置的用户名和密码必须与被认证方上通过ppp pap local-user命令配置的用户名和密码相同。

·     采用CHAP认证方式(认证方配置了用户名)

在认证方上为被认证方配置的用户名和密码必须满足如下要求:

¡     用户名必须与被认证方上通过ppp chap user命令配置的被认证方的用户名相同。

¡     密码必须与被认证方上为认证方配置的用户名的密码相同。

在被认证方上为认证方配置的用户名和密码必须满足如下要求:

¡     用户名必须与认证方上通过ppp chap user命令配置的认证方的用户名相同。

¡     密码必须与认证方上为被认证方配置的用户名的密码相同。

在被认证方上不能通过ppp chap password命令配置进行CHAP认证时采用的密码,否则即使认证方配置了用户名,CHAP仍将按照认证方未配置用户名的情况进行认证。

·     采用CHAP认证方式(认证方未配置用户名)

在认证方上为被认证方配置的用户名和密码必须满足如下要求:

¡     用户名必须与被认证方上通过ppp chap user命令配置的被认证方的用户名相同。

¡     密码必须与被认证方上通过ppp chap password命令配置的密码相同。

·     采用MSCHAPMSCHAPv2认证方式

¡     设备只能作为MSCHAPMSCHAPv2的认证方来对其它设备进行认证。

¡     L2TP环境下仅支持MSCHAP认证,不支持MSCHAPv2认证。

¡     MSCHAPv2认证只有在RADIUS认证的方式下,才能支持修改密码机制。

¡     MSCHAPv2认证时不支持为PPP用户配置认证方式为none

¡     为被认证方配置的用户名和密码必须与被认证方上的配置相同。

¡     若认证方配置了用户名,则在被认证方上为认证方配置的用户名必须与认证方上ppp chap user命令配置的用户名相同。

【配置举例】

·     配置PAP认证

¡     配置认证方

# 配置认证方采用PAP方式认证被认证方。

<Sysname> system-view

[Sysname] interface virtual-template 1

[Sysname-Virtual-Template1] ppp authentication-mode pap domain system

# 配置认证方采用本地或远程AAA认证方式对被认证方进行认证。

具体配置请参见“安全配置指导”中的“AAA”。

¡     配置认证方

# 配置采用PAP方式时被认证方的用户名和密码。

<Sysname> system-view

[Sysname] interface virtual-template 1

[Sysname-Virtual-Template1] ppp pap local-user userb password simple passb&289

·     配置CHAP认证(认证方配置了用户名)

¡     配置认证方

# 配置认证方采用CHAP方式认证被认证方。

<Sysname> system-view

[Sysname] interface virtual-template 1

[Sysname-Virtual-Template1] ppp authentication-mode chap domain system

# 配置采用CHAP认证时认证方的用户名。

[Sysname-Virtual-Template1] ppp chap user usera

# 配置认证方采用本地或远程AAA认证方式对被认证方进行认证。

具体配置请参见“安全配置指导”中的“AAA”。

¡     配置认证方

# 配置采用CHAP认证时被认证方的用户名。

<Sysname> system-view

[Sysname] interface virtual-template 1

[Sysname-Virtual-Template1] ppp chap user userb

# 配置被认证方采用本地或远程AAA认证方式对认证方进行认证。

具体配置请参见“安全配置指导”中的“AAA”。

·     配置CHAP认证(认证方未配置用户名)

¡     配置认证方

# 配置认证方采用CHAP方式认证被认证方。

<Sysname> system-view

[Sysname] interface virtual-template 1

[Sysname-Virtual-Template1] ppp authentication-mode chap domain system

# 配置认证方采用本地或远程AAA认证方式对被认证方进行认证。

具体配置请参见“安全配置指导”中的“AAA”。

¡     配置认证方

# 配置采用CHAP认证时被认证方的用户名。

<Sysname> system-view

[Sysname] interface virtual-template 1

[Sysname Virtual-Template1] ppp chap user userb

# 配置采用CHAP认证时被认证方的认证密码。

[Sysname-Virtual-Template1] ppp chap password simple hello&358

·     配置MSCHAPMSCHAPv2认证(认证方配置了用户名)

¡     配置认证方

# 配置认证方采用MSCHAPMSCHAPv2方式认证被认证方。

<Sysname> system-view

[Sysname] interface virtual-template 1

MSCHAP方式)

[Sysname-Virtual-Template1] ppp authentication-mode ms-chap domain system

MSCHAPv2方式)

[Sysname-Virtual-Template1] ppp authentication-mode ms-chap-v2 domain system

# 配置采用MSCHAPMSCHAPv2认证时认证方的用户名。

[Sysname-Virtual-Template1] ppp chap user usera

# 配置认证方采用本地或远程AAA认证方式对被认证方进行认证。

具体配置请参见“安全配置指导”中的“AAA”。

·     配置MSCHAPMSCHAPv2认证(认证方未配置用户名)

¡     配置认证方

# 配置认证方采用MSCHAPMSCHAPv2方式认证被认证方。

<Sysname> system-view

[Sysname] interface virtual-template 1

MSCHAP方式)

[Sysname-Virtual-Template1] ppp authentication-mode ms-chap domain system

MSCHAPv2方式)

[Sysname-Virtual-Template1] ppp authentication-mode ms-chap-v2 domain system

# 配置认证方采用本地或远程AAA认证方式对被认证方进行认证。

具体配置请参见“安全配置指导”中的“AAA”。

2. 增强对PPP用户的管理和控制

【安全威胁】

PPP网络中将会面临以下安全威胁:

·     非法用户可能会使用穷举法试探合法用户密码。

·     非法用户发送大量认证报文消耗设备的CPU资源,对设备进行拒绝服务攻击。

·     用户使用非法IP地址访问网络资源。

【安全加固策略】

针对以上安全威胁,可以在设备上配置如下安全功能,增强对PPP用户的管理和控制:

·     PPP用户静默功能

对用户的认证次数进行监测。开启PPP用户静默功能后,当某PPP用户在检测周期内连续认证失败达次数达到允许的最大值时,将被静默一段时间,在静默周期内设备直接丢弃来自此PPP用户的报文,以降低非法用户使用穷举法试探合法用户密码的成功率,同时避免设备持续向认证服务器转发该PPP用户的认证报文而对设备处理性能造成影响。静默期后,如果设备再次收到该PPP用户的报文,则依然可以对其进行认证处理

·     PPP空用户名检查功能

PPP用户名的合法性进行严格检查。开启PPP空用户名检查功能后,当设备收到未携带用户名的PPPoEL2TP用户的上线请求时,不会采用请求报文中的用户MAC地址或calling number作为用户名向AAA进行认证,而是直接返回给用户认证失败。

其中,用户名的格式为“userid@isp-name”。用户名为空,是指useridISP域名均为空。

·     PPP用户IP网段检查功能

PPP用户所在的网段进行检查。开启PPP用户IP网段检查功能后,当IPCP协商时,设备会检查PPP用户的IP地址与上线接口的IP地址是否在同一网段,如果不在同一网段,则IPCP协商失败,不允许用户上线。

·     PPP接入用户日志信息功能

提供日志信息帮助管理员及时掌握当前网络情况。开启PPP接入用户日志信息功能后,设备会对用户的上线、下线、上线失败的信息进行记录,包括用户名、IP地址、接口名称、两层VLANMAC地址、上线失败原因、下线原因等。

【配置举例】

·     PPP用户静默功能

# 配置PPP用户在500秒内连续认证失败次数达到100次时,将被静默1000秒。(各参数仅为示例)

<Sysname> system-view

[Sysname] ppp authentication chasten 100 500 1000

·     PPP空用户名检查功能

# 配置PPP用户请求上线时必须带用户名,否则上线失败。

<Sysname> system-view

[Sysname] interface virtual-template 1

[Sysname-Virtual-Template1] ppp username check

·     PPP用户IP网段检查功能

# 在虚拟模板接口1上使能接口的IP网段检查功能。

<Sysname> system-view

[Sysname] interface virtual-template 1

[Sysname-Virtual-Template1] ppp ipcp remote-address match

·     PPP接入用户日志信息功能

# 开启PPP接入用户日志信息功能。

<Sysname> system-view

(实现方式一)

[Sysname] ppp access-user log enable

(实现方式二)

[Sysname] access-user log enable

3. keepalive报文的快速应答功能

【安全威胁】

设备在收到PPP用户的keepalive请求报文后会上送CPU处理,流量较大时需要消耗较大的CPU资源。如果遭受攻击,易出现处理能力不足,产生拒绝服务,成为攻击者的目标。

【安全加固策略】

针对以上攻击行为,可开启keepalive报文的快速应答功能,通过硬件识别keepalive请求报文并自动回复keepalive应答报文,从而减轻CPU的负担,避免成为拒绝服务攻击的目标。

【配置举例】

# 接口板Slot2上开启keepalive报文的快速应答功能。(独立运行模式)

<Sysname> system-view

[Sysname] ppp keepalive fast-reply enable slot 2

# 成员设备1的接口板Slot2上开启keepalive报文的快速应答功能。(IRF模式)

<Sysname> system-view

[Sysname] ppp keepalive fast-reply enable chassis 1 slot 2

4.4.2  PPPoE

说明

RX8800不支持本特性。

 

1. 增强对PPPoE用户的管理和控制

【安全威胁】

PPPoE网络中将会面临以下安全威胁:

·     大量用户短时间内频繁上下线,对设备处理性能造成冲击。

·     单个用户建立大量PPPoE会话,占用过多会话资源,导致其他用户无法上线。

·     非法用户可能会使用穷举法试探合法用户密码。

【安全加固策略】

针对以上安全威胁,可以在设备上配置如下安全功能,增强对PPPoE用户的管理和控制:

·     限制用户创建PPPoE会话的速度

对单个用户创建PPPoE会话的速度进行限制和监控。配置限制单个用户创建PPPoE会话的速度后,如果在监视时间段内某用户的会话请求数目达到配置的允许数目,则扼制该用户新的会话请求,即在监视时间段内该用户的超出允许数目的请求都会被丢弃,并输出对应的Log信息。如果扼制时间配置为0,表示不扼制会话请求,但仍然会输出Log信息。

·     限制创建PPPoE会话的最大数目

从不同的维度对创建的PPPoE会话的最大数目进行限制。配置允许创建PPPoE会话的最大数目后,系统将根据配置从不同的维度对创建的PPPoE会话的最大数目进行限制,当某维度已创建的PPPoE会话的数目达到最大值后,将不允许再创建新的PPPoE会话。

目前支持从以下几个维度对PPPoE会话的最大数目进行限制:

¡     接口上每个用户所能创建PPPoE会话的最大数目限制

¡     接口上每个VLAN所能创建PPPoE会话的最大数目限制

¡     接口上所能创建PPPoE会话的最大数目限制

¡     单板所能创建PPPoE会话的最大数目限制

·     PPPoE日志功能

提供日志信息帮助管理员及时掌握当前网络情况。开启PPPoE日志功能后,设备会对PPPoE达到会话限制的信息进行记录,包括接口会话限制、MAC会话限制、VLAN会话限制、系统会话限制。

·     PPPoE会话数目的日志告警功能

提供日志告警帮助管理员及时掌握当前网络情况。可通过本功能分别配置PPPoE会话数的上限和下限告警阀值,使得PPPoE会话数目大于或小于某个设定值时能够自动触发告警,便于管理员及时了解现网的在线用户情况。

·     PPPoE用户静默功能

对用户的认证次数进行监测。开启PPPoE用户静默功能后,当某PPPoE用户在检测周期内的上下线次数或请求连接次数达到指定次数时,将被静默一段时间,在静默周期内设备直接丢弃来自此PPPoE用户的报文。静默期后,如果设备再次收到该PPPoE用户的报文,则依然可以对其进行认证处理。

【注意事项】

·     PPPoE会话的最大数目

¡     系统创建PPPoE会话时,需同时配置的所有维度的限制,若其中任何一项不满足,则无法创建会话。

¡     如果配置的最大会话数小于当前接口上已经在线的会话数,则该配置可以执行成功,且在线的会话不会受影响,但系统将不允许在该接口上再创建新的会话。

¡     建议设备上配置的所有单板/成员设备所能创建PPPoE会话的最大数目之和,不要超过整机PPPoE的最大会话数(整机PPPoE的最大会话数由设备的缺省规格或授权的License规格决定),否则会有部分PPPoE用户因为整机最大用户数已达到而无法上线。

·     PPPoE会话数目的告警阈值

配置上限告警阈值必须大于下限告警阈值。

·     PPPoE用户静默功能

¡     您既可在系统视图下配置本功能也可在接口视图下配置本功能,前者对所有PPPoE用户生效,后者只对通过该接口接入的PPPoE用户生效。如果在两个视图下都配置本功能,则先达到静默条件的配置生效。

¡     开启基于MAC地址的PPPoE静默功能后,设备将根据用户MAC地址、最外层VLAN ID和用户接入接口所在slot三个字段信息唯一标识一个静默用户。

¡     开启基于Option 105地址的PPPoE静默功能后,设备将根据用户Circuit IDRemote ID和用户接入接口所在slot三个字段信息唯一标识一个静默用户。

【配置举例】

·     限制用户创建PPPoE会话的速度

# 配置当任意某PPPoE用户在80秒内创建的会话数达到100时,对该用户新的会话请求扼制10秒。(各参数仅为示例)

<Sysname> system-view

[Sysname] interface gigabitethernet 3/1/1

[Sysname-GigabitEthernet3/1/1] pppoe-server throttle per-mac 100 80 10

·     限制PPPoE会话的最大数目

¡     配置在接口上每个用户所能创建PPPoE会话的最大数目

# 配置在接口GigabitEthernet3/1/1下,每个用户所能创建PPPoE会话的最大数目为5050仅为示例)。

<Sysname> system-view

[Sysname] interface gigabitethernet 3/1/1

[Sysname-GigabitEthernet3/1/1] pppoe-server session-limit per-mac 50

¡     配置在接口上每个VLAN所能创建PPPoE会话的最大数目

# 配置在接口GigabitEthernet3/1/1.1下,每个VLAN所能创建PPPoE会话的最大数目为5050仅为示例)。

<Sysname> system-view

[Sysname] interface gigabitethernet 3/1/1.1

[Sysname-GigabitEthernet3/1/1.1] pppoe-server session-limit per-vlan 50

¡     配置接口上所能创建PPPoE会话的最大数目

# 配置接口GigabitEthernet3/1/1上所能创建PPPoE会话的最大数目为5050仅为示例)。

<Sysname> system-view

[Sysname] interface gigabitethernet 3/1/1

[Sysname-GigabitEthernet3/1/1] pppoe-server session-limit 50

¡     配置系统所能创建PPPoE会话的最大数目

# 配置指定slot上所能创建PPPoE会话的最大数目为30003000仅为示例)。

<Sysname> system-view

[Sysname] pppoe-server session-limit slot 2 total 3000

# 配置指定成员设备指定slot上的所能创建PPPoE会话的最大数目为30003000仅为示例)。(IRF模式)

[Sysname] pppoe-server session-limit chassis 1 slot 2 total 3000

·     PPPoE日志功能

# 开启PPPoE日志信息功能。

<Sysname> system-view

[Sysname] pppoe-server log enable

·     PPPoE会话数目的告警阈值

# 配置每单板上线PPPoE会话数据的上限和下限告警阈值分别为该单板允许上线PPPoE会话的最大数目的80%20%(各参数仅为示例)。

<Sysname> system-view

[Sysname] pppoe-server session-threshold upper-limit 80

[Sysname] pppoe-server session-threshold lower-limit 20

·     PPPoE用户静默功能

¡     开启基于MAC地址的全局PPPoE用户静默功能。

# 配置当任意某PPPoE用户在500秒内请求连接次数达到100次时,基于MAC地址对该用户静默1000秒。(各参数仅为示例)

<Sysname> system-view

[Sysname] pppoe-server connection chasten 100 500 1000

¡     开启基于MAC地址的接口PPPoE用户静默功能。

# 配置当任意某PPPoE用户在500秒内请求连接次数达到100次时,基于MAC地址对该用户静默1000秒。(各参数仅为示例)

<Sysname> system-view

[Sysname] interface gigabitethernet 3/1/1

[Sysname-GigabitEthernet3/1/1] pppoe-server connection chasten 100 500 1000

¡     开启基于option105全局PPPoE用户静默功能

# 配置当任意某PPPoE用户在500秒内请求连接次数达到100次时,基于option105对该用户静默1000秒。(各参数仅为示例)

<Sysname> system-view

[Sysname] pppoe-server connection chasten option105 100 500 1000

¡     开启基于option105接口PPPoE用户静默功能

# 配置当任意某PPPoE用户在500秒内请求连接次数达到100次时,基于option105对该用户静默1000秒。(各参数仅为示例)

<Sysname> system-view

[Sysname] interface gigabitethernet 3/1/1

[Sysname-GigabitEthernet3/1/1] pppoe-server connection chasten option105 100 500 1000

2. PPPoE协议报文安全

【安全威胁】

PPPoE网络中将会面临以下安全威胁:

·     非法用户通过协议报文发起攻击占用设备大量系统资源,对设备进行拒绝服务攻击。

·     在设备重启或者版本升级等情况下,大量PPPoE用户的突发上线请求对设备的CPU处理性能造成影响,导致部分用户无法正常上线。

【安全加固策略】

针对以上安全威胁,可以在设备上配置如下安全功能,增强对PPPoE协议报文的安全管理:

·     PPPoE协议报文防攻击功能

PPPoE协议报文进行限速可防止大量用户频繁上下线或非法用户通过协议报文发起攻击占用设备大量系统资源。配置本功能后,当PPPoE Serverinterval时间内从某接口接收到的PPPoE协议报文个数达到number时,将对后续从该接口接收的PPPoE协议报文进行限速,限速时长为rate-limit-period在限速时长内,当接口收到超过限速值的PPPoE协议报文时,超速部分的报文将被丢弃。限速时长结束后,将解除对该接口接收PPPoE协议报文的限速。

·     PADI报文限速功能

在设备重启或者版本升级等情况下,为避免大量PPPoE用户的突发上线请求对设备性能造成影响,同时又确保PPPoE用户能够平稳上线,可以通过本功能调整设备接收PADI报文的速率。

·     PADI/PADR报文检查

通过配置PPPoE ServerService Name,当PPPoE Server收到客户端的PADI/PADR报文时,需要检查报文中的Service Name TAG字段并和本机上配置的Service Name进行匹配,只有匹配成功,PPPoE Server才会接受PPPoE Client的会话建立请求。

不同匹配模式下的匹配规则有所不同,具体请见4-1

表4-1 Service Name匹配规则

匹配模式

PPPoE Client

PPPoE Server

匹配结果

精确匹配

未指定Service Name

配置的Service Name数目小于8

成功

配置的Service Name数目等于8

失败

指定Service Name

已配置和客户端相同的Service Name

成功

不存在和客户端相同的Service Name

失败

模糊匹配

未指定Service Name

任何配置

成功

指定Service Name

已配置和客户端相同的Service Name,或配置的Service Name数目小于8

成功

不存在和客户端相同的Service Name,且配置的Service Name数目等于8

失败

 

【注意事项】

每接口下最多可配置8Service Name

【配置举例】

·     PPPoE协议报文防攻击功能

# 在接口GigabitEthernet3/1/1上配置当接口在60秒内收到PPPoE协议报文个数达到1000时,对后续从该接口接收的PPPoE协议报文进行限速,限速时长300秒。(各参数仅为示例)

<Sysname> system-view

[Sysname] interface gigabitethernet 3/1/1

[Sysname-GigabitEthernet3/1/1] pppoe-server connection chasten per-interface 1000 60 300

·     PADI报文限速功能

# 配置指定slot每秒最多能够接收100PADI报文(100仅为示例)。

<Sysname> system-view

[Sysname] pppoe-server padi-limit slot 3 100

·     PADI/PADR报文检查

# 在接口GigabitEthernet3/1/1上配置PPPoE ServerService Name匹配模式为精确匹配。

<Sysname> system-view

[Sysname] interface gigabitethernet 3/1/1

[Sysname-GigabitEthernet3/1/1] pppoe-server service-name-tag exact-match

# 在接口GigabitEthernet3/1/1上配置PPPoE ServerService Namepppoespppoes仅为示例)。

[Sysname-GigabitEthernet3/1/1] pppoe-server tag service-name pppoes

4.4.3  L2TP

说明

RX8800不支持本特性。

 

1. L2TP用户认证

【安全加固策略】

通过与AAA的配合,L2TP提供了对用户进行安全认证的手段,具体包括以下几种方式。

·     LAC端的AAA认证

用户身份认证通过后,LAC才能发起建立隧道的请求,否则不会为用户建立隧道。

若采用本地AAA认证,则必须为L2TP用户配置本地用户的用户名和密码;若采用远程AAA认证,则必须为L2TP用户配置远程用户的用户名和密码。

·     LNS端的AAA认证

用户身份认证通过后,远端系统才可以通过LNS访问企业内部网络。

若采用本地AAA认证,则必须为L2TP用户配置本地用户的用户名和密码;若采用远程AAA认证,则必须为L2TP用户配置远程用户的用户名和密码。

LAC端对用户进行验证后,为了增强安全性,可在LNS端再次对用户进行验证。在这种情况下,将对用户进行两次验证,第一次发生在LAC端,第二次发生在LNS端,只有两次验证全部成功后,L2TP隧道才能建立。

目前,LNS端对用户的验证方式按优先级从高到底依次为强制LCP重协商、强制CHAP验证和代理验证三种。

¡     强制LCP重协商:在L2TP客户端对用户进行验证后,再由L2TP服务器端采用强制LCP重协商方式对用户进行二次LCP协商及认证,增强安全性。

¡     强制CHAP验证:在L2TP客户端对用户进行验证后,再由L2TP服务器端采用CHAP方式对用户进行二次认证,增强安全性。

¡     代理验证:由LAC代替LNS对用户进行验证,并将用户的所有验证信息及LAC端本身配置的验证方式发送给LNSLNS根据接收到的信息及本端配置的验证方式,判断用户是否合法。

【注意事项】

LNS端的AAA认证:

·     强制LCP重协商和强制CHAP验证两种验证方式仅适用于NAS-Initiated模式的L2TP组网。

·     如果同时配置了强制LCP重协商和强制CHAP验证两种验证方式,则仅强制LCP重协商生效。

·     如果未配置强制LCP重协商和强制CHAP验证,则对用户进行代理验证。

·     强制CHAP验证

¡     配置强制CHAP验证时,在LNSVT接口下必须且只能配置PPP用户的验证方式为CHAP认证。

¡     对于不支持进行第二次验证的用户,不建议配置本功能,否则将因LNS端的CHAP重新验证失败而导致L2TP隧道无法建立。

·     强制LCP重新协商

启用强制LCP重协商后,如果相应的虚拟模板接口上没有配置验证,则LNS将不对用户进行二次验证(这时用户只在LAC端接受一次验证)。

【配置举例】

·     配置LAC端的AAA认证

AAA相关的配置请参见“安全配置指导”中的“AAA”。

配置LAC端的AAA认证时,接入用户的接口上需要配置PPP用户的验证方式为PAPCHAP,配置方法请参见“二层技术-广域网接入配置指导”中的“PPP”。

·     配置LNS端的AAA认证

AAA相关的配置请参见“安全配置指导”中的“AAA”。

¡     配置强制LCP重新协商

# 强制LNS与用户进行LCP协商。

<Sysname> system-view

[Sysname] l2tp-group 1 mode lns

[Sysname-l2tp1] mandatory-lcp

¡     配置强制CHAP验证

# 强制LNS对用户进行CHAP验证。

<Sysname> system-view

[Sysname] l2tp-group 1 mode lns

[Sysname-l2tp1] mandatory-chap

# 进入VT接口并在该接口下配置PPP用户的验证方式为CHAP认证。

关于VT接口配置的详细介绍,请参见“二层技术-广域网接入配置指导”中的“PPP”。

2. L2TP隧道及数据安全

【安全威胁】

L2TP网络中将会面临以下安全威胁:

·     非法对端和本端建立L2TP隧道,窃取本端内部数据。

·     非法用户窃取采用明文方式传输AVP数据(例如隧道协商参数、会话协商参数和用户认证信息)。

【安全加固策略】

针对以上安全威胁,可以在设备上配置如下安全功能:

·     L2TP隧道验证

利用隧道验证判断对端的合法性。配置L2TP隧道验证后,仅在两端隧道验证通过后,二者之间才能成功建立L2TP隧道,增强网络的安全性。

·     AVP数据的隐藏传输

利用隧道验证密码对AVP数据进行加密传输。配置AVP数据的隐藏传输功能后,L2TP利用隧道验证密码对AVP数据(例如隧道协商参数、会话协商参数和用户认证信息)进行加密传输,增强数据传输的安全性。

【注意事项】

·     配置隧道验证

隧道建立成功后,修改隧道验证的密钥不影响当前隧道的正常通信;当隧道断开后重新建立时使用修改后的密钥进行隧道验证。

·     配置AVP数据的隐藏传输

只有使能了隧道验证功能,AVP数据的隐藏传输配置后才会生效。

【配置举例】

·     配置隧道验证

# 开启L2TP隧道验证功能。

<Sysname> system-view

[Sysname] l2tp-group 1 mode lns

[Sysname-l2tp1] tunnel authentication

# 以明文方式配置隧道验证密钥为&569pass1&569pass1仅为示例)

[Sysname-l2tp1] tunnel password simple &569pass1

·     配置AVP数据的隐藏传输

# 开启L2TP隧道验证功能。

<Sysname> system-view

[Sysname] l2tp-group 1 mode lac

[Sysname-l2tp1] tunnel authentication

# 以明文方式配置隧道验证密钥为&569pass1&569pass1仅为示例)。

[Sysname-l2tp1] tunnel password simple &569pass1

# 配置AVP数据采用隐藏方式传输。

[Sysname-l2tp1] tunnel avp-hidden

3. LAC/LNS设备性能安全

【安全威胁】

L2TP网络中,LNS设备可能会面临以下性能安全威胁:

·     在多个LAC设备接入同一个LNS设备的组网环境中,多个LAC设备可能会同时发起L2TP隧道建立请求,并且每个隧道中又会发送大量的会话建立请求,此时会造成LNS设备因不能及时处理请求报文导致用户无法正常上线。

·     大量L2TP用户的突发上线请求对设备性能造成影响。

·     乱序报文过多对设备性能造成影响。

·     本端收到的报文超出本端处理报文的能力范围,导致部分用户上线失败。

【安全加固策略】

针对以上安全威胁,可以在设备上配置如下安全功能,减少对设备性能的影响,确保L2TP用户能够平稳上下线:

·     配置LNS端每秒能处理ICRQ报文的最大数目

通过配置LNS端每秒能处理ICRQ报文的最大数目来限制设备接收处理ICRQ报文的速率。配置LNS端每秒能处理ICRQ报文的最大数目后,当LNS端每秒收到的ICRQ报文数大于配置值时,丢弃超出的部分,从而避免大量L2TP用户的突发上线请求对设备性能造成影响,同时又确保L2TP用户能够平稳上线。

·     配置LNS端每秒能处理SCCRQ报文的最大数目

通过配置LNS端每秒能处理SCCRQ报文的最大数目来限制设备接收处理SCCRQ报文的速率。配置LNS端每秒能处理SCCRQ报文的最大数目后,当LNS端每秒收到的SCCRQ报文数大于配置值时,丢弃超出的部分,从而避免大量隧道和会话建立请求对LNS设备性能造成影响,同时又确保L2TP用户能够平稳上线。

·     配置L2TP隧道接收窗口的大小

利用隧道接收窗口优化提高对乱序报文的处理效率。如果乱序报文过多,可以通过调整L2TP接收窗口的大小进行缓解。当出现乱序报文的时候,如果乱序报文NSL2TP报文中用于标识当前报文序列号的字段)在接收窗范围内,设备会先将报文缓存起来,等待NS等于接收窗下沿的报文到达。当收到NS等于接收窗下沿的报文时,则对其(NS等于接收窗下沿的报文)进行处理,处理完该报文后,接收窗下沿加1;如果此时缓存中存在NS等于接收窗下沿的报文,则继续处理;如不存在,则继续等待NS等于接收窗下沿的报文到达;依次类推。对于超过接收窗范围的报文进行丢弃。

·     配置L2TP隧道发送窗口的大小

利用隧道发送窗口平衡隧道两端的报文收发处理能力,优化提高报文处理效率。

在某些组网中可能出现对端的报文接收处理能力和对端接收窗口的大小不匹配的情况(例如:对端实际的报文接收处理能力为10,但接收窗口的大小为20),此时可以通过本特性调整本端L2TP隧道发送窗口的大小来适配对端的实际报文接收处理能力,以保证L2TP用户平稳上线。

【注意事项】

·     配置LNS端每秒能处理SCCRQ报文的最大数目

配置LNS端每秒能处理SCCRQ报文的最大数目后,设备会采用一定的算法把每秒能处理SCCRQ报文的最大数目从1逐渐增大到配置值,而非立即按配置值进行限速。故在设备每秒能处理SCCRQ报文的最大数目增大到配置值之前,即使某时刻收到的SCCRQ报文数小于配置值,也可能存在SCCRQ报文被丢弃的情况。

·     配置L2TP隧道接收窗口的大小

L2TP隧道建立时,接收窗口大小以L2TP组视图下配置的接收窗口大小为准。隧道建立完成后通过本特性修改L2TP隧道接收窗口的大小对已经建立的隧道接收窗口的大小无影响。

·     配置L2TP隧道发送窗口的大小

L2TP隧道建立时会获取L2TP组视图下配置的发送窗口大小。如果配置的发送窗口大小为0,则按缺省情况处理;如果配置的发送窗口大小非0,则以配置的发送窗口大小为准。隧道建立完成后通过本配置修改L2TP隧道发送窗口的大小对已经建立的隧道发送窗口的大小无影响。

【配置举例】

·     配置LNS端每秒能处理ICRQ报文的最大数目

# 配置LNS端每秒最多能处理200ICRQ报文(200仅为示例)。

<Sysname> system-view

[Sysname] l2tp icrq-limit 200

·     配置LNS端每秒能处理SCCRQ报文的最大数目

# 配置LNS端每秒最多能处理200SCCRQ报文(200仅为示例)。

<Sysname> system-view

[Sysname] l2tp sccrq-limit 200

·     配置L2TP隧道接收窗口的大小

# 配置隧道的接收窗口大小为128128仅为示例)。

<Sysname> system-view

[Sysname] l2tp-group 1 mode lac

[Sysname-l2tp1] tunnel window receive 128

·     配置L2TP隧道发送窗口的大小

# 配置隧道的发送窗口大小为128128仅为示例)。

<Sysname> system-view

[Sysname] l2tp-group 1 mode lac

[Sysname-l2tp1] tunnel window send 128

4. 上线L2TP会话数目的告警功能

【安全加固策略】

利用日志告警帮助管理员及时掌握当前网络情况。可通过分别配置L2TP会话数的上限和下限告警阀值,使得L2TP会话数目大于或小于某个设定值时能够自动触发告警,便于管理员及时了解现网的在线用户情况。

【注意事项】

配置上限告警阈值必须大于下限告警阈值。

【配置举例】

# 配置整机上线L2TP会话数目的上限和下限告警阈值分别为允许上线L2TP会话的最大数目的80%20%(各参数仅为示例)。

<Sysname> system-view

[Sysname] l2tp session-threshold upper-limit 80

[Sysname] l2tp session-threshold lower-limit 20

4.4.4  IPoE

说明

RX8800不支持本特性。

 

1. 增强对IPoE用户的管理和控制

【安全威胁】

IPoE网络中将会面临以下安全威胁:

·     一类用户建立大量IPoE会话,占用过多会话资源,导致其他用户无法上线。

·     非法用户可能会使用穷举法试探合法用户密码。

·     用户使用非法IP地址访问网络资源。

·     在同时开启Portal功能和DHCP报文触发IPoE认证功能的网络中,非法用户触发IPoE接入认证。

【安全加固策略】

针对以上安全威胁,可以在设备上配置如下安全功能,增强对IPoE用户的管理和控制:

·     IPoE会话的最大数

从不同的角度对创建的IPoE会话数进行控制。由于控制的角度不同,两种方式同时配置时会话数会受到双重限制,即仅在两者均未达到最大会话数限制时才允许创建新的会话。

¡     配置动态个人会话的最大数目

通过配置动态个人会话的最大数目可以控制系统中的动态个人接入用户总数。

¡     配置IPoE个人会话和专线子用户会话的最大总数目

通过配置IPoE个人会话和专线子用户会话的最大总数目可以控制系统中的个人接入用户(包括动态个人和静态个人)和专线子用户的总数。

·     IPoE日志功能

提供日志信息帮助管理员及时掌握当前网络情况。开启IPoE日志功能后,设备会对用户的上线成功、上线失败、正常下线和异常下线的信息进行记录,包括用户名、IP地址、接口名称、两层VLANMAC地址、上线失败原因、下线原因等

·     IPoE会话数目的日志告警功能

提供日志告警帮助管理员及时掌握当前网络情况。可通过本功能分别配置IPoE会话数的上限和下限告警阀值,使得IPoE会话数目大于或小于某个设定值时能够自动触发告警,便于管理员及时了解现网的在线用户情况。

·     IPoE接入用户的静默功能

对用户的认证次数进行监测。开启IPoE用户静默功能后,当某IPoE用户在指定检测周期内连续认证失败次数达到允许的最大值时,将被静默一段时间,在静默周期内设备直接丢弃来自此用户的报文,以降低非法用户使用穷举法试探合法用户密码的成功率,同时避免设备持续向认证服务器转发该IPoE用户的认证报文而对设备的CPU处理性能造成影响。静默期后,如果设备再次收到该用户的报文,则依然可以对其进行认证处理。

·     未知源个人接入用户的信任IP地址/地址范围

对未知源IP用户的地址进行检查。配置未知源个人接入用户的信任IP地址/地址范围后,按如下原则对报文进行处理:

(实现方式一)

¡     如果IP报文中的源地址是信任IP地址,则触发IPoE接入认证。

¡     如果IP报文中的源地址是非信任IP地址,则不允许触发IPoE接入认证,直接丢弃报文。

(实现方式二)

¡     若接口上同时开启Portal和未知源IPoE报文触发生成IPoE会话功能,使设备根据接口上收到的IP报文中源地址是否是信任IP地址,分别做如下不同的处理:

-     如果未知源IP报文能够匹配静态IPoE会话,则不论IP报文中源地址是否是信任的IP地址,都直接走IPoE静态用户上线流程。

-     如果未知源IP报文未能匹配静态IPoE会话,当IP报文中源地址是信任的IP地址时,触发未知源IPoE认证,否则,不会触发IPoE接入认证,用户直接进入Portal认证流程。

¡     若接口仅开启未知源IP报文触发生成IPoE会话功能,未开启Portal功能,设备根据接口上收到的IP报文中源地址是否是信任IP地址,分别做如下不同的处理:

-     如果未知源IP报文能够匹配静态IPoE会话,则不论IP报文中源地址是否是信任的IP地址,都直接走IPoE静态用户上线流程。

-     如果未知源IP报文未能匹配静态IPoE会话,则只有当未知源IP报文的IP地址与配置的信任IP地址匹配时才会触发IPoE接入认证,否则丢弃报文。

·     DHCP个人接入用户的信任认证域

DHCP报文中的Option信息进行检查。在同时开启Portal功能和DHCP报文触发IPoE认证功能的网络中,可配置DHCP个人接入用户的信任认证域,使设备对收到的DHCP报文中携带的Option信息进行检查,仅检查通过后才允许该报文触发IPoE接入认证,否则,不允许触发IPoE接入,直接进入Portal认证流程。

【注意事项】

·     配置IPoE会话的最大数目

¡     配置动态个人会话的最大数目

在双栈IPoE组网应用中,建议:

-     对于DHCP接入用户:DHCPv4DHCPv6,二者配置相同的最大会话数。

-     对于未知源IP接入用户:未知源IPv4和未知源IPv6,二者配置相同的最大会话数。

¡     配置IPoE个人会话和专线子用户会话的最大总数目

创建的IPoE会话数目包括IPv4单栈会话数目、IPv6单栈会话数目和双栈会话数目,其中,单栈用户占用一个会话资源,双栈用户占用一个会话资源;如果某单栈用户已经成功上线,那么同一用户的另一协议栈可以直接上线,双栈共用一个会话资源。

¡     公共注意事项

当接口上已创建的IPoE会话的总数目达到最大值后,则不允许再创建新的IPoE会话。

如果接口上配置的最大会话数小于当前接口上已经在线的会话数,则该配置可以执行成功,且在线的会话不会受影响,但系统将不允许在该接口上再创建新的会话。

建议保证所有开启IPoE的接口上配置的最大会话数目之和,不要超过整机IPoE的最大会话数目(整机IPoE的最大会话数目由设备的缺省规格或授权的License规格决定),否则会有部分IPoE用户因为整机最大用户数已达到而无法上线。

如果安装的License规格小于系统当前处于在线状态的动态个人会话数目,则该License可以安装成功,且在线IPoE用户不受影响,但系统将不允许新的IPoE用户接入。

·     IPoE会话数目的告警阈值

配置上限告警阈值必须大于下限告警阈值。

·     IPoE接入用户的静默功能

对于未构成双栈IPoE会话的用户,两个协议栈的认证失败次数是分开统计,当且仅当某个协议栈在一个检测周期内连续认证失败次数达到最大值时,该双栈用户才会被静默。对于已构成双栈IPoE会话的用户,两个协议栈的认证失败次数是统一统计,只要该用户在一个检测周期内连续认证失败次数达到最大值,该用户就会被静默。

·     未知源个人接入用户的信任IP地址/地址范围

本功能对未知源IP个人用户和专线的未知源IP子用户生效。

·     配置DHCP个人接入用户的信任认证域

仅在配置信任Option 60/Option 16/Option 17的情况下,才支持使用这些Option中的信息作为认证域

【配置举例】

·     配置IPoE会话的最大数目

¡     配置DHCP动态个人会话的最大数目

IPv4网络)

# 配置接口GigabitEthernet3/1/1上允许DHCPv4报文触发创建的IPoE会话的最大数目为100100仅为示例)。

<Sysname> system-view

[Sysname] interface gigabitethernet 3/1/1

[Sysname-GigabitEthernet3/1/1] ip subscriber dhcp max-session 100

IPv6网络)

# 配置接口GigabitEthernet3/1/1上允许DHCPv6报文触发创建的IPoE会话的最大数目为100100仅为示例)。

<Sysname> system-view

[Sysname] interface gigabitethernet 3/1/1

[Sysname-GigabitEthernet3/1/1] ip subscriber dhcpv6 max-session 100

¡     配置NDRS动态个人会话的最大数目

# 配置接口GigabitEthernet3/1/1上允许RS报文触发创建的IPoE会话的最大数目为100100仅为示例)。

<Sysname> system-view

[Sysname] interface gigabitethernet 3/1/1

[Sysname-GigabitEthernet3/1/1] ip subscriber ndrs max-session 100

¡     配置未知源动态个人会话的最大数目

IPv4网络)

# 配置接口GigabitEthernet3/1/1上允许未知源IPv4报文触发创建的IPoE会话的最大数目为100100仅为示例)。

<Sysname> system-view

[Sysname] interface gigabitethernet 3/1/1

[Sysname-GigabitEthernet3/1/1] ip subscriber unclassified-ip max-session 100

IPv6网络)

# 配置接口GigabitEthernet3/1/1上允许未知源IPv6报文触发创建的IPoE会话的最大数目为100100仅为示例)。

<Sysname> system-view

[Sysname] interface gigabitethernet 3/1/1

[Sysname-GigabitEthernet3/1/1] ip subscriber unclassified-ipv6 max-session 100

¡     配置IPoE个人会话和专线子用户会话的最大总数目

# 配置接口GigabitEthernet3/1/1上允许创建的IPoE个人会话和专线子用户会话的最大总数目为100100仅为示例)。

<Sysname> system-view

[Sysname] interface gigabitethernet 3/1/1

[Sysname-GigabitEthernet3/1/1] ip subscriber max-session 100

·     IPoE日志功能

# 开启IPoE接入用户日志信息功能。

<Sysname> system-view

(实现方式一)

[Sysname] ip subscriber access-user log enable

(实现方式二)

[Sysname] access-user log enable

·     IPoE会话数目的告警阈值

# 配置每单板上线IPoE会话数据的上限和下限告警阈值分别为该单板允许上线IPoE会话的最大数目的80%20%(各参数仅为示例)。

<Sysname> system-view

[Sysname] ip subscriber session-threshold upper-limit 80

[Sysname] ip subscriber session-threshold lower-limit 20

·     IPoE接入用户的静默功能

# 在接口GigabitEthernet3/1/1上开启IPoE用户的静默功能并指定静默时间为100100仅为示例)

<Sysname> system-view

[Sysname] interface gigabitethernet 3/1/1

[Sysname-GigabitEthernet3/1/1] ip subscriber timer quiet 100

# 在接口GigabitEthernet3/1/1上配置IPoE用户在60秒检测周期内连续认证失败达到5次时,将被静默100秒。(各参数仅为示例)

[Sysname-GigabitEthernet3/1/1] ip subscriber authentication chasten 5 60

·     配置未知源个人接入用户的信任IP地址/地址范围

¡     IPv4网络)

# 在接口GigabitEthernet3/1/1上配置只有IP地址在192.168.1.10192.168.1.100地址范围的IPv4个人用户需要进行IPoE认证。192.168.1.10192.168.1.100仅为示例)

<Sysname> system-view

[Sysname] interface gigabitethernet 3/1/1

[Sysname-GigabitEthernet3/1/1] ip subscriber unclassified-ip ip match 192.168.1.10 192.168.1.100

¡     IPv6网络)

# 在接口GigabitEthernet3/1/1上配置只有IPv6地址在2001::1:102001::1:100地址范围的IPv6个人用户需要进行IPoE认证。2001::1:102001::1:100仅为示例)

<Sysname> system-view

[Sysname] interface gigabitethernet 3/1/1

[Sysname-GigabitEthernet3/1/1] ip subscriber unclassified-ip ipv6 match 2001::1:10 2001::1:100

·     配置DHCP个人接入用户的信任认证域

¡     IPv4网络)

# 在接口GigabitEthernet3/1/1上配置设备信任DHCPv4报文中的Option 60

<Sysname> system-view

[Sysname] interface gigabitethernet 3/1/1

[Sysname-GigabitEthernet3/1/1] ip subscriber trust option60

# 在接口GigabitEthernet3/1/1上配置IPv4 DHCP个人接入用户在DHCP报文的Option 60字段中的信任字符串为ipoe,并使用该字符串作为用户的认证域。ipoe字符串在DHCP报文中Option 60字段的首部偏移1个字节后的10个字节内的任意位置匹配成功即可。(各参数仅为示例)

[Sysname-GigabitEthernet3/1/1] ip subscriber dhcp option60 match ipoe offset 1 length 10

¡     IPv6网络)

# 在接口GigabitEthernet3/1/1上配置设备信任DHCPv4报文中的Option 16

<Sysname> system-view

[Sysname] interface gigabitethernet 3/1/1

[Sysname-GigabitEthernet3/1/1] ip subscriber trust option16

# 在接口GigabitEthernet3/1/1上配置IPv6 DHCP个人接入用户在DHCPv6报文的Option 16字段中信任的字符串为ipoe,并使用该字符串作为用户的认证域。ipoe字符串在DHCPv6报文中Option 16字段的起始处偏移1个字节后的10个字节内任意位置匹配成功即可。(各参数仅为示例)

[Sysname-GigabitEthernet3/1/1] ip subscriber dhcpv6 option16 match ipoe offset 1 length 10

2. HTTP报文的快速应答功能

【安全威胁】

当用户使用浏览器进行Web认证时,如果访问的不是Portal Web服务器,接入设备会将此HTTP请求重定向到CPU,由CPU推送Portal Web服务器的Web认证页面。如果攻击者向设备发送大量的HTTP请求报文,会对设备造成拒绝服务攻击。

【安全加固策略】

可通过开启HTTP报文的快速应答功能,由设备上的硬件来识别HTTP请求报文并自动回复HTTP应答报文,从而减轻CPU的负担,避免成为拒绝服务攻击的目标。

【注意事项】

对于在开启快速应答功能前已经通过认证前域认证上线的用户,本功能开启后不立即生效,当该用户下线后再次通过认证前域上线或者该用户Web上线后再次回到认证前域时本功能才生效。

在同时配置本功能和无感知认证功能的情况下,当用户上线时先尝试按无感知认证方式接入,如果无法无感知(例如:无感知绑定查询请求超时或Portal返回的查询结果是用户未绑定),则由硬件应答推送Web认证页面。

在转发控制分离组网中,本功能仅在DP上配置后生效。

【配置举例】

# 在接口GigabitEthernet3/1/1上开启HTTP报文的快速应答功能。

<Sysname> system-view

[Sysname] interface gigabitethernet 3/1/1

[Sysname-GigabitEthernet3/1/1] ip subscriber http-fast-reply enable

3. 配置HTTPS重定向的SSL服务器端策略

【安全加固策略】

DHCP个人接入用户通过HTTPS报文触发Web认证时,如果用户想使用默认SSL服务器端策略,而是希望使用自定义的安全性更高的SSL服务器端策略保证HTTPS的交互过程,可以进行本配置。

【注意事项】

为避免在用户浏览器和设备建立SSL连接过程中用户浏览器出现“使用的证书不安全”的告警,需在设备上安装用户浏览器信任的证书。

【配置举例】

# 配置PKI策略,并成功申请或导入本地证书和CA证书。

具体配置请参见“安全配置指导”中的“PKI”。

# 配置自定义名称为https_redirectSSL服务器端策略,并指定使用已配置的PKI域。

具体配置请参见“安全配置指导”中的“SSL”。

4.4.5  802.1X

1. 802.1X静默功能

【安全威胁】

当认证失败的802.1X用户再次发起认证时,设备会对其进行认证处理。如果大量含有错误认证信息(例如错误用户名或错误的密码等)的802.1X用户频繁发起认证,会导致设备处理用户认证信息时占用大量资源,从而无法处理正常用户的认证信息。

【安全加固策略】

开启静默定时器功能后,当802.1X用户认证失败以后,设备静默一段时间,在静默期间,设备不对802.1X认证失败的用户进行认证处理。

在网络处在风险位置,容易受攻击的情况下,可以适当地将静默定时器值调大一些,反之,可以将其调小一些来提高对用户认证请求的响应速度。

【配置举例】

# 开启静默定时器功能,并配置静默定时器的值为100秒(100仅为示例)。

<Sysname> system-view

[Sysname] dot1x quiet-period

[Sysname] dot1x timer quiet-period 100

2. 在线用户握手安全功能

【安全威胁】

如果在线的802.1X认证用户使用非法的客户端与设备交互,会逃过代理检测、双网卡检测等iNode客户端的安全检查功能,存在安全隐患。

【安全加固策略】

开启在线用户握手安全功能后,设备会通过检验客户端上传的握手报文中携带的验证信息,来确认用户是否使用iNode客户端进行握手报文的交互。如果握手检验不通过,则会将用户置为下线状态。

【注意事项】

只有设备上的在线用户握手功能处于开启状态时,安全握手功能才会生效。

在线用户握手安全功能仅能在iNode客户端和iMC服务器配合使用的组网环境中生效。

【配置举例】

# 在端口GigabitEthernet1/0/1上开启在线用户握手安全功能。

<Sysname> system-view

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] dot1x handshake

[Sysname-GigabitEthernet1/0/1] dot1x handshake secure

4.4.6  Portal

说明

RX8800不支持本特性。

 

1. 控制Portal用户的接入

【安全威胁】

Portal组网环境中,设备将会面临以下安全威胁:

·     攻击者频繁发起HTTP/HTTPS请求,会产生大量匹配Portal重定向规则的HTTP/HTTPS报文,从而导致设备资源不足。

·     非法用户使用穷举法试探合法用户的密码。

·     非法用户接入网络。

【安全加固策略】

针对以上安全威胁,可以在设备上配置如下安全功能:

·     Portal HTTP/HTTPS防攻击功能

开启HTTP/HTTPS防攻击功能后,设备会基于目的IP地址统计匹配重定向规则的HTTP/HTTPS请求报文数。如果在统计时间间隔内,访问某一目的IP地址的报文统计数值达到了HTTP/HTTPS防攻击的触发阈值,访问该目的IP地址的报文将被视为攻击报文而丢弃,超过阻断时长后才能恢复对该目的IP地址的访问。还可通过配置HTTP/HTTPS防攻击中处于监控状态的最大目的IP地址数,只对该范围内的目的IP进行HTTP/HTTPS报文统计。

·     Portal认证失败后的用户阻塞功能

如果在指定时间内用户进行Portal认证失败的次数达到指定值,该用户将被阻塞一段时间,即在此时间段内来自该用户的认证请求报文将被丢弃。

·     Portal仅允许DHCP用户上线

通常,攻击者的IP地址为静态配置的,因此通过禁止IP地址为静态配置的Portal认证用户上线可以一定程度上避免被攻击的风险。

【注意事项】

Portal仅允许DHCP用户上线功能,仅在采用接入设备作为DHCP服务器的组网中生效,且不会影响已经在线的用户。

IPv6网络中,开启Portal仅允许DHCP用户上线功能后,终端仍会使用临时IPv6地址进行Portal认证,从而导致认证失败,所以终端必须关闭临时IPv6地址。

Portal认证前域中的用户在指定时间内认证失败达到限定次数后不会被阻塞。

对于无线应用,单用户Portal重定向的最大会话数功能仅在集中转发模式生效。

【配置举例】

·     Portal HTTP/HTTPS防攻击功能

# 开启Portal HTTP/HTTPS防攻击功能。

<Sysname> system-view

[Sysname] portal http-defense enable

# 配置Portal HTTP/HTTPS防攻击报文的阻断时长为5分钟,统计时间为2分钟,触发HTTP/HTTPS防攻击的报文阈值为200(各参数仅为示例)。

[Sysname] portal http-defense block-timeout 5 statistics-interval 2 threshold 200

# 配置Portal HTTP/HTTPS防攻击的最大目的IP地址数为20002000仅为示例)

[Sysname] portal http-defense max-ip-number 2000

·     Portal认证失败后的用户阻塞功能

# 配置在100分钟内用户进行Portal认证失败次数达到2次时被阻塞。

<Sysname> system-view

[Sysname] portal user-block failed-times 2 period 100

# 配置被阻塞用户重新进行Portal认证的时间间隔为20分钟。

[Sysname] portal user-block reactive 20

·     Portal仅允许DHCP用户上线

# 在接口GigabitEthernet1/0/1上配置仅允许通过DHCP获取IP地址的客户端上线功能。

<Sysname> system-view

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] portal user-dhcp-only

2. 限制Portal最大用户数

【安全加固策略】

在线Portal用户数过多,会导致系统资源不足。为解决这个问题,可以限制在线Portal用户数,当在线Portal用户数超过设定的最大值时,系统会拒绝新的Portal用户接入。

【注意事项】

建议将全局最大Portal用户数配置为所有开启Portal的接口或无线服务模板上的最大IPv4 Portal用户数和最大IPv6 Portal用户数之和,但不超过整机最大Portal用户数,否则会有部分Portal用户因为整机最大用户数已达到而无法上线。

【配置举例】

·     配置全局Portal最大用户数

# 配置全局Portal最大用户数为100

<Sysname> system-view

[Sysname] portal max-user 100

·     配置接口上的Portal最大用户数

¡     IPv4网络)

# 在接口GigabitEthernet1/0/1上配置IPv4 Portal最大用户数为100

<Sysname> system-view

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] portal ipv4-max-user 100

¡     IPv6网络)

# 在接口GigabitEthernet1/0/1上配置IPv6 Portal最大用户数为100

<Sysname> system-view

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] portal ipv6-max-user 100

3. Portal授权信息严格检查

【安全加固策略】

严格检查模式用于配合服务器上的用户授权控制策略,它仅允许接口上成功下发了授权信息的用户在线。开启Portal授权信息的严格检查模式后,当认证服务器下发的授权ACLUser Profile在设备上不存在或者设备下发ACLUser Profile失败时,设备将强制Portal用户下线。若同时开启了对授权ACL和对授权User Profile的严格检查模式,则只要其中任意一个授权属性未通过严格授权检查,则用户就会下线。

【配置举例】

# 在接口GigabitEthernet1/0/1上开启对授权ACL的严格检查模式。

<Sysname> system-view

[Sysname] interface gigabitethernet 1/0/1

[Sysname–GigabitEthernet1/0/1] portal authorization acl strict-checking

4.4.7  HTTPS重定向

1. 设置HTTPS重定向报文的速率

【安全威胁】

设备处理大量HTTPS报文时,会导致设备CPU负担过重,进而影响设备上其他业务的正常运行。

【安全加固策略】

可以通过限制上送CPU的重定向HTTPS报文的速率来增强安全性,当设备收到的重定向HTTPS报文速率超过用户设定的限速值时,丢弃超过速率限制的重定向HTTPS报文。

【注意事项】

设置本速率会对需要重定向用户HTTPS请求的业务有影响,尤其是认证相关功能,因此建议根据实际组网合理设置,避免影响用户上线速率。

【配置举例】

# 设置HTTPS重定向报文的速率为200200仅为示例)。

<Sysname> system-view

[Sysname] http-redirect https-rate-limit 200

4.5  DHCP安全

4.5.1  DHCP泛洪类攻击防范功能

说明

RX8800不支持DHCP Flood攻击防范功能和DHCP接口攻击抑制功。

 

【安全威胁】

攻击源发送大量DHCP请求报文给DHCP服务器,占用DHCP服务器大量的CPU资源并耗尽DHCP服务器上的地址空间,使合法的DHCP客户端无法获取到IP地址。

【安全加固策略】

·     DHCP Flood攻击防范功能

当某个MAC地址对应的DHCP Flood攻击表项老化时间到达后,设备会检查接口表项报文抑制速率,如果速率小于DHCP Flood攻击报文速率阈值,设备会删除此表项。设备再次收到源MAC地址为此MAC地址的DHCP请求报文时,会重新统计接收到的报文数目;如果速率大于等于DHCP Flood攻击报文速率阈值,则设备不会删除此表项,老化时间重新刷新。

·     DHCP接口攻击抑制功能

DHCP服务器/DHCP中继接口开启DHCP接口攻击抑制功能后,该接口收到DHCP报文后,会统计收到的DHCP报文数,同时创建一个check状态的DHCP接口攻击抑制表项。当接口收到的DHCP报文数在指定的时间内达到配置的最大报文数时,则认为该接口受到了DHCP报文攻击,DHCP接口攻击抑制表项状态从check状态变成restrain状态。在DHCP接口攻击抑制表项的老化时间到期之前,设备会限制被攻击的接口每秒钟接收DHCP报文的速率,防止DHCP攻击报文持续冲击CPU。当某个接口对应的DHCP接口攻击抑制表项老化时间到达后,接口会查询当前接口收到报文的速率,如果速率达不到攻击标准,设备会删除此表项,接口再次收到DHCP报文时,会重新统计接收到的报文数目;如果速率超过攻击标准,则DHCP接口攻击抑制表项老化时间重新刷新。

·     DHCP报文限速功能

配置DHCP服务器/DHCP中继接口的DHCP报文限速功能后,当接口上收到的DHCP报文速率超过用户设定的限速值时,丢弃超过速率限制的DHCP报文。

【注意事项】

DHCPDHCPv6组网中均支持DHCP Flood攻击防范功能和DHCP接口攻击抑制功能

【配置举例】

·     在普通组网配置DHCP Flood攻击防范功能。

# 配置DHCP Flood攻击检测最大报文数为2,检测时间为9000毫秒(本例中的参数仅为示例)。

<Sysname> system-view

[Sysname] dhcp flood-protection threshold 2 9000

# 配置DHCP Flood攻击表项老化时间为90秒(本例中的参数仅为示例)。

[Sysname] dhcp flood-protection aging-time 90

# 在接口GigabitEthernet1/0/1上开启DHCP Flood攻击防范功能。

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] dhcp flood-protection enable

·     VXLAN组网配置DHCP Flood攻击防范功能。

# 配置DHCP Flood攻击检测最大报文数为2,检测时间为9000毫秒(本例中的参数仅为示例)。

<Sysname> system-view

[Sysname] dhcp flood-protection threshold 2 9000

# 配置DHCP Flood攻击表项老化时间为90秒(本例中的参数仅为示例)。

[Sysname] dhcp flood-protection aging-time 90

# VSI 1上开启DHCP Flood攻击防范功能。

[Sysname] vsi 1

[Sysname-vsi-1] dhcp flood-protection enable

·     配置DHCPv6 Flood攻击防范功能

# 配置DHCPv6 Flood攻击检测最大报文数为2,检测时间为9000毫秒(本例中的参数仅为示例)

<Sysname> system-view

[Sysname] ipv6 dhcp flood-protection threshold 2 9000

# 配置DHCPv6 Flood攻击表项老化时间为90秒。

[Sysname] ipv6 dhcp flood-protection aging-time 90

# 在接口GigabitEthernet1/0/1上开启DHCPv6 Flood攻击防范功能。

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] ipv6 dhcp flood-protection enable

·     配置DHCP接口攻击抑制功能。

# 配置DHCP接口攻击抑制检测最大报文数为2000,检测时间为9000毫秒(本例中的参数仅为示例)

<Sysname> system-view

[Sysname] dhcp interface-rate-suppression threshold 2000 9000

# 配置DHCP接口攻击抑制表项的老化时间为90秒(本例中的参数仅为示例)。

[Sysname] dhcp interface-rate-suppression aging-time 90

# 在接口GigabitEthernet1/0/1上开启DHCP接口攻击抑制功能。

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] dhcp interface-rate-suppression enable

·     配置DHCPv6接口攻击抑制功能

# 配置DHCPv6接口攻击抑制检测最大报文数为2000,检测时间为9000毫秒(本例中的参数仅为示例)

<Sysname> system-view

[Sysname] ipv6 dhcp interface-rate-suppression threshold 2000 9000

# 配置DHCPv6接口攻击抑制表项的老化时间为90秒(本例中的参数仅为示例)。

[Sysname] ipv6 dhcp interface-rate-suppression aging-time 90

# 在接口GigabitEthernet1/0/1下开启DHCPv6接口攻击抑制功能。

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] ipv6 dhcp interface-rate-suppression enable

·     配置DHCP服务器/DHCP中继接口的报文限速功能。

# 开启DHCP报文限速功能,即限制接口GigabitEthernet1/0/1接收DHCP报文的速率为64Kbps(本例中的参数仅为示例)。

<Sysname> system-view

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] dhcp rate-limit 64

4.5.2  防止DHCP饿死攻击功能

【安全威胁】

DHCP饿死攻击是指攻击者伪造chaddr字段各不相同的DHCP请求报文,向DHCP服务器申请大量的IP地址,导致DHCP服务器地址池中的地址耗尽,无法为合法的DHCP客户端分配IP地址,或导致DHCP服务器消耗过多的系统资源,无法处理正常业务。

【安全加固策略】

如果封装DHCP请求报文的数据帧的源MAC地址各不相同,则通过限制端口可以学习到的MAC地址数,并配置学习到的MAC地址数达到最大值时,丢弃源MAC地址不在MAC地址表里的报文,能够避免攻击者申请过多的IP地址,在一定程度上阻止了DHCP饿死攻击。此时,不存在DHCP饿死攻击的端口下的DHCP客户端可以正常获取IP地址,但存在DHCP饿死攻击的端口下的DHCP客户端仍可能无法获取IP地址。

如果封装DHCP请求报文的数据帧的MAC地址都相同,则通过上述方法无法防止DHCP饿死攻击。在这种情况下,需要开启DHCP服务器/DHCP中继的MAC地址检查功能。开启该功能后,DHCP服务器/DHCP中继检查接收到的DHCP请求报文中的chaddr字段和数据帧的源MAC地址字段是否一致。如果一致,则认为该报文合法,进行后续处理;如果不一致,则丢弃该报文。

【配置举例】

# 在接口GigabitEthernet1/0/1上开启DHCP服务器的MAC地址检查功能。

<Sysname> system-view

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] dhcp server check mac-address

# 在接口GigabitEthernet1/0/1上开启DHCP中继的MAC地址检查功能。

<Sysname> system-view

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] dhcp relay check mac-address

4.5.3  DHCP用户类白名单功能

【安全威胁】

DHCP支持按照用户类分配IP地址。DHCP服务器会根据用户所在的用户类,从对应的地址空间中选择地址分给用户。当某些用户类中存在攻击源时,攻击源获取到地址后,就能在网络中发起攻击行为。

【安全加固策略】

为了避免上述问题,用户可以将不存在攻击源的用户类加入白名单。DHCP服务器只有收到属于用户类白名单的DHCP客户端发送的请求报文,才会进行处理。

【注意事项】

·     如果某个用户类未加入白名单,则该用户类对应的所有DHCP客户端都无法获取到IP地址。

·     如果DHCP客户端请求的是静态绑定租约,则DHCP服务器不进行白名单检查直接处理。

【配置举例】

(实现形式一)

# DHCP地址池0中开启DHCP用户类白名单功能(本例中的参数仅为示例)。

<Sysname> syatem-view

[Sysname] dhcp server ip-pool 0

[Sysname-dhcp-pool-0] verify class

# DHCP地址池0中配置DHCP白名单包括的用户类名为test1test2

[Sysname-dhcp-pool-0] valid class test1 test2

(实现形式二)

# IP地址池0中开启DHCP用户类白名单功能(本例中的参数仅为示例)。

<Sysname> syatem-view

[Sysname] ip pool 0

[Sysname-ip-pool-0] verify class

# IP地址池0中配置DHCP白名单包括的用户类名为test1test2

[Sysname-ip-pool-0] valid class test1 test2

4.5.4  DHCP中继用户地址表项管理功能

【安全威胁】

在通过DHCP获取地址的组网环境中,所有合法客户端都通过DHCP方式获取到IP地址。某些非法主机使用自身伪造的IP地址发送攻击报文攻击网关,影响网关设备的正常工作。

【安全加固策略】

·     DHCP中继用户地址表项记录功能

开启本功能后,当客户端通过DHCP中继从DHCP服务器获取到IP地址时,DHCP中继可以自动记录客户端IP地址与硬件地址的绑定关系,生成DHCP中继的用户地址表项。

本功能与其他IP地址安全功能(如ARP地址检查、授权ARPIP Source Guard)配合,可以实现只允许匹配用户地址表项中绑定关系的报文通过DHCP中继。从而,保证非法主机不能通过DHCP中继与外部网络通信。

·     DHCP中继动态用户地址表项定时刷新功能

说明

BRAS组网环境中不建议开启该功能。

 

DHCP中继动态用户地址表项定时刷新功能开启时,DHCP中继每隔指定时间采用客户端获取到的IP地址向DHCP服务器发送DHCP-REQUEST报文:

¡     如果DHCP中继接收到DHCP服务器响应的DHCP-ACK报文或在指定时间内未接收到DHCP服务器的响应报文,则表明这个IP地址已经可以进行分配,DHCP中继会删除动态用户地址表中对应的表项。为了避免地址浪费,DHCP中继收到DHCP-ACK报文后,会发送DHCP-RELEASE报文释放申请到的IP地址。

¡     如果DHCP中继接收到DHCP服务器响应的DHCP-NAK报文,则表示该IP地址的租约仍然存在,DHCP中继不会删除该IP地址对应的表项。

·     DHCP中继的用户下线探测功能

如果在接口上配置了DHCP中继的用户下线检测功能,则当ARP表项老化时,DHCP中继认为该表项对应的用户已经下线,删除对应的用户地址表项,并通过发送Release报文通知DHCP服务器删除下线用户的IP地址租约。

【注意事项】

手工删除ARP表项,不会触发DHCP中继删除对应的用户地址表项。

【配置举例】

# 开启DHCP中继用户地址表项记录功能。

<Sysname> system-view

[Sysname] dhcp relay client-information record

# 开启DHCP中继动态用户地址表项定时刷新功能。

[Sysname] dhcp relay client-information refresh enable

# 配置DHCP中继动态用户地址表项的刷新时间间隔为100秒(本例中的参数仅为示例)。

[Sysname] dhcp relay client-information refresh interval 100

# 开启用户下线探测功能。

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] dhcp client-detect

4.5.5  DHCP中继支持代理功能

【安全威胁】

非法用户向DHCP服务器发送攻击报文后,影响DHCP服务器正常工作。

【安全加固策略】

开启DHCP中继支持代理功能后,DHCP中继收到DHCP服务器的应答报文,会把报文中的DHCP服务器地址修改为中继的接口地址,并转发给DHCP客户端。当DHCP客户端通过DHCP中继从DHCP服务器获取到IP地址等网络参数后,DHCP客户端会把DHCP中继当作自己的服务器,来进行后续的DHCP功能的报文交互。从而达到了把真正的DHCP服务器和DHCP客户端隔离开,保护DHCP服务器的目的。

【配置举例】

# 配置接口GigabitEthernet1/0/1工作在DHCP代理模式。

<Sysname> system-view

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] dhcp select relay proxy

4.5.6  DHCP Snooping

DHCP SnoopingDHCP的一种安全特性。DHCP Snooping设备位于DHCP客户端与DHCP服务器之间,或DHCP客户端与DHCP中继之间。DHCP Snooping的作用是:

·     保证客户端从合法的服务器获取IP地址

为了使DHCP客户端能通过合法的DHCP服务器获取IP地址,DHCP Snooping安全机制允许将端口设置为信任端口和不信任端口:

¡     信任端口正常转发接收到的DHCP报文。

¡     不信任端口接收到DHCP服务器响应的DHCP-ACKDHCP-OFFER报文后,丢弃该报文。

·     记录DHCP客户端IP地址与MAC地址的对应关系

DHCP Snooping通过监听DHCP-REQUEST报文和信任端口收到的DHCP-ACK报文,记录DHCP Snooping表项,其中包括客户端的MAC地址、DHCP服务器为DHCP客户端分配的IP地址、与DHCP客户端连接的端口及VLAN等信息DHCP Snooping表项可以供ARP DetectionIP Source Guard等安全功能使用。

关于DHCP Snooping的详细信息,请参见“三层技术-IP业务配置指导”中的“DHCP Snooping”。关于DHCPv6 Snooping的详细信息,请参见“三层技术-IP业务配置指导”中的“DHCPv6 Snooping”。

4.6  DNS安全

【安全威胁】

网络攻击者通过DHCP服务器为设备分配错误的域名后缀和域名服务器地址,会导致设备域名解析失败,或解析到错误的结果。

【安全加固策略】

在设备上指定DNS信任接口后,域名解析时只采用信任接口动态获得的域名后缀和域名服务器信息,非信任接口获得的信息不能用于域名解析,从而在一定程度上避免这类攻击。

【配置举例】

# 指定接口GigabitEthernet1/0/1DNS信任接口(本例中的参数仅为示例)。

<Sysname> system-view

[Sysname] dns trust-interface gigabitethernet 1/0/1

4.7  ICMP安全

【安全威胁】

ICMP差错报文通常被网络层或传输层协议用来在异常情况发生时通知相应设备,以便进行控制和管理。当网络攻击源发送ICMP差错报文进行恶意攻击时,会改变设备的报文转发路径,影响报文的正常发送。

【安全加固策略】

常见的ICMP差错报文包括ICMP重定向报文、ICMP超时报文和ICMP目的不可达报文。为了防止攻击,建议关闭这些ICMP报文发送功能。

【配置举例】

·     配置ICMPv4安全功能。

# 关闭设备的ICMP重定向报文发送功能。

<Sysname> system-view

[Sysname] undo ip redirects enable

# 关闭设备的ICMP超时报文发送功能。

[Sysname] undo ip ttl-expires enable

# 关闭设备的ICMP目的不可达报文发送功能。

[Sysname] undo ip unreachables enable

·     配置ICMPv6安全功能。

# 关闭设备的ICMPv6目的不可达报文发送功能。

<Sysname> system-view

[Sysname] undo ipv6 unreachables enable

# 关闭设备的ICMPv6超时报文发送功能。

[Sysname] undo ipv6 hoplimit-expires enable

# 关闭设备的ICMPv6重定向报文发送功能。

[Sysname] undo ipv6 redirects enable

4.8  TCP安全

4.8.1  SYN Cookie功能

【安全威胁】

SYN Flood攻击是指攻击者向设备发送大量请求建立TCP连接的SYN报文,而不回应设备的SYN ACK报文,导致设备上建立了大量的TCP半连接,从而达到耗费设备资源,使设备无法处理正常业务的目的。

【安全加固策略】

SYN Cookie功能用来防止SYN Flood攻击。配置SYN Cookie功能后,当设备收到TCP连接请求时,不建立TCP半连接,而直接向发起者回复SYN ACK报文。设备接收到发起者回应的ACK报文后,建立连接,并进入ESTABLISHED状态。通过这种方式,可以避免在设备上建立大量的TCP半连接。

【配置举例】

# 开启SYN Cookie功能。

<Sysname> system-view

[Sysname] tcp syn-cookie enable

4.8.2  禁止发送TCP报文时添加TCP时间戳选项信息

【安全威胁】

TCP报文携带TCP时间戳选项信息时,建立TCP连接的两台设备通过TCP报文中的时间戳字段就可计算出RTTRound Trip Time,往返时间)值。在某些组网中,TCP连接上的中间设备获取到TCP时间戳信息,学习到TCP连接成功的时间。如果中间设备存在攻击源,则TCP连接存在安全隐患。

【安全加固策略】

为了防止上述攻击,可以在TCP连接的任意一端关闭发送TCP报文时添加时间戳选项信息功能。

【配置举例】

# 配置发送TCP报文时不添加TCP时间戳选项信息。

<Sysname> system-view

[Sysname] undo tcp timestamps enable

4.9  路由协议安全

4.9.1  RIP/RIPng

【安全威胁】

攻击者仿冒RIP邻居或修改RIP路由信息,可能会使设备学习到错误的路由或引发网络中断。

【安全加固策略】

RIPRIPng提供了如下几种安全策略:

·     RIP-1RIPng报文的零域检查

RIP-1RIPng报文中的有些字段必须为零,称之为零域。用户可配置RIP-1在接收报文时对零域进行检查,零域值不为零的RIP-1报文将不被处理。

·     对接收到的RIP路由更新报文进行源IP地址检查

RIP在接收报文时进行源IP地址检查,即检查发送报文的接口IP地址与接收报文接口的IP地址是否处于同一网段。如果没有通过检查,则该RIP报文将不被处理。

·     RIPv2的报文认证机制

设备在发送报文时携带验证信息,在接收报文时对验证信息进行校验,如果报文校验失败,则该报文将被丢弃。这样可以避免设备接收无法信任的设备的RIPv2报文。

·     RIPng基于IPsec安全框架的认证方式

设备在发送的报文中会携带配置好的IPsec安全框架的SPISecurity Parameter Index,安全参数索引)值,接收报文时通过SPI值进行IPsec安全框架匹配:仅接收安全框架匹配的报文;否则该报文将被丢弃,无法正常建立邻居和学习路由IPsec安全框架的具体情况请参见“安全配置指导”中的“IPsec”。

【配置举例】

# 开启进程号为1RIP进程对RIP-1报文的零域检查功能。

<Sysname> system-view

[Sysname] rip

[Sysname-rip-1] checkzero

# 开启对接收到的RIP路由更新报文进行源IP地址检查的功能。

<Sysname> system-view

[Sysname-rip] rip 100

[Sysname-rip-100] validate-source-address

# 在接口GigabitEthernet1/0/1上配置RFC 2453格式的MD5明文验证,密钥为154&rose154&rose仅为示例)。

<Sysname> system-view

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] rip version 2

[Sysname-GigabitEthernet1/0/1] rip authentication-mode md5 rfc2453 plain 154&rose

# 开启进程号为100RIPng进程对RIPng报文的零域检查功能。

<Sysname> system-view

[Sysname] ripng 100

[Sysname-ripng-100] checkzero

# 配置接口GigabitEthernet1/0/1应用的IPsec安全框架为profile001profile001仅为示例)。

<Sysname> system-view

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] ripng ipsec-profile profile001

4.9.2  OSPF/OSPFv3

【安全加固策略】

OSPF/OSPFv3报文验证功能可避免路由信息外泄或者OSPF路由器受到恶意攻击。建立OSPF/OSPFv3邻居关系时,在发送的报文中携带配置的验证信息;接收报文时对验证信息进行校验。只有通过校验的报文才能接收,否则将不会接收报文,无法建立邻居。

除此之外,OSPFv3还可通过基于IPsec安全框架的认证方式来对OSPFv3报文进行有效性检查和验证。IPsec安全框架的详细介绍请参见“安全配置指导”中的“IPsec”。

【配置举例】

# 配置OSPF区域0使用MD5明文验证模式,验证字标识符为15,验证密钥为abc。(各参数仅为示例)

<Sysname> system-view

[Sysname] ospf 100

[Sysname-ospf-100] area 0

[Sysname-ospf-100-area-0.0.0.0] authentication-mode md5 15 plain abc

# 配置接口GigabitEthernet1/0/1采用MD5明文验证模式,验证字标识符为15,验证密钥为Ab&123456。(各参数仅为示例)

<Sysname> system-view

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] ospf authentication-mode md5 15 plain Ab&123456

# 配置OSPFv3区域1使用keychain验证模式,keychain名为testtest仅为示例)。

<Sysname> system-view

[Sysname] ospfv3 1

[Sysname-ospfv3-1] area 1

[Sysname-ospfv3-1-area-0.0.0.1] authentication-mode keychain test

# 配置OSPFv3进程1区域0的安全框架为profile001profile001仅为示例)。

<Sysname> system-view

[Sysname] ospfv3 1

[Sysname-ospfv3-1] area 0

[Sysname-ospfv3-1-area-0.0.0.0] enable ipsec-profile profile001

4.9.3  IS-IS

【安全加固策略】

IS-IS提供邻居关系验证、区域验证以及路由域验证功能。设备将验证密钥按照设定的方式封装到相应的报文中,在接收报文时检查报文中携带的验证密钥,如果验证密钥不匹配,则该报文将被丢弃。不同的IS-IS安全加固策略应用场景不同,具体如下:

·     邻居关系验证:可以确认邻居的正确性和有效性,防止与无法信任的路由器形成邻居。验证密钥将会按照设定的方式封装到Hello报文中,并检查接收到的Hello报文中携带的验证密钥,通过检查才会形成邻居关系,否则无法形成邻居关系。

·     区域验证:可以防止从不可信任的路由器学习到的路由信息加入到本地Level-1LSDB中。验证密钥将会按照设定的方式封装到Level-1报文(LSPCSNPPSNP)中,并检查收到的Level-1报文中携带的验证密钥,通过检查的Level-1报文才会被接收,否则该报文将会被丢弃。

·     路由域验证:可以防止将不可信的路由信息注入当前路由域。验证密钥将会按照设定的方式封装到Level-2报文(LSPCSNPPSNP)中,并检查收到的Level-2报文中携带的验证密钥,通过检查的Level-2报文才会被接收,否则该报文将会被丢弃。

【配置举例】

# 为接口GigabitEthernet1/0/1配置邻居关系采用简单明文验证模式,验证密钥为Ab&123456Ab&123456仅为示例)。

<Sysname> system-view

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] isis authentication-mode simple plain Ab&123456

# IS-IS进程1下配置区域采用简单明文验证模式,验证密钥为Ab&123456Ab&123456仅为示例)。

<Sysname> system-view

[Sysname] isis 1

[Sysname-isis-1] area-authentication-mode simple plain Ab&123456

# 配置路由域采用简单明文验证模式,认证密钥为Ab&123456Ab&123456仅为示例)。

<Sysname> system-view

[Sysname] isis 1

[Sysname-isis-1] domain-authentication-mode simple plain Ab&123456

4.9.4  BGP

1. 限制从BGP对等体/对等体组接收的路由数量

【安全威胁】

非法用户通过向设备发送大量BGP路由的方式对设备进行攻击,浪费系统资源,引起网络故障。

【安全加固策略】

为了预防这种攻击,设备可以限制从指定对等体/对等体组接收路由的数量,并且在接收到的BGP路由达到配置值时,可以选择如下处理方式:

·     路由器中断与该对等体/对等体组的BGP会话,不再尝试重建会话。

·     路由器保持与该对等体/对等体组的BGP会话,可以继续接收路由,仅打印日志信息。

·     路由器保持与该对等体/对等体组的BGP会话,丢弃超出限制的路由,并打印日志信息。

·     路由器中断与该对等体/对等体组的BGP会话,经过指定的时间后自动与对等体/对等体组重建会话。

【配置举例】

# BGP IPv4单播地址族视图下,设置允许从对等体1.1.1.1收到的路由数量为10000。如果从对等体1.1.1.1收到的路由数量超过10000,则断开与该对等体的会话。(各参数仅为示例)

<Sysname> system-view

[Sysname] bgp 109

[Sysname-bgp-default] address-family ipv4 unicast

[Sysname-bgp-default-ipv4] peer 1.1.1.1 route-limit 10000

2. 建立安全的BGP会话

【安全威胁】

攻击者可以冒充合法用户与设备建立BGP会话,或窃取并篡改BGP报文,影响BGP路由的学习。

【安全加固策略】

BGP使用TCP作为其传输层协议,为了避免受到以上两种方式的攻击,可以为BGP对等体配置BGPMD5认证或keychain认证:

·     BGP建立TCP连接时进行MD5认证,只有两台设备配置的密钥相同时,才能建立TCP连接,从而避免与非法的设备建立TCP连接。

·     传递BGP报文时,对封装BGP报文的TCP报文段进行MD5运算,从而保证BGP报文不会被篡改。

·     BGP建立TCP连接时,配置keychain认证,只有两台配置keychain认证的设备满足以下条件时才能正常建立TCP连接、交互BGP消息:

¡     同一时间内使用的key的标识符相同。

¡     相同标识符的key的认证算法和认证密钥一致。

【配置举例】

# BGP实例视图下,配置本地路由器10.1.100.1与对等体10.1.100.2之间的BGP会话使用MD5认证,密钥为明文字符串358$aabbcc。(各参数仅为示例)

<Sysname> system-view

[Sysname] bgp 100

[Sysname-bgp-default] peer 10.1.100.2 password simple 358$aabbcc

# BGP实例视图下,配置IP地址为10.1.1.1的对等体使用名为abckeychain认证。(各参数仅为示例)

<Sysname> system-view

[Sysname] bgp 100

[Sysname-bgp-default] peer 10.1.1.1 as-number 100

[Sysname-bgp-default] peer 10.1.1.1 keychain abc

3. BGP RPKI

【安全威胁】

BGP路由中的AS_PATH属性记录了某条路由从本地到某个IP地址(网段)所要经过的所有AS号。其中,该IP地址(网段)所处的AS称为源AS。如果攻击者篡改了源AS,则会导致指定IP地址(网段)不可达甚至网络瘫痪。攻击者还可以通过构造非法的源AS向网络设备通告路由,窃取BGP路由信息。

【安全加固策略】

配置BGP RPKIResource Public Key Infrastructure,资源公钥基础设施)功能后,设备在收到BGP路由的时候,会验证源AS是否合法,并根据验证结果来决定是否使用该BGP路由以及是否发布该路由。

【配置举例】

# 开启BGP RPKI功能,指定BGP RPKI服务器地址为1.1.1.1,配置与RPKI服务器建立连接的端口号为1234。(各参数仅为示例)

<Sysname> system-view

[Sysname] bgp 100

[Sysname-bgp-default] rpki

[Sysname-bgp-default-rpki] server tcp 1.1.1.1

[Sysname-bgp-default-rpki-server] port 1234

4. BGP通过IPsec保护IPv6 BGP报文

【安全加固策略】

为了避免路由信息外泄或者非法者对设备进行恶意攻击,可以利用IPsec安全隧道对IPv6 BGP报文进行保护。通过IPsec提供的数据机密性、完整性、数据源认证等功能,确保IPv6 BGP报文不会被侦听或恶意篡改,并避免非法者构造IPv6 BGP报文对设备进行攻击。

在互为IPv6 BGP邻居的两台设备上都配置通过IPsec保护IPv6 BGP报文后,一端设备在发送IPv6 BGP报文时通过IPsec对报文进行加封装,另一端设备接收到报文后,通过IPsec对报文进行解封装。如果解封装成功,则接收该报文,正常建立IPv6 BGP对等体关系或学习IPv6 BGP路由;如果设备接收到不受IPsec保护的IPv6 BGP报文,或IPv6 BGP报文解封装失败,则会丢弃该报文。

【配置举例】

# 配置IPsec安全提议和手工方式的IPsec安全框架。相关配置的详细介绍请参见“安全配置指导”中的“IPsec”。

# BGP实例视图下,为对等体组test应用安全框架profile001。(各参数仅为示例)

<Sysname> system-view

[Sysname] bgp 100

[Sysname-bgp-default] peer test ipsec-profile profile001

4.10  组播安全

4.10.1  IGMP Snooping/MLD Snooping

1. 配置组播组过滤器

【安全威胁】

恶意用户通过变换组地址,使用一些无效组播组频道加入,造成设备上建立大量无效表项,占用大量系统资源,导致正常用户的点播无法成功。

【安全加固策略】

在使能了IGMP Snooping/MLD Snooping的二层设备上,通过配置组播组过滤器,可以限制用户对组播节目的点播。当用户点播某个组播节目时,主机会发起一个IGMP/MLD成员关系报告报文,该报文将在二层设备上接受组播组过滤器的检查,只有通过了检查,二层设备才会将该主机所属的端口加入到出端口列表中,从而达到控制用户点播组播节目的目的。

【配置举例】

# 全局配置组播组过滤器,以限定VLAN 2内的主机只能加入组播组225.1.1.1。(各参数仅为示例)

<Sysname> system-view

[Sysname] acl basic 2000

[Sysname-acl-ipv4-basic-2000] rule permit source 225.1.1.1 0

[Sysname-acl-ipv4-basic-2000] quit

[Sysname] igmp-snooping

[Sysname-igmp-snooping] group-policy 2000 vlan 2

# 全局配置IPv6组播组过滤器,以限定VLAN 2内的主机只能加入IPv6组播组FF03::101。(各参数仅为示例)

<Sysname> system-view

[Sysname] acl ipv6 basic 2000

[Sysname-acl-ipv6-basic-2000] rule permit source ff03::101 128

[Sysname-acl-ipv6-basic-2000] quit

[Sysname] mld-snooping

[Sysname-mld-snooping] group-policy 2000 vlan 2

# 在端口GigabitEthernet1/0/1上配置组播组过滤器,以限定端口GigabitEthernet1/0/1VLAN 2内的主机只能加入组播组225.1.1.1。(各参数仅为示例)

<Sysname> system-view

[Sysname] acl basic 2000

[Sysname-acl-ipv4-basic-2000] rule permit source 225.1.1.1 0

[Sysname-acl-ipv4-basic-2000] quit

[Sysname] interface gigabitethernet1/0/1

[Sysname-GigabitEthernet1/0/1] igmp-snooping group-policy 2000 vlan 2

# 在端口GigabitEthernet1/0/1上配置IPv6组播组过滤器,以限定端口GigabitEthernet1/0/1VLAN 2内的主机只能加入IPv6组播组FF03::101。(各参数仅为示例)

<Sysname> system-view

[Sysname] acl ipv6 basic 2000

[Sysname-acl-ipv6-basic-2000] rule permit source ff03::101 128

[Sysname-acl-ipv6-basic-2000] quit

[Sysname] interface gigabitethernet1/0/1

[Sysname-GigabitEthernet1/0/1] mld-snooping group-policy 2000 vlan 2

2. 禁止端口成为动态路由器端口

【安全威胁】

在组播用户接入网络中,用户主机在某些情况下(比如测试)发出IGMP/MLD普遍组查询报文或IPv4/IPv6 PIM Hello报文,此时存在如下安全威胁:

·     如果二层设备收到了某用户主机发来的IGMP/MLD普遍组查询报文或IPv4/IPv6 PIM Hello报文,那么接收报文的端口就将成为动态路由器端口,从而使VLAN内的所有组播报文都会向该端口转发,导致该主机收到大量无用的组播报文。

·     用户主机发送IGMP/MLD普遍组查询报文或IPv4/IPv6 PIM Hello报文,也会影响该接入网络中三层设备上的组播路由协议状态(如影响IGMP/MLD查询器或DR的选举),严重时可能导致网络中断。

【安全加固策略】

当配置了禁止端口成为动态路由器端口功能后,即使该端口收到了IGMP/MLD普遍组查询报文或IPv4/IPv6 PIM Hello报文,该端口也不会成为动态路由器端口,从而能够有效解决上述问题,提高网络的安全性和对组播用户的控制能力。

【配置举例】

# 禁止端口GigabitEthernet1/0/1VLAN 2内成为动态路由器端口。

<Sysname> system-view

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] igmp-snooping router-port-deny vlan 2

# 禁止端口GigabitEthernet1/0/1VLAN 2内成为动态路由器端口。

<Sysname> system-view

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] mld-snooping router-port-deny vlan 2

4.10.2  IGMP/MLD

1. 增强对组播用户的管理和控制

说明

RX8800不支持本特性。

 

【安全威胁】

传统的组播业务对组播用户是不可控的,即对用户权限没有控制机制。用户可自行通过发送IGMP Report报文来加入某个组播组,接收该组播组的组播报文。从而导致非法或者越权的访问请求无法被甄别。

【安全加固策略】

可以在设备上配置如下安全功能,增强对组播用户的管理和控制:

·     配置可控组播

通过在需要控制用户加入组播组权限的接口上开启可控组播功能,可以控制用户加入某个组播组的权限。当用户要求加入某个组播组时,对该用户的权限进行甄别,拒绝非法或者越权的访问。

·     配置IGMP/MLD用户接入策略

User Profile下指定了某ACL规则作为IGMP/MLD用户的接入策略,当被授权此User Profile的用户上线后,设备将按照该规则对用户发送的IGMP/MLD成员关系报告报文进行过滤,只为该规则所允许的组播组维护组成员关系。

【注意事项】

配置可控组播时,需要注意:

·     请勿使用IGMPv1版本,否则将无IGMP查询器可用。

·     可控组播功能只对本地上线用户生效,非本地上线用户或非上线用户不受此控制。

·     可控组播功能仅支持在BRAS设备上配置。

【配置举例】

·     可控组播

# 在接口GigabitEthernet1/0/1上开启可控组播功能。

<Sysname> system-view

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] igmp authorization-enable

# 在接口GigabitEthernet1/0/1上开启IPv6可控组播功能。

<Sysname> system-view

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] mld authorization-enable

·     IGMP/MLD用户接入策略

# 在名为abcUser Profile下配置只允许IGMP用户加入组播组225.1.1.2。(各参数仅为示例)

<Sysname> system-view

[Sysname] acl basic 2000

[Sysname-acl-ipv4-basic-2000] rule permit source 225.1.1.2 0

[Sysname-acl-ipv4-basic-2000] quit

[Sysname] user-profile abc

[Sysname-user-profile-abc] igmp access-policy 2000

# 在名为abcUser Profile下配置只允许MLD用户加入IPv6组播组FF03::101。(各参数仅为示例)

<Sysname> system-view

[Sysname] acl ipv6 basic 2000

[Sysname-acl-ipv6-basic-2000] rule permit source ff03::101 128

[Sysname-acl-ipv6-basic-2000] quit

[Sysname] user-profile abc

[Sysname-user-profile-abc] mld access-policy 2000

2. IPoE接入下IGMP攻击防范功能

说明

RX8800不支持本特性。

 

【安全威胁】

BRAS系统的组播应用中,只有上线用户才能加入组播组转发组播流量,但是非上线用户的IGMP报文也会发送至CPU进行处理。如果非上线用户发起IGMP攻击,将影响上线用户正常加入组播组。

【安全加固策略】

在开启IPoE接入认证功能的接口上开启IGMP攻击防范功能之后,设备会丢弃非上线用户的IGMP报文,仅处理上线用户的IGMP报文,从而避免非上线用户对上线用户产生影响。

【注意事项】

此功能只适用于BRAS系统中的IPoE接入用户。关于IPoE的详细介绍请参见“二层技术-广域网接入配置指导”中的“IPoE”。

不要在未开启IPoE接入认证功能的接口上开启IGMP攻击防范功能,否则会导致用户不能正常加入组播组。

【配置举例】

# 在三层以太网接口GigabitEthernet1/0/1上开启IGMP攻击防范功能。

<Sysname> system-view

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] igmp attack-defense

3. 配置IGMP/MLD攻击抑制功能

说明

RX8800不支持基于源MAC地址的IGMP/MLD攻击抑制功能。

 

【安全威胁】

当设备受到IGMP/MLD攻击时,CPU资源被大量非法报文占用,导致正常的IGMP/MLD报文无法及时得到处理。

【安全加固策略】

·     基于源MAC地址的IGMP/MLD攻击抑制功能

配置基于源MAC地址的IGMP/MLD攻击抑制功能后,设备会根据IGMP/MLD报文中的源MAC地址统计收到的IGMP/MLD报文数,并创建攻击检测表项。当设备在指定的攻击检测周期内,收到某个源MAC地址对应的IGMP/MLD报文数超过配置的攻击抑制阈值,则认为设备受到了该源MAC地址的IGMP/MLD报文的攻击,此时设备会丢弃来自该MAC地址的IGMP/MLD报文,确保CPU能够正常运行。

·     基于接口的IGMP/MLD攻击抑制功能

在开启基于接口的IGMP/MLD攻击抑制功能后,设备会在对应接口下统计收到的IGMP/MLD报文数,并创建攻击检测表项。当设备在指定的IGMP/MLD攻击检测周期内,在某个接口下收到的IGMP/MLD报文数超过配置的攻击抑制阈值,则认为该接口受到IGMP/MLD报文的攻击,此时设备会限制该接口的IGMP报文上送CPU的速率。

【注意事项】

在全局使能IGMP Snooping/MLD Snooping的情况下,三层组播的IGMP/MLD攻击抑制功能仅对三层以太网接口和以太网子接口生效。此时VLAN接口和二层接口(例如二层聚合接口)收到IGMP/MLD报文后,会由二层组播进行处理,三层组播的IGMP/MLD攻击抑制功能不再生效。

【配置举例】

·     基于源MAC地址的IGMP/MLD攻击抑制功能

# 开启基于源MAC地址的IGMP攻击抑制功能。

<Sysname> system-view

[Sysname] igmp attack-suppression source-mac enable

# 开启基于源MAC地址的MLD攻击抑制功能。

<Sysname> system-view

[Sysname] mld attack-suppression source-mac enable

·     基于接口的IGMP/MLD攻击抑制功能

# 开启基于接口的IGMP攻击抑制功能。

<Sysname> system-view

[Sysname] igmp attack-suppression per-interface enable

# 开启基于接口的MLD攻击抑制功能。

<Sysname> system-view

[Sysname] mld attack-suppression per-interface enable

4.10.3  PIM/IPv6 PIM

1. 配置Hello报文过滤器

【安全威胁】

PIM域中,设备上每个运行了PIM协议的接口通过定期向本网段的所有PIM设备(224.0.0.13)组播PIM Hello报文来发现PIM邻居,维护各设备之间的PIM邻居关系,从而构建和维护SPT。当设备上存在大量恶意Hello报文时,正常的PIM邻居建立机制受到干扰,导致PIM邻居关系无法正确建立,继而设备受到各种PIM协议报文攻击。

【安全加固策略】

可以通过在接口上配置Hello报文过滤器,通过ACL规则限制合法的Hello报文源地址范围,从而丢弃恶意的报文,提高设备对PIM协议报文处理的安全性。

【配置举例】

# 在接口GigabitEthernet1/0/1上配置合法Hello报文的源地址范围,只允许与来自网段10.1.1.0/24中的设备建立PIM邻居关系。(各参数仅为示例)

<Sysname> system-view

[Sysname] acl basic 2000

[Sysname-acl-ipv4-basic-2000] rule permit source 10.1.1.0 0.0.0.255

[Sysname-acl-ipv4-basic-2000] quit

[Sysname] interface gigabitethernet1/0/1

[Sysname-GigabitEthernet1/0/1] pim neighbor-policy 2000

# 在接口GigabitEthernet1/0/1上配置合法Hello报文的源地址范围,只允许与来自网段FE80:101::101/64中的设备建立IPv6 PIM邻居关系。(各参数仅为示例)

<Sysname> system-view

[Sysname] acl ipv6 basic 2000

[Sysname-acl-ipv6-basic-2000] rule permit source fe80:101::101 64

[Sysname-acl-ipv6-basic-2000] quit

[Sysname] interface gigabitethernet1/0/1

[Sysname-GigabitEthernet1/0/1] ipv6 pim neighbor-policy 2000

2. 配置加入/剪枝报文中加入信息过滤规则

【安全加固策略】

配置加入/剪枝报文中加入信息的过滤规则,通过ACL规则限制PIM加入/剪枝报文中加入信息的合法源地址范围和组地址范围,丢弃不合法的加入信息,不建立对应的(*G)或(SG)表项,以防止非法PIM加入/剪枝报文攻击。

【配置举例】

# 在接口GigabitEthernet1/0/1上配置过滤规则,只允许接收组地址范围是225.1.1.1/16的加入信息。(各参数仅为示例)

<Sysname> system-view

[Sysname] acl basic 2005

[Sysname-acl-ipv4-basic-2005] rule permit source 225.1.1.1 0.0.255.255

[Sysname-acl-ipv4-basic-2005] quit

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] pim join-policy 2005

# 在接口GigabitEthernet1/0/1上配置过滤规则,只允许接收组地址范围是FF25::1/128IPv6 PIM加入/剪枝报文。(各参数仅为示例)

<Sysname> system-view

[Sysname] acl ipv6 basic 2005

[Sysname-acl-ipv6-basic-2005] rule permit source FF25::1 128

[Sysname-acl-ipv6-basic-2005] quit

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] ipv6 pim join-policy 2005

4.10.4  MSDP

【安全加固策略】

通过在MSDP对等体上配置MD5认证功能,为TCP连接设置MD5认证密钥并由TCP完成认证。只有认证通过,才可以正常建立TCP连接,从而阻止非法报文的恶意攻击。

【注意事项】

参与MD5认证的两端MSDP对等体必须配置相同的认证方式和密钥,否则将由于不能通过认证而无法建立TCP连接。

【配置举例】

# 在公网实例中配置与MSDP对等体10.1.100.1建立TCP连接时进行MD5认证,并以明文方式设置密钥为850$aabbcc。(各参数仅为示例)

<Sysname> system-view

[Sysname] msdp

[Sysname-msdp] peer 10.1.100.1 password simple 850$aabbcc

4.11  MPLS安全

4.11.1  LDP

【安全威胁】

LDP消息中的内容容易被窃取和篡改。当设备收到攻击者伪造的LDP报文时,会与之建立TCP连接,从而被攻击者捕获设备信息,造成设备重要信息泄露。

【安全加固策略】

为了提高LDP会话的安全性,可以配置在LDP会话使用的TCP连接上采用MD5认证,来验证LDP消息的完整性,防止网络攻击和恶意探测。

【配置举例】

# 配置公网LDPMD5认证功能:与对等体3.3.3.3建立的LDP会话上采用MD5认证,以明文方式设置密钥,密钥值为pass。(各参数仅为示例)

<Sysname> system-view

[Sysname] mpls ldp

[Sysname-ldp] md5-authentication 3.3.3.3 plain pass

4.11.2  RSVP

【安全加固策略】

为了防止伪造的资源预留请求非法占用网络资源,RSVP采用逐跳认证机制来验证RSVP消息的合法性。一条链路两端的设备上需要配置相同的认证密钥,只有这样,设备之间才可以正确地交互RSVP消息。

【注意事项】

RSVP认证功能可以在如下视图配置:

·     RSVP视图:该视图下的配置对所有RSVP SA生效。

·     RSVP邻居视图:该视图下的配置只对与指定RSVP邻居之间的RSVP SA生效。

·     接口视图:该视图下的配置只对根据指定接口下的配置生成的RSVP SA生效。

三个视图下配置的优先级从高到低依次为:RSVP邻居视图、接口视图、RSVP视图。

【配置举例】

# RSVP视图下全局开启RSVP认证功能,并指定认证密钥为明文@aa2019@aa2019仅为示例)。

<Sysname> system-view

[Sysname] rsvp

[Sysname-rsvp] authentication key plain @aa2019

# RSVP邻居视图下开启本地设备与邻居1.1.1.9之间的认证功能,并指定认证密钥为明文@aa2019@aa2019仅为示例)。

<Sysname> system-view

[Sysname] rsvp

[Sysname-rsvp] peer 1.1.1.9

[Sysname-rsvp-peer-1.1.1.9] authentication key plain @aa2019

# 在接口GigabitEthernet1/0/1上开启RSVP认证功能,并配置认证密钥为明文@aa2019@aa2019仅为示例)。

<Sysname> system-view

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] rsvp authentication key plain @aa2019

4.12  控制平面限速及丢包告警

4.12.1  协议报文限速

【安全威胁】

设备上的控制平面是指运行大部分路由交换协议进程的处理单元,它的主要工作是进行协议报文的解析和协议的运行。与之相对应的核心物理实体是CPU,它具备灵活的报文处理能力,但数据吞吐能力有限。如果大量协议报文同时上送CPU,会使CPU一直忙于处理协议报文而无法顾及其它任务,最终导致过载甚至设备瘫痪。

【安全加固策略】

可以通过QoS策略实现协议报文限速:在流分类中配置匹配指定协议报文的规则,在流行为中配置限速动作,最后将QoS策略应用在控制平面上,达到对上送CPU的协议报文速率进行限制的目的,保证CPU的正常运转。

【配置举例】

以下两种配置方式举例,请以单板实际支持情况为准。

方式一:

# 定义流分类c,配置匹配控制平面DHCP协议报文的规则(DHCP仅为示例)。

<Sysname> system-view

[Sysname] traffic classifier c

[Sysname-classifier-c] if-match control-plane protocol dhcp

[Sysname-classifier-c] quit

# 定义流行为b,动作为报文限速,正常流速为200kbps,承诺突发尺寸为51200bytes

[Sysname] traffic behavior b

[Sysname-behavior-b] car cir 200 cbs 51200

[Sysname-behavior-b] quit

# 定义策略p,并为流分类c指定流行为b

[Sysname] qos policy p

[Sysname-qospolicy-p] classifier c behavior b

[Sysname-qospolicy-p] quit

# 将策略p应用到指定slot的控制平面。

[Sysname] control-plane slot 1

[Sysname-cp-slot1] qos apply policy p inbound

方式二:

# 定义ACL,配置匹配IP协议报文(IP仅为示例)。

<Sysname> system-view

[Sysname] acl advanced 3000

[Sysname-acl-ipv4-adv-3000] rule permit ip

[Sysname-acl-ipv4-adv-3000] quit

# 定义流分类c,配置匹配ACL

[Sysname] traffic classifier c

[Sysname-classifier-c] if-match acl 3000

[Sysname-classifier-c] quit

# 定义流行为b,动作为报文限速,正常流速为200kbps,承诺突发尺寸为51200bytes

[Sysname] traffic behavior b

[Sysname-behavior-b] car cir 200 cbs 51200

[Sysname-behavior-b] quit

# 定义策略p,并为流分类c指定流行为b

[Sysname] qos policy p

[Sysname-qospolicy-p] classifier c behavior b

[Sysname-qospolicy-p] quit

# 将策略p应用到指定slot的控制平面。

[Sysname] control-plane slot 1

[Sysname-cp-slot1] qos apply policy p inbound

4.13  高可靠性协议报文认证

4.13.1  DLDP报文认证

【安全加固策略】

配置DLDP认证模式和密码后,设备将接收的DLDP报文的认证信息与本端配置的认证信息进行比较,若一致则认证通过,否则丢弃该报文。DLDP的认证模式包括:不认证、明文认证和MD5认证。

通过配置适当的DLDP认证模式和密码,可以防止网络攻击和恶意探测。

【配置举例】

# 配置Device ADevice B通过光纤/网线连接的接口间的DLDP认证模式均为明文认证,认证密码均为1458abc$3。(各参数仅为示例)

·     Device A上的配置:

<DeviceA> system-view

[DeviceA] dldp authentication-mode simple

[DeviceA] dldp authentication-password simple 1458abc$3

·     Device B上的配置:

<DeviceB> system-view

[DeviceB] dldp authentication-mode simple

[DeviceB] dldp authentication-password simple 1458abc$3

4.13.2  VRRP报文认证

【安全威胁】

非法用户构造VRRP通告报文攻击VRRP备份组,导致VRRP备份组无法正常运行。

【安全加固策略】

VRRP通过在VRRP报文中增加认证字的方式,验证接收到的VRRP报文。VRRP提供了两种认证方式:

·     simple:简单字符认证。发送VRRP报文的路由器将认证字填入到VRRP报文中,而收到VRRP报文的路由器会将收到的VRRP报文中的认证字和本地配置的认证字进行比较。如果认证字相同,则认为接收到的报文是真实、合法的VRRP报文;否则认为接收到的报文是一个非法报文。

·     md5MD5认证。发送VRRP报文的路由器利用认证字和MD5算法对VRRP报文进行摘要运算,运算结果保存在Authentication Header(认证头)中。收到VRRP报文的路由器会利用认证字和MD5算法进行同样的运算,并将运算结果与认证头的内容进行比较。如果相同,则认为接收到的报文是真实、合法的VRRP报文;否则认为接收到的报文是一个非法报文。

【注意事项】

MD5认证比简单字符认证更安全,但是MD5认证需要进行额外的运算,占用的系统资源较多。

一个接口上的不同备份组可以设置不同的认证方式和认证字;加入同一备份组的成员需要设置相同的认证方式和认证字。

使用VRRPv3版本的IPv4 VRRP不支持认证。使用VRRPv3版本时,此配置不会生效。

【配置举例】

# 设置接口GigabitEthernet1/0/1上备份组1发送和接收IPv4 VRRP报文的认证方式为simple,认证字为Sysname。(各参数仅为示例)

<Sysname> system-view

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] vrrp vrid 1 authentication-mode simple plain Sysname

4.13.3  BFD控制报文认证

【安全威胁】

本地设备收到伪造的BFD报文,例如包含错误状态信息的BFD时,BFD会话状态发生变化,从而引起会话震荡,破坏BFD节点间的正常会话。

【安全加固策略】

在建立控制报文方式的BFD会话时,设备将认证信息封装到BFD控制报文中,在接收BFD控制报文时进行认证信息的检查,如果认证信息不匹配,则无法建立BFD会话。

【配置举例】

# 配置接口GigabitEthernet1/0/1对单跳BFD控制报文进行简单明文认证,认证字标识符为1,密钥为&Pk123456。(各参数仅为示例)

<Sysname> system-view

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] bfd authentication-mode simple 1 plain &Pk123456

# 配置多跳BFD控制报文进行简单明文认证,认证字标识符为1,密钥为&Pk123456。(各参数仅为示例)

<Sysname> system-view

[Sysname] bfd multi-hop authentication-mode simple 1 plain &Pk123456

4.14  时间管理协议报文认证

4.14.1  NTP服务的访问控制权限

【安全威胁】

一个使用NTP协议同步时间的网络中,如果没有配置NTP验证,非法的时间服务器就可以随意向网络中的设备发送时间同步信息,可能导致设备同步到错误的时间。

【安全加固策略】

可以通过关联ACL来限制对端设备对本地设备上NTP服务的访问控制权限。

NTP服务的访问控制权限从高到低依次为peerserversynchronizationquery

·     peer:完全访问权限。该权限既允许对端设备向本地设备的时间同步,对本地设备进行控制查询(查询NTP的一些状态,比如告警信息、验证状态、时间服务器信息等),同时本地设备也可以向对端设备的时间同步。

·     server:服务器访问与查询权限。该权限允许对端设备向本地设备的时间同步,对本地设备进行控制查询,但本地设备不会向对端设备的时间同步。

·     synchronization:仅具有访问服务器的权限。该权限只允许对端设备向本地设备的时间同步,但不能进行控制查询。

·     query:仅具有控制查询的权限。该权限只允许对端设备对本地设备的NTP服务进行控制查询,但是不能向本地设备的时间同步。

以上定义的访问控制权限都可以关联ACL,由ntp-service { peer | query | server | synchronization } acl命令配置。设备一旦收到NTP服务请求时,会先对其执行ACL规则匹配再为其分配ACL关联的访问控制权限。具体匹配规则如下:

当设备接收到NTP服务请求时,会按照权限从高到低的顺序依次进行匹配。匹配原则为:

·     如果没有指定权限应用的ACL或权限应用的ACL尚未创建,则继续匹配下一个权限。

·     如果所有的权限都没有应用ACL或权限应用的ACL尚未创建,则所有对端设备对本地设备NTP服务的访问控制权限均为peer

·     如果存在应用了ACL的权限,且该ACL已经创建,则只有NTP服务请求匹配了某个权限应用的ACL中的permit规则,发送该NTP服务请求的对端设备才会具有该访问控制权限。其他情况下(NTP服务请求匹配某个权限应用的ACL中的deny规则或没有匹配任何权限的任何规则),发送该NTP服务请求的对端设备不具有任何权限。

配置NTP服务的访问控制权限,仅提供了一种最小限度的安全措施,更安全的方法是使用NTP验证功能。

【配置举例】

# 创建并配置与访问权限关联的ACL

具体配置请参见“ACLQoS配置指导”中的“ACL

# 配置对端设备对本地设备NTP服务的访问控制权限(2001仅为示例)。

<Sysname> system-view

[Sysname] ntp-service peer acl 2001

4.14.2  NTP报文认证

【安全威胁】

网络上大多数信息都需要记录时间,如果设备从非法的时间服务器上获取了时间信息,则会导致设备同步到错误的时间。

【安全加固策略】

NTP通过验证功能来对接收到的NTP报文进行合法性验证。只有报文通过验证后,设备才会接收该报文,并从中获取时间同步信息;否则,设备会丢弃该报文。从而,保证设备不会与非法的时间服务器进行时间同步,避免时间同步错误。

图4-1 NTP验证功能示意图

 

4-1所示,NTP验证功能的工作过程为:

(1)     NTP报文发送者利用密钥ID标识的密钥对NTP报文进行加密运算,并将计算出来的摘要信息连同NTP报文和密钥ID一起发送给接收者。

(2)     接收者接收到该NTP报文后,根据报文中的密钥ID找到对应的密钥,并利用该密钥对报文进行相同的加密运算。接收者将运算结果与报文中的摘要信息比较,依据比较结果,有以下两种情况:

¡     比较结果不相同,则丢弃该报文。

¡     比较结果相同,则检查NTP报文发送者是否有权在本端使用该密钥ID,检查通过,则接收该报文;否则,丢弃该报文。

【注意事项】

客户端和服务器、主动对等体和被动对等体、广播客户端和广播服务器、组播客户端和组播服务器上进行不同的配置时,NTP验证结果有所不同,详细介绍请参见4-24-34-44-5。其中,表格中的“-”表示不管此项是否配置。

表4-2 客户端和服务器上进行不同配置时的NTP验证结果

客户端

服务器

结果

身份验证

关联密钥

关联密钥存在且为可信密钥

身份验证

关联密钥存在且为可信密钥

身份验证成功

身份验证失败

-

身份验证失败

-

-

身份验证失败

-

-

-

不进行身份验证

-

-

-

-

不进行身份验证

 

表4-3 主动对等体和被动对等体上进行不同配置时的NTP验证结果

主动对等体

被动对等体

结果

身份验证

关联密钥

关联密钥存在且为可信密钥

时钟层数

身份验证

关联密钥存在且为可信密钥

-

身份验证成功

-

身份验证失败

-

-

身份验证失败

-

-

-

身份验证失败

-

-

-

不进行身份验证

-

-

-

-

身份验证失败

-

-

-

-

不进行身份验证

大于被动对等体

-

-

身份验证失败

小于被动对等体

-

身份验证失败

小于被动对等体

-

不进行身份验证

 

表4-4 广播客户端和广播服务器上进行不同配置时的NTP验证结果

广播服务器

广播客户端

结果

身份验证

关联密钥

关联密钥存在且为可信密钥

身份验证

关联密钥存在且为可信密钥

身份验证成功

身份验证失败

-

身份验证失败

-

身份验证失败

-

不进行身份验证

-

-

身份验证失败

-

-

不进行身份验证

-

-

-

身份验证失败

-

-

-

不进行身份验证

 

表4-5 组播客户端和组播服务器上进行不同配置时的NTP验证结果

组播服务器

组播客户端

结果

身份验证

关联密钥

关联密钥存在且为可信密钥

身份验证

关联密钥存在且为可信密钥

身份验证成功

身份验证失败

-

身份验证失败

-

身份验证失败

-

不进行身份验证

-

-

身份验证失败

-

-

不进行身份验证

-

-

-

身份验证失败

-

-

-

不进行身份验证

 

【配置举例】

·     配置客户端/服务器模式的NTP验证功能。

# 开启客户端的NTP验证功能。

<DeviceA> system-view

[DeviceA] ntp-service authentication enable

# NTP客户端创建编号为42NTP验证密钥,密钥值为aNiceKey,以明文形式输入。(各参数仅为示例)

[DeviceA] ntp-service authentication-keyid 42 authentication-mode md5 simple aNiceKey

# NTP客户端配置编号为42的密钥为可信密钥(42仅为示例)。

[DeviceA] ntp-service reliable authentication-keyid 42

# NTP客户端指定与编号42密钥关联的NTP服务器。

[DeviceA] ntp-service unicast-server 1.1.1.1 authentication-keyid 42

# 开启服务器端的NTP验证功能。

<DeviceB> system-view

[DeviceB] ntp-service authentication enable

# NTP服务器端创建编号为42NTP验证密钥,密钥值为aNiceKey,以明文形式输入。(各参数仅为示例)

[DeviceB] ntp-service authentication-keyid 42 authentication-mode md5 simple aNiceKey

# NTP服务器端配置编号为42的密钥为可信密钥(42仅为示例)。

[DeviceB] ntp-service reliable authentication-keyid 42

·     配置对等体模式的NTP验证功能

# 开启主动对等体的NTP验证功能。

<DeviceA> system-view

[DeviceA] ntp-service authentication enable

# NTP主动对等体创建编号为42NTP验证密钥,密钥值为aNiceKey,以明文形式输入。(各参数仅为示例)

[DeviceA] ntp-service authentication-keyid 42 authentication-mode md5 simple aNiceKey

# NTP主动对等体配置编号为42的密钥为可信密钥(42仅为示例)。

[DeviceA] ntp-service reliable authentication-keyid 42

# NTP主动对等体指定与编号42密钥关联的NTP被动对等体。

[DeviceA] ntp-service unicast-peer 1.1.1.1 authentication-keyid 42

# 开启被动对等体的NTP验证功能。

<DeviceB> system-view

[DeviceB] ntp-service authentication enable

# NTP被动对等体创建编号为42NTP验证密钥,密钥值为aNiceKey,以明文形式输入。(各参数仅为示例)

[DeviceB] ntp-service authentication-keyid 42 authentication-mode md5 simple aNiceKey

# NTP被动对等体配置编号为42的密钥为可信密钥(42仅为示例)。

[DeviceB] ntp-service reliable authentication-keyid 42

·     配置广播模式的NTP验证功能

# 开启广播客户端的NTP验证功能。

<DeviceA> system-view

[DeviceA] ntp-service authentication enable

# NTP广播客户端创建编号为42NTP验证密钥,密钥值为aNiceKey,以明文形式输入。(各参数仅为示例)

[DeviceA] ntp-service authentication-keyid 42 authentication-mode md5 simple aNiceKey

# NTP广播客户端配置编号为42的密钥为可信密钥(42仅为示例)。

[DeviceA] ntp-service reliable authentication-keyid 42

# 开启广播服务器端的NTP验证功能。

<DeviceB> system-view

[DeviceB] ntp-service authentication enable

# NTP广播服务器端创建编号为42NTP验证密钥,密钥值为aNiceKey,以明文形式输入。(各参数仅为示例)

[DeviceB] ntp-service authentication-keyid 42 authentication-mode md5 simple aNiceKey

# NTP广播服务器端配置编号为42的密钥为可信密钥(42仅为示例)。

[DeviceB] ntp-service reliable authentication-keyid 42

# NTP广播服务器与编号42密钥关联。

[DeviceB] interface gigabitethernet 1/0/1

[DeviceB-GigabitEthernet1/0/1] ntp-service broadcast-server authentication-keyid 42

·     配置组播模式的NTP验证功能

# 开启组播客户端的NTP验证功能。

<DeviceA> system-view

[DeviceA] ntp-service authentication enable

# NTP组播客户端创建编号为42NTP验证密钥,密钥值为aNiceKey,以明文形式输入。(各参数仅为示例)

[DeviceA] ntp-service authentication-keyid 42 authentication-mode md5 simple aNiceKey

# NTP组播客户端配置编号为42的密钥为可信密钥(42仅为示例)。

[DeviceA] ntp-service reliable authentication-keyid 42

# 开启组播服务器端的NTP验证功能。

<DeviceB> system-view

[DeviceB] ntp-service authentication enable

# NTP组播服务器端创建编号为42NTP验证密钥,密钥值为aNiceKey,以明文形式输入。(各参数仅为示例)

[DeviceB] ntp-service authentication-keyid 42 authentication-mode md5 simple aNiceKey

# NTP组播服务器端配置编号为42的密钥为可信密钥(42仅为示例)。

[DeviceB] ntp-service reliable authentication-keyid 42

# NTP组播服务器与编号42密钥关联。

[DeviceB] interface gigabitethernet 1/0/1

[DeviceB-GigabitEthernet1/0/1] ntp-service multicast-server 224.0.1.1 authentication-keyid 42

4.14.3  SNTP报文认证

【安全威胁】

网络上大多数信息都需要记录时间,如果设备从非法的时间服务器上获取了时间信息,则会导致设备同步到错误的时间。

【安全加固策略】

SNTP通过验证功能来对接收到的SNTP报文进行合法性验证。只有报文通过验证后,设备才会接收该报文,并从中获取时间同步信息;否则,设备会丢弃该报文。从而,保证设备不会与非法的时间服务器进行时间同步,避免时间同步错误。

图4-2 SNTP验证功能示意图

 

4-1所示,SNTP验证功能的工作过程为:

(1)     SNTP报文发送者利用密钥ID标识的密钥对SNTP报文进行加密运算,并将计算出来的摘要信息连同SNTP报文和密钥ID一起发送给接收者。

(2)     接收者接收到该SNTP报文后,根据报文中的密钥ID找到对应的密钥,并利用该密钥对报文进行相同的加密运算。接收者将运算结果与报文中的摘要信息比较,依据比较结果,有以下两种情况:

¡     比较结果不相同,则丢弃该报文。

¡     比较结果相同,则检查SNTP报文发送者是否有权在本端使用该密钥ID,检查通过,则接收该报文;否则,丢弃该报文。

【注意事项】

客户端需要将指定密钥与对应的NTP服务器关联,并保证服务端有权在本端使用该密钥ID进行验证。

如果客户端没有成功启用SNTP验证功能,不论服务器端是否开启验证功能,客户端均可以与服务器端同步。

【配置举例】

·     配置客户端。

# 开启SNTP客户端的身份验证功能。

<DeviceA> system-view

[DeviceA] sntp authentication enable

# SNTP客户端创建编号为42NTP验证密钥,密钥值为aNiceKey,以明文形式输入。(各参数仅为示例)

[DeviceA] sntp authentication-keyid 42 authentication-mode md5 simple aNiceKey

# SNTP客户端配置编号为42的密钥为可信密钥(42仅为示例)。

[DeviceA] sntp reliable authentication-keyid 42

# SNTP客户端指定与编号42密钥关联的NTP服务器。

[DeviceA] sntp unicast-server 1.1.1.1 authentication-keyid 42

·     配置服务器端。

# 开启服务器端的NTP验证功能。

<DeviceB> system-view

[DeviceB] ntp-service authentication enable

# NTP服务器端创建编号为42NTP验证密钥,密钥值为aNiceKey,以明文形式输入。(各参数仅为示例)

[DeviceB] ntp-service authentication-keyid 42 authentication-mode md5 simple aNiceKey

# NTP服务器端配置编号为42的密钥为可信密钥(42仅为示例)。

[DeviceB] ntp-service reliable authentication-keyid 42

5 转发平面安全加固

5.1  安全隔离

5.1.1  端口隔离

说明

RX8800不支持本特性。

 

接入同一个设备不同接口的多台主机中,若某台主机存在安全隐患,受到攻击后向同一VLAN内的其他主机发送大量单播、组播或广播报文,甚至传播病毒,会影响其他主机、占用网络带宽。通过端口隔离功能,将需要隔离的端口加入到同一个隔离组中,实现隔离组中端口之间的二层隔离,尽可能的将受到攻击时波及的范围控制在一个端口内,提高了网络的安全性。

关于端口隔离的详细信息,请参见“二层技术-以太网交换”中的“端口隔离”。

5.2  广播、组播、未知单播抑制

5.2.1  风暴抑制和流量阈值控制

说明

RX8800不支持本特性。

 

【安全威胁】

当设备收到流量时,设备会向同一广播域内的其他接口转发这些报文,这样可能导致广播风暴,降低设备转发性能。

【安全加固策略】

通过部署风暴抑制或者流量阈值控制,对设备收到的广播、组播或未知单播流量进行监测和控制,可以防止产生广播风暴。

部署风暴抑制后,如果收到的广播/组播/未知单播流量超过用户设置的抑制阈值,系统会丢弃超出流量限制的报文,从而限制网络中的泛洪流量,保证网络业务的正常运行。

部署流量阈值控制后,如果收到的广播/组播/未知单播流量超过预先设置的上限阈值,设备根据配置来决定是阻塞该端口还是关闭该端口,以及是否输出LogTrap信息。

【注意事项】

对于同一类型(广播、组播或未知单播)的报文流量,请不要同时配置风暴抑制功能和流量阈值控制,以免配置冲突,导致抑制效果不确定。

【配置举例】

# 在以太网接口GigabitEthernet1/0/1上开启广播、组播和未知单播风暴抑制功能,每秒最多允许10000kbps广播、组播和未知单播报文通过,对超出该范围的报文进行抑制。(各参数仅为示例)

<Sysname> system-view

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] broadcast-suppression kbps 10000

[Sysname-GigabitEthernet1/0/1] multicast-suppression kbps 10000

[Sysname-GigabitEthernet1/0/1] unicast-suppression kbps 10000

# 在以太网接口GigabitEthernet1/0/1上开启广播、组播和未知单播流量阈值控制功能,上限阈值为2000kbps、下限阈值为1500kbps。当接口上任一流量超过上限阈值时阻塞该接口。在接口流量从小于等于上限阈值到大于上限阈值或者从超上限回落到小于下限阈值时输出Log信息。(各参数仅为示例)

<Sysname> system-view

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] storm-constrain broadcast kbps 2000 1500

[Sysname-GigabitEthernet1/0/1] storm-constrain multicast kbps 2000 1500

[Sysname-GigabitEthernet1/0/1] storm-constrain unicast kbps 2000 1500

[Sysname-GigabitEthernet1/0/1] storm-constrain control block

[Sysname-GigabitEthernet1/0/1] storm-constrain enable log

5.2.2  丢弃未知组播报文

【安全威胁】

未知组播数据报文是指在IGMP Snooping/MLD Snooping转发表中不存在对应转发表项的组播数据报文,若未开启丢弃未知组播数据报文功能,二层设备将在未知组播数据报文所属的VLAN/VSI内广播该报文。这样可能导致广播风暴,降低设备转发性能。

【安全加固策略】

开启了丢弃未知组播数据报文功能后,二层设备只向其路由器端口转发未知组播数据报文,不在VLAN/VSI内广播;如果二层设备没有路由器端口,未知组播数据报文会被丢弃,不再转发。相对于广播处理,这种方式可以降低瞬时带宽占用率。

【配置举例】

# VLAN 2内使能IGMP Snooping,并开启丢弃未知组播数据报文功能。

<Sysname> system-view

[Sysname] igmp-snooping

[Sysname-igmp-snooping] quit

[Sysname] vlan 2

[Sysname-vlan2] igmp-snooping enable

[Sysname-vlan2] igmp-snooping drop-unknown

# VLAN 2内使能MLD Snooping,并开启丢弃未知IPv6组播数据报文功能。

<Sysname> system-view

[Sysname] mld-snooping

[Sysname-mld-snooping] quit

[Sysname] vlan 2

[Sysname-vlan2] mld-snooping enable

[Sysname-vlan2] mld-snooping drop-unknown

# VSI aaa内使能IGMP Snooping,并开启丢弃未知组播数据报文功能。

<Sysname> system-view

[Sysname] igmp-snooping

[Sysname-igmp-snooping] quit

[Sysname] vsi aaa

[Sysname-vsi-aaa] igmp-snooping enable

[Sysname-vsi-aaa] igmp-snooping drop-unknown

5.3  MAC地址安全管理

5.3.1  黑洞MAC地址

【安全加固策略】

当出于网络安全的考虑需要禁止某个用户发送和接收报文时,可以将对应的MAC地址设置为黑洞MAC地址表项,当设备收到的报文源MAC地址或目的MAC地址与黑洞MAC地址表项匹配时,该报文被丢弃。

【配置举例】

# 000f-e201-0101配置为黑洞MAC地址表项(000f-e201-0101仅为示例)。

<Sysname> system-view

[Sysname] mac-address blackhole 000f-e201-0101 vlan 2

5.3.2  关闭MAC地址学习

【安全加固策略】

设备的MAC地址学习功能通常处于开启状态。有时为了保证设备的安全,需要关闭MAC地址学习功能。例如,非法用户使用大量源MAC地址不同的报文攻击设备,导致设备MAC地址表资源耗尽,造成设备无法根据网络的变化更新MAC地址表。关闭MAC地址学习功能可以有效防止这种攻击。

【配置举例】

# 关闭VLAN 10MAC地址学习功能。

<Sysname> system-view

[Sysname] vlan 10

[Sysname-vlan10] undo mac-address mac-learning enable

# 关闭端口GigabitEthernet1/0/1MAC地址学习功能。

<Sysname> system-view

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] undo mac-address mac-learning enable

# 关闭名为vpn1VSIMAC地址学习功能。

<Sysname> system-view

[Sysname] vsi vpn1

[Sysname-vsi-vpn1] undo mac-learning enable

5.3.3  控制MAC地址学习

【安全加固策略】

当非法用户使用大量源MAC地址不同的报文攻击设备时,会导致设备的MAC地址表变得庞大,可能引起设备转发性能下降的问题。为了避免网络受到冲击,可以配置MAC地址数学习上限功能。当MAC地址的学习数量达到上限时,则不再对MAC地址进行学习。同时还可以通过配置达到上限后的转发规则来控制是否允许系统转发源MAC不在MAC地址表中的报文。也可以开启告警功能在MAC地址数目达到最大值时、达到最大值后MAC地址数降低到最大值的90%以下时生成日志信息。

【配置举例】

# 配置端口GigabitEthernet1/0/1MAC地址数学习上限为600,当端口学习的MAC地址数达到600时,禁止转发源MAC地址不在MAC地址表里的报文。(600仅为示例)

<Sysname> system-view

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] mac-address max-mac-count 600

[Sysname-GigabitEthernet1/0/1] undo mac-address max-mac-count enable-forwarding

# 配置VLAN 10MAC地址数学习上限为600,当VLAN 10学习的MAC地址数达到600时,禁止转发源MAC地址不在MAC地址表里的报文。(600仅为示例)

<Sysname> system-view

[Sysname] vlan 10

[Sysname-vlan10] mac-address max-mac-count 600

[Sysname-vlan10] undo mac-address max-mac-count enable-forwarding

5.4  PPP协议报文安全

说明

RX8800不支持本特性。

 

5.4.1  配置PPP报文的MRU检查功能

【安全威胁】

PPP网络中,攻击者可能会发送大量超过协商MRU值的PPP报文对设备造成拒绝服务攻击。

【安全加固策略】

针对以上威胁,可开启PPP报文的MRU检查功能。开启本功能后,当本端收到对端发送的PPP报文的MTU值大于协商的MRU值时,直接丢弃该报文,避免成为拒绝服务攻击的目标。

【配置举例】

# 开启PPP报文的MRU检查功能。

<Sysname> system-view

[Sysname] ppp mru-check enable

5.5  数据流保护

5.5.1  IPsec

IPsec是一组安全协议集合,能够为承载于IP协议上的数据提供包括发送方认证、完整性验证和机密性保证等一整套安全服务,其包括AHAuthentication Header,认证头)、ESPEncapsulating Security Payload,封装安全载荷)、IKEInternet Key Exchange,互联网密钥交换)和IKEv2Internet Key Exchange Version 2,互联网密钥交换第2版)等协议。其中,AH协议和ESP协议用于提供安全服务,IKE协议和IKEv2协议用于密钥交换。

关于IPsec的详细信息,请参见“安全配置指导”中的“IPsec”。

5.6  报文&流量过滤

5.6.1  ACL

ACLAccess Control List,访问控制列表)是一系列用于识别报文流的规则的集合。ACL需要与其他功能配合使用,例如报文过滤、QoS策略和策略路由等。这些功能通过引用ACL对收发报文进行精确识别,并对命中ACL规则的报文执行预先设定的策略,达到控制网络访问行为和提高网络带宽利用率等目的。

根据规则制订依据的不同,可以将ACL分为如5-1所示的几种类型

表5-1 ACL的分类

ACL类型

编号范围

适用的IP版本

规则制订依据

无线客户端ACL

100199

IPv4IPv6

无线客户端连接的SSIDService Set Identifier,服务集标识符)

无线接入点ACL

200299

IPv4IPv6

无线接入点的MAC地址和序列号

基本ACL

20002999

IPv4

报文的源IPv4地址

IPv6

报文的源IPv6地址

高级ACL

30003999

IPv4

报文的源IPv4地址、目的IPv4地址、报文优先级、IPv4承载的协议类型及特性等三、四层信息

IPv6

报文的源IPv6地址、目的IPv6地址、报文优先级、IPv6承载的协议类型及特性等三、四层信息

二层ACL

40004999

IPv4IPv6

报文的源MAC地址、目的MAC地址、802.1p优先级、链路层协议类型等二层信息

用户自定义ACL

50005999

IPv4IPv6

以报文头为基准,指定从报文的第几个字节开始与掩码进行“与”操作,并将提取出的字符串与用户定义的字符串进行比较,从而找出相匹配的报文

 

关于ACL的详细信息,请参见“ACLQoS配置指导”中的“ACL”。

5.6.2  流量过滤

【安全威胁】

网络和设备在运行过程中,业务系统可能会因为外部的攻击流量引发系统过载或异常,最终导致业务不可用。通过流量过滤功能可以禁止某些流量特征的报文通过,保护网络和设备的正常运行,保证合法流量的正常转发。

【安全加固策略】

流量过滤功能通过QoS策略实现。将配置了流量过滤动作的QoS策略应用在指定位置(接口、全局或VLAN等),对符合流分类的流执行过滤动作(允许或禁止通过)。例如,可以根据网络的实际情况禁止从某个源IP地址发送过来的报文通过。

【配置举例】

# 定义高级ACL 3000,匹配源IP地址为10.0.0.2的数据流。(各参数仅为示例)

<Device> system-view

[Device] acl advanced 3000

[Device-acl-ipv4-adv-3000] rule permit ip source 10.0.0.2 0

[Device-acl-ipv4-adv-3000] quit

# 定义类classifier_1,匹配高级ACL 3000

[Device] traffic classifier classifier_1

[Device-classifier-classifier_1] if-match acl 3000

[Device-classifier-classifier_1] quit

# 定义流行为behavior_1,动作为流量过滤(deny),对数据包进行丢弃。

[Device] traffic behavior behavior_1

[Device-behavior-behavior_1] filter deny

[Device-behavior-behavior_1] quit

# 定义策略policy,为类classifier_1指定流行为behavior_1

[Device] qos policy policy

[Device-qospolicy-policy] classifier classifier_1 behavior behavior_1

[Device-qospolicy-policy] quit

# 将策略policy应用到端口GigabitEthernet1/0/1的入方向上。

[Device] interface gigabitethernet 1/0/1

[Device-GigabitEthernet1/0/1] qos apply policy policy inbound

5.6.3  Flowspec

近些年,DoSDenial of Service,拒绝服务)攻击和DDoSDistributed Denial of Service,分布式拒绝服务)攻击的频率、规模和复杂性都迅速飙升,成为网络安全的重大威胁。在DoS/DDoS攻击中,攻击者对同一个目的地址、网段或服务器发起流量攻击,导致网络拥塞或服务器CPU占用率过高,最终使得网络或设备无法正常为合法用户提供服务。

FlowspecFlow Specification,流规格)用来实现对BGP网络中的非法流量进行过滤与巡查,以减轻DoS/DDoS攻击对网络的影响。借助BGP路由更新,Flowspec针对攻击流量的特点,可集中配置和管理匹配规则以及流量动作,并快速地将匹配规则和流量动作应用到其他BGP路由器中。

BGP路由器收到Flowspec路由(匹配规则和流量动作)后将其应用到转发平面,从而对进入设备的流量采取适当的流量动作。Flowspec路由同样也支持跨AS传输,从而实现在最接近攻击源的设备上对攻击流量进行管控,这样能够最大程度地减少攻击流量对网络转发性能的影响。

关于Flowspec的详细信息,请参见“ACLQoS配置指导”中的“Flowspec”。

5.6.4  IP Source Guard

IP Source Guard功能用于对接口收到的报文进行过滤控制。IP Source Guard功能通常配置在接入用户侧的接口上,以防止非法用户报文通过,限制对网络资源的非法使用(比如非法主机仿冒合法用户IP接入网络),提高接口的安全性。

关于IP Source Guard的详细信息,请参见“安全配置指导”中的“IP Source Guard”。

5.6.5  uRPF

对于使用基于IP地址验证用户身份的应用来说,基于源地址欺骗的攻击手段可能导致未被授权用户以他人,甚至是管理员的身份获得访问系统的权限。即使响应报文没有发送给攻击者或其它主机,此攻击方法也可能会造成对被攻击对象的破坏。

攻击者也可能同时伪造不同源地址的攻击报文或者同时攻击多个服务器,造成网络阻塞甚至网络瘫痪。

uRPF可以有效防范上述攻击。一般情况下,设备在收到报文后会根据报文的目的地址对报文进行转发或丢弃。而uRPF可以在转发表中查找报文源地址对应的接口是否与报文的入接口相匹配,如果不匹配则认为源地址是伪装的并丢弃该报文,从而有效地防范网络中基于源地址欺骗的恶意攻击行为的发生。

关于uRPF的详细信息,请参见“安全配置指导”中的“uRPF”。

5.7  连接数限制

网络连接通常由报文五元组(源IP地址、源端口号、目的IP地址、目的端口号和协议类型)表示,用于标识一条端到端的数据流。在以下场景中,有必要对流经设备的特定数据流进行限制:

·     外网主机与内网服务器建立大量连接,消耗服务器的连接资源,影响其处理性能,使其不能为其他用户提供正常服务。

·     外网主机直接与设备建立大量连接,挤占设备的处理资源,降低其服务性能。

·     内网主机与外网服务器建立大量连接,消耗网关设备的表项资源(如NAT表项),使其他内网用户无法与外网进行正常通信。

设备提供多粒度阈值方式限制匹配指定ACL的新建连接的数量,管理员可基于报文源IP地址、目的IP地址和服务(目的端口号与协议类型)等粒度的不同组合来配置阈值,并可同时限制新建连接的速率。

关于连接数限制的详细信息,请参见“安全配置指导”中的“连接数限制”。

5.8  攻击检测与防范

5.8.1  DoS攻击检测与防范

部署于公网的网关设备,以及位于网关设备下游的主机或服务器容易受到各类单包攻击、扫描攻击和泛洪攻击等DoSDenial of Service,拒绝服务)攻击的侵害。受到DoS攻击的设备往往无法对正常用户的请求作出响应。

设备支持对如下DoS攻击进行有效防范:

·     单包攻击:ICMP redirectICMP unreachableICMP typeICMPv6 typeLandLarge ICMPLarge ICMPv6IP optionIP option abnormalFragmentImpossibleTiny fragmentSmurfTCP FlagTracerouteWinnukeUDP BombUDP SnorkUDP FraggleTeardropPing of deathIPv6 ext-header

·     扫描攻击:IP SweepPort scan、分布式Port scan

·     泛洪攻击:SYN floodACK floodSYN-ACK floodFIN floodRST floodDNS floodDNS reply floodHTTP floodSIP floodICMP floodICMPv6 floodUDP flood

关于DoS攻击检测与防范的详细信息,请参见“安全配置指导”中的“攻击检测与防范”。

5.8.2  基于IP的攻击防御

1. 防止Naptha攻击功能

【安全威胁】

Naptha属于DDoSDistributed Denial of Service,分布式拒绝服务)攻击方式,主要利用操作系统TCP/IP栈和网络应用程序需要使用一定的资源来控制TCP连接的特点,在短时间内不断地建立大量的TCP连接,并且使其保持在某个特定的状态(CLOSINGESTABLISHEDFIN_WAIT_1FIN_WAIT_2LAST_ACK五种状态中的一种),而不请求任何数据,那么被攻击设备会因消耗大量的系统资源而陷入瘫痪。

【安全加固策略】

防止Naptha攻击功能通过加速TCP状态的老化,来降低设备遭受Naptha攻击的风险。开启防止Naptha攻击功能后,设备周期性地对各状态的TCP连接数进行检测。当某状态的最大TCP连接数超过指定的最大连接数后,将加速该状态下TCP连接的老化。

【配置举例】

# 开启防止Naptha攻击功能,配置TCP连接的某一状态下的最大TCP连接数为100,配置TCP连接状态的检测周期为40秒。(各参数仅为示例)

<Sysname> system-view

[Sysname] tcp anti-naptha enable

[Sysname] tcp state established connection-limit 100

[Sysname] tcp check-state interval 40

2. 防止ICMP攻击功能

【安全威胁】

攻击者在短时间内向特定目标发送大量的ICMP请求报文(例如ping报文),使其忙于回复这些请求,致使目标系统负担过重而不能处理正常的业务。

【安全加固策略】

针对ICMP请求攻击,即ping flood攻击,可以通过开启ICMP功能,由硬件直接回应ICMP请求,从而避免CPU忙于回复这些请求。

【配置举例】

# 开启ICMP快速应答功能。

<Sysname> system-view

[Sysname] ip icmp fast-reply enable

3. 防止TCP SYN Flood攻击功能

【安全威胁】

根据TCP协议,TCP连接的建立需要经过三次握手。利用TCP连接的建立过程,一些恶意的攻击者可以进行SYN Flood攻击。攻击者向设备发送大量请求建立TCP连接的SYN报文,而不回应设备的SYN ACK报文,导致设备上建立了大量的无效TCP半连接,从而达到耗尽系统资源,使设备无法处理正常业务的目的。

【安全加固策略】

开启TCP SYN Flood攻击防范功能后,设备处于攻击检测状态,当设备收到请求端(要与其建立TCP连接的客户端)发送的SYN报文时,如果在一个检测周期内收到SYN报文的个数达到或超过触发阈值,即认为存在攻击,则进入攻击防范状态,限速或者丢弃后续收到的SYN报文。在攻击防范的持续时间到达后,设备由攻击防范状态恢复为攻击检测状态。TCP SYN Flood攻击防范进行报文统计的方式有两种:

基于接口:以从某接口收到的TCP SYN Flood攻击报文进行统计;

基于流:使用源IP地址、目的端口号、VPN和报文类型来标识一条数据流进行统计。

【配置举例】

·     配置基于接口的TCP SYN Flood攻击防范

# 开启基于接口的TCP SYN Flood攻击防范功能,配置触发阈值100持续时间5分钟,检测周期1秒。(各参数仅为示例)

<Sysname> system-view

[Sysname] tcp anti-syn-flood interface-based enable

[Sysname] tcp anti-syn-flood interface-based threshold 100

[Sysname] tcp anti-syn-flood interface-based duration 5

[Sysname] tcp anti-syn-flood interface-based check-interval 1

·     配置基于流的TCP SYN Flood攻击防范

# 开启基于流的TCP SYN Flood攻击防范功能,配置触发阈值100持续时间5分钟,检测周期1秒。(各参数仅为示例)

<Sysname> system-view

[Sysname] tcp anti-syn-flood flow-based enable

[Sysname] tcp anti-syn-flood flow-based threshold 100

[Sysname] tcp anti-syn-flood flow-based duration 5

[Sysname] tcp anti-syn-flood flow-based check-interval 1

4. 防止畸形IP报文攻击功能

【安全威胁】

网络设备可能会受到以下畸形IP报文的攻击:

·     LAND攻击:攻击者利用TCP建立连接时的三次握手过程的缺陷,伪造一个特别的SYN报文,报文中的源地址和目的地址被设置成同一台终端的地址,源端口与目的端口也被设置成同一个端口。该终端接收到SYN包之后,将导致该终端向自己的地址发送SYN+ACK消息。之后,这个地址又发回SYN+ACK消息并创建一个TCP空连接,每个这样的TCP空连接都将保留直到超时。造成目的终端存在过多的TCP空连接而正常连接无法建立的问题。

·     空载荷IP报文泛洪:攻击者构造大量只有IP报文头,但未携带任何载荷数据的IP报文进行泛洪攻击。终端用户收到并处理大量空载荷IP报文,影响正常业务的处理。

·     Smurf攻击:攻击者发送目的地址是广播地址,源地址是被攻击者地址的ICMP echo request报文。网络中所有主机收到该ICMP echo request报文后,都会向被攻击者发送reply报文。被攻击者收到reply报文后,都需要上送CPU处理。导致被攻击者的CPU利用率过高,影响正常业务的处理。

【安全加固策略】

开启畸形IP报文防攻击功能后,设备对收到报文都需要进行畸形IP报文检查,如果发现报文是畸形IP报文,则会直接丢弃该报文。

【注意事项】

畸形IP报文防攻击功能会一定程度上影响设备的报文处理速度,请在综合考虑安全性和转发性能后,酌情开启。

【配置举例】

# 开启畸形IP报文防攻击功能。

<Sysname> system-view

[Sysname] ip abnormal-packet-defend enable