14-ND攻击防御配置
本章节下载: 14-ND攻击防御配置 (222.30 KB)
目 录
1.5 配置IPv6 Destination Guard功能
1.5.3 配置全局IPv6 Destination Guard功能
1.5.4 配置接口IPv6 Destination Guard功能
1.5.5 IPv6 Destination Guard功能显示和维护
ND协议功能强大,但是却没有任何安全机制,容易被攻击者利用。如图1-1所示,当Device作为接入设备时,攻击者Host B可以仿冒其他用户、仿冒网关发送伪造的ND报文,对网络进行攻击:
· 如果攻击者仿冒其他用户的IPv6地址发送NS/NA/RS报文,将会改写网关或者其他用户的ND表项,导致被仿冒用户的报文错误的发送到攻击者的终端上。
· 如果攻击者仿冒网关发送RA报文,会导致其他用户的IPv6配置参数错误和ND表项被改写。
图1-1 ND攻击示意图
伪造的ND报文具有如下特点:
· 伪造的ND报文中源MAC地址和源链路层选项地址中的MAC地址不一致。
· 伪造的ND报文中源IPv6地址和源MAC地址的映射关系不是合法用户真实的映射关系。
根据上述攻击报文的特点,设备开发了多种功能对ND攻击进行检测,可以有效地防范ND攻击带来的危害。
如下所有配置均为可选,请根据实际情况选择配置。
ND报文限速功能是指对上送CPU的ND报文进行限速,可以防止大量ND报文对CPU进行冲击。例如,配置ND Detection功能后,设备会将收到的ND报文重定向到CPU进行检查,这样如果攻击者恶意构造大量ND报文发往设备,会导致设备的CPU负担过重,从而造成其他功能无法正常运行甚至设备瘫痪。此时可以配置ND报文限速功能来控制接口收到ND报文的速率。
设备上配置ND报文限速功能后,当接口上单位时间收到的ND报文数量超过设定的限速值,超过限速部分的报文会被丢弃。如果同时开启了ND报文限速日志功能,设备记录该时间间隔内的超速峰值速率,并生成日志信息发送给信息中心。通过设置信息中心的参数,最终决定日志报文的输出规则(即是否允许输出以及输出方向)。有关信息中心参数的配置请参见“网络管理和监控配置指导”中的“信息中心”。
建议在配置了ND Detection、ND Snooping或者发现有ND泛洪攻击的情况下,配置ND报文限速功能。
为防止过多的日志信息干扰工作,可以设定较大的信息发送时间间隔。
如果开启了ND报文限速的日志功能,并在二层聚合接口上开启了ND报文限速功能,则只要聚合成员接口上的ND报文速率超过设定的限速值,设备就会发送日志信息。
(1) 进入系统视图。
system-view
(2) (可选)开启ND报文限速日志功能。
ipv6 nd rate-limit log enable
缺省情况下,设备的ND报文限速日志功能处于关闭状态。
(3) (可选)配置当设备收到的ND报文速率超过用户设定的限速值时,发送日志的时间间隔。
ipv6 nd rate-limit log interval interval
缺省情况下,当设备收到的ND报文速率超过用户设定的限速值时,发送日志的时间间隔为60秒。
(4) 进入接口视图。
interface interface-type interface-number
支持的接口类型包括二层以太网接口、二层聚合接口视图、三层以太网接口和三层聚合接口视图。
(5) 开启ND报文限速功能,并指定ND报文限速速率。
ipv6 nd rate-limit [ pps ]
缺省情况下,ND报文限速功能处于开启状态。
ND协议报文源MAC地址一致性检查功能主要应用于网关设备上,防御ND报文中的源MAC地址和以太网数据帧首部中的源MAC地址不同的ND攻击。
开启本特性后,网关设备会对接收的ND协议报文进行检查。如果ND报文中的源MAC地址和以太网数据帧首部中的源MAC地址不一致,则认为是攻击报文,将其丢弃;否则,继续进行ND学习。
若开启ND日志信息功能,当用户ND报文中的源MAC地址和以太网数据帧首部中的源MAC地址不同时,会有相关的日志信息输出。设备生成的ND日志信息会交给信息中心模块处理,信息中心模块的配置将决定日志信息的发送规则和发送方向。关于信息中心的详细描述请参见“网络管理和监控配置指导”中的“信息中心”。
(1) 进入系统视图。
system-view
(2) 开启ND协议报文源MAC地址一致性检查功能。
ipv6 nd mac-check enable
缺省情况下,ND协议报文源MAC地址一致性检查功能处于关闭状态。
(3) (可选)开启ND日志信息功能。
ipv6 nd check log enable
缺省情况下,ND日志信息功能处于关闭状态。
为了防止设备输出过多的ND日志信息,一般情况下建议不要开启此功能。
IPv6 Destination Guard功能用来保证设备只向链路上明确的地址发起IPv6地址解析。在设备发送或转发报文前,IPv6 Destination Guard功能会根据DHCPv6中继表项或IP Source Guard表项检查报文目的地址和出接口的对应关系:
· 保证通过设备只能访问合法且活动的终端设备;
· 减少设备上生成的ND表项数目,提高设备性能。
开启了IPv6 Destination Guard功能后,设备将会执行以下处理:
(1) 根据报文的目的IPv6地址和出接口对应关系查询设备记录的DHCPv6中继表项:
¡ 如果查到有对应的DHCPv6中继表项,则从出接口发起ND解析,解析成功后则转发该报文,解析不成功则丢弃该报文;
¡ 如果未查到对应的DHCPv6中继表项,则继续进行如下处理。
(2) 根据报文的目的IPv6地址和出接口的对应关系查询设备记录的IP Source Guard表项:
¡ 如果查到有对应的IP Source Guard表项,则从出接口发起ND解析,解析成功后则转发该报文,解析不成功则丢弃该报文;
¡ 如果未查到IP Source Guard表项,则不会发起ND解析,直接丢弃该报文。
当设备存在CPU使用率超过指定的阈值,系统内存使用率超过指定的阈值或未解析的ND表项数目超过某个值等情况时,设备就会进入压力模式。压力模式下,如果设备继续进行大量ND解析工作,会发生CPU满负荷运行导致系统崩溃的问题。通过指定stressed参数,保证设备在进入压力模式后,才开启IPv6 Destination Guard功能。这时,设备只会对IPv6 Destination Guard功能检查通过的报文进行ND解析,未经过IPv6 Destination Guard功能检查的报文不进行ND解析,从而进一步减轻了CPU和内存的负担。
关于DHCPv6中继的详细介绍,请参见“三层技术-IP业务配置指导”中的“DHCPv6中继”。关于IP Source Guard的详细介绍,请参见“安全配置指导”中的“IP Source Guard”。
设备支持在全局和接口上开启IPv6 Destination Guard功能。
如果接口上配置了IPv6 Destination Guard功能,接口IPv6 Destination Guard功能的状态以接口的配置为准,不受全局IPv6 Destination Guard功能的影响。如果接口上未配置IPv6 Destination Guard功能,接口IPv6 Destination Guard功能的状态以全局的配置为准。
(1) 进入系统视图。
system-view
(2) 配置全局IPv6 Destination Guard功能。
¡ 开启全局IPv6 Destination Guard功能。
ipv6 destination-guard global enable [ stressed ]
¡ 关闭全局IPv6 Destination Guard功能。
undo ipv6 destination-guard global enable
缺省情况下,全局IPv6 Destination Guard功能处于关闭状态。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置接口IPv6 Destination Guard功能。
¡ 开启接口IPv6 Destination Guard功能。
ipv6 destination-guard enable [ stressed ]
¡ 关闭接口IPv6 Destination Guard功能。
ipv6 destination-guard disable
缺省情况下,接口IPv6 Destination Guard功能的状态与全局IPv6 Destination Guard功能的状态保持一致。
在完成上述配置后,在任意视图下执行display命令可以显示IPv6 Destination Guard功能状态的信息。
表1-1 display ipv6 destination-guard命令显示信息描述表
字段 |
描述 |
显示全局和接口的IPv6 Destination Guard功能状态的信息 |
display ipv6 destination-guard [ interface interface-type interface-number ] |
仅Release 2825及以上版本支持本功能。
用户可根据业务需求开启指定功能的ND模块的告警:
· 当开启了ND模块邻居表项达到阈值的告警功能后,设备会将当前的邻居表项信息记录在告警信息中,生成的告警信息将发送到设备的SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关特性。
· 当开启了ND模块终端与本机冲突的告警功能后,设备将冲突报文的IPv6地址、MAC地址等信息作为告警信息发送出去,生成的告警信息将发送到设备的SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关特性。
· 当开启了ND模块ND Miss消息限速的告警功能后,设备将报文速率信息作为告警信息发送出去,生成的告警信息将发送到设备的SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关特性。当设备收到目标IP地址不能解析的IP报文时,会向CPU上送ND Miss消息。
· 开启了ND报文发送限速的告警功能后,如果设备每秒发送的ND报文的个数超过了设备定制的阈值,设备会将超速峰值作为告警信息发送出去,生成的告警信息将发送到设备的SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关特性。有关ND报文限速的配置请参见“配置ND报文限速功能”。
· 开启了ND模块终端用户间IPv6地址冲突的告警功能后,设备会将冲突报文的发送端IPv6地址和MAC地址、发生冲突的本地表项的MAC地址等信息作为告警信息发送到设备的SNMP模块。有关开启ND记录终端用户间IPv6地址冲突功能请参见“三层技术-IP业务配置指导”中的“IPv6基础”。
可以通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关特性。有关告警信息的详细描述,请参见“网络管理和监控配置指导”中的“SNMP”。
(1) 进入系统视图。
system-view
(2) 开启ND模块的告警功能。
snmp-agent trap enable nd [ entry-limit | local-conflict | nd-miss | rate-limit | user-ip-conflict ] *
缺省情况下,ND模块的告警功能处于关闭状态。
如果不指定任何参数,则表示打开ND模块的所有告警功能。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!