19-ND攻击防御配置
本章节下载: 19-ND攻击防御配置 (311.15 KB)
目 录
1.7 配置IPv6 Destination Guard功能
1.7.3 配置全局IPv6 Destination Guard功能
1.7.4 配置接口IPv6 Destination Guard功能
1.7.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报文限速功能
· ND报文限速功能
设备上配置ND报文限速功能后,当接口上单位时间收到的ND报文数量超过用户设定的限速值,超过限速部分的报文会被丢弃。
(3) (可选)配置当设备收到的ND报文速率超过用户设定的限速值时,设备发送日志的时间间隔。
ipv6 nd rate-limit log interval interval
interface interface-type interface-number
interface bridge-aggregation interface-number
interface route-aggregation interface-number
仅R6555P02及以上版本支持本特性。
ND报文限速功能是指对上送CPU的ND报文进行限速,可以防止大量ND报文对CPU进行冲击。例如,在配置了ND Detection功能后,设备会将收到的ND报文重定向到CPU进行检查,这样引入了新的问题:如果攻击者恶意构造大量ND报文发往设备,会导致设备的CPU负担过重,从而造成其他功能无法正常运行甚至设备瘫痪,这个时候可以配置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
(4) 进入接口视图。
¡ 进入二层/三层以太网接口视图。
interface interface-type interface-number
¡ 进入二层聚合接口视图。
interface bridge-aggregation interface-number
¡ 进入三层聚合接口视图。
interface route-aggregation 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日志信息,一般情况下建议不要开启此功能。
ND Detection功能主要应用于接入设备上,检查用户的合法性。对于合法用户的ND报文进行正常转发,否则直接丢弃,从而防止仿冒用户、仿冒网关的攻击,具体包括以下几个功能:
· 用户合法性检查;
· ND Detection日志功能。
ND Detection功能将接入设备上的接口分为两种:ND信任接口、ND非信任接口。
· 对于ND信任接口,不进行用户合法性检查;
· 对于ND非信任接口,如果收到RA和RR消息,则认为是非法报文直接丢弃,如果收到其它类型的ND报文,则需要进行用户合法性检查,以防止仿冒用户的攻击。
用户合法性检查是根据ND报文中源IPv6地址和源MAC地址,检查用户是否是报文收到接口所属VLAN上的合法用户,包括IPv6 Source Guard静态绑定表项和DHCPv6 Snooping安全表项的检查。只要能查询到表项,就认为该ND报文合法,进行转发。如果没有匹配的表项,则认为是非法报文,直接丢弃。
IPv6 Source Guard静态绑定表项通过ipv6 source binding命令生成,详细介绍请参见“安全配置指导”中的“IP Source Guard”。DHCPv6 Snooping安全表项通过DHCPv6 Snooping功能自动生成,详细介绍请参见“三层技术-IP业务配置指导”中的“DHCPv6 Snooping”。
· 配置ND Detection功能时,必须至少配置IPv6 Source Guard静态绑定表项和DHCPv6 Snooping功能二者之一,否则所有从ND非信任接口收到的ND报文都将被丢弃。
· 在与ND Detection功能配合时,IPv6 Source Guard绑定表项中必须指定VLAN参数,且该VLAN为配置ND Detection功能的VLAN,否则ND报文将无法通过接口的IPv6 Source Guard静态绑定表项的检查。
(1) 进入系统视图。
system-view
(2) 进入VLAN视图。
vlan vlan-id
(3) 开启ND Detection功能。
ipv6 nd detection enable
缺省情况下,ND Detection功能处于关闭状态。即不进行用户合法性检查。
(4) (可选)将不需要进行用户合法性检查的接口配置为ND信任接口。
a. 退回系统视图。
quit
b. 进入接口视图。
interface interface-type interface-number
c. 将不需要进行用户合法性检查的接口配置为ND信任接口。
ipv6 nd detection trust
缺省情况下,接口为ND非信任接口。
配置ND Detection日志功能后,设备在检测到非法ND报文时将生成检测日志,日志内容包括:
· 在VLAN组网中,显示的是受到攻击的端口编号;
· 在VXLAN组网中,显示的是受到攻击的以太网服务实例ID;
· 非法ND报文的源IP地址;
· 非法ND报文的源MAC地址;
· 非法ND报文所属的VLAN ID;
· 丢弃的ND报文总数。
(1) 进入系统视图。
system-view
(2) 开启ND Detection日志功能。
ipv6 nd detection log enable
缺省情况下,ND Detection日志功能处于关闭状态。
在完成上述配置后,在任意视图下执行display命令可以显示配置后ND Detection的运行情况,通过查看显示信息验证配置的效果。
在用户视图下,用户可以执行reset命令清除ND Detection的统计信息。
表1-1 ND Detection功能显示和维护
操作 |
命令 |
显示ND Detection丢弃报文的统计信息 |
display ipv6 nd detection statistics [ interface interface-type interface-number ] |
清除ND Detection的统计信息 |
reset ipv6 nd detection statistics [ interface interface-type interface-number ] |
RA Guard功能用来在二层接入设备上防范路由通告报文(RA报文)欺骗攻击。
二层接入设备收到目的MAC地址为单播或组播地址的RA报文后,RA Guard功能按照如下方式处理RA报文:
· 如果接收RA报文的接口配置了接口角色,则通过系统根据接口角色来选择转发还是丢弃该报文:
¡ 若接口角色为路由器,则直接转发RA报文;
¡ 若接口角色为用户,则直接丢弃RA报文。
· 如果接收RA报文的接口没有配置接口角色,则该报文继续匹配该接口属VLAN内的RA Guard策略:
¡ 若RA Guard策略中未配置任何匹配规则,则应用该策略的接口直接转发RA报文;
¡ 若RA Guard策略中配置了匹配规则,则RA报文需匹配策略下所有规则成功才会被转发;否则,该报文即被丢弃。
可根据接口在组网中的位置来配置接口的角色。如果确认接口连接的是用户主机,则配置接口角色为用户角色(host);如果确定接口连接的是路由器,则配置接口角色为路由器角色(router)。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
¡ 进入二层以太网接口视图
interface interface-type interface-number
¡ 进入二层聚合接口视图
interface bridge-aggregation interface-number
(3) 配置接口角色。
ipv6 nd raguard role { host | router }
缺省情况下,未配置接口角色。
对于下面两种情况,可通过配置RA Guard策略对RA报文按规则匹配条件进行过滤:
· 不能判断接口连接的设备/终端类型,即不能通过配置接口角色来选择丢弃还是转发RA报文;
· 确认接口连接的是路由器,但用户不希望直接转发RA报文而是进行过滤。
(1) 进入系统视图。
system-view
(2) 创建RA Guard策略,并进入RA Guard策略视图。
ipv6 nd raguard policy policy-name
(3) 配置RA Guard策略。请至少选择其中一项进行配置。
¡ 配置ACL匹配规则。
if-match acl { ipv6-acl-number | name ipv6-acl-name }
¡ 配置前缀匹配规则。
if-match prefix acl { ipv6-acl-number | name ipv6-acl-name }
¡ 配置路由最高优先级匹配规则。
if-match router-preference maximum { high | low | medium }
¡ 配置被管理地址标志位匹配规则。
if-match autoconfig managed-address-flag { off | on }
¡ 配置其他信息配置标志位匹配规则。
if-match autoconfig other-flag { off | on }
¡ 配置RA报文内跳数最大值或最小值匹配规则。
if-match hop-limit { maximum | minimum } limit
缺省情况下,未配置RA Guard策略。
(4) 退回系统视图。
quit
(5) 进入VLAN视图。
vlan vlan-number
(6) 应用RA Guard策略。
ipv6 nd raguard apply policy [ policy-name ]
缺省情况下,未应用RA Guard策略。
RA Guard日志可以方便管理员定位问题和解决问题,对处理RA报文的信息进行的记录。开启RA Guard日志功能后,设备在检测到非法RA报文时将生成检测日志,日志内容包括:受到攻击的接口名称、RA报文的源IP地址和丢弃的RA报文总数。
设备生成的RA Guard日志信息会交给信息中心模块处理,信息中心模块的配置将决定日志信息的发送规则和发送方向。关于信息中心的详细描述请参见“网络管理和监控配置指导”中的“信息中心”。
(1) 进入系统视图。
system-view
(2) 开启RA Guard日志功能。
ipv6 nd raguard log enable
缺省情况下,RA Guard日志功能处于关闭状态。
在完成上述配置后,在任意视图下执行display命令可以显示RA Guard策略的信息。
表1-2 RA Guard 功能显示和维护
操作 |
命令 |
显示已创建的RA Guard策略信息 |
display ipv6 nd raguard policy [ policy-name ] |
显示RA Guard的报文统计信息 |
display ipv6 nd raguard statistics [ interface interface-type interface-number ] |
清除RA Guard的报文统计信息 |
reset ipv6 nd raguard statistics [ interface interface-type interface-number ] |
如图1-2所示,在Device B上通过接口Twenty-FiveGigE1/0/1和Twenty-FiveGigE1/0/2分别连接主机Host和Device C,通过接口Twenty-FiveGigE1/0/3连接Device A。接口Twenty-FiveGigE1/0/1、Twenty-FiveGigE1/0/2和Twenty-FiveGigE1/0/3都属于VLAN 10。
为防范路由通告报文(RA报文)欺骗攻击,可在Device B上配置RA Guard策略规则,并在VLAN 10下应用该策略规则:
· 接口Twenty-FiveGigE1/0/2连接的是未知设备,用户希望该接口对RA报文按RA Guard策略规则进行匹配过滤;
· 接口Twenty-FiveGigE1/0/1连接的是用户,用户希望该接口完全过滤RA报文将其直接丢弃;
· 接口Twenty-FiveGigE1/0/3连接的是Device A,用户希望该接口完全信任RA报文将其直接转发。
图1-2 RA Guard功能组网图
# 在Device B上创建RA Guard策略policy1,并配置匹配规则。匹配最高路由优先级为高,被管理地址标志位置为1、其他信息配置标志位置为1、跳数最小值为100且最大值为120的RA报文。
<DeviceB> system-view
[DeviceB] ipv6 nd raguard policy policy1
[DeviceB-raguard-policy-policy1] if-match router-preference maximum high
[DeviceB-raguard-policy-policy1] if-match autoconfig managed-address-flag on
[DeviceB-raguard-policy-policy1] if-match autoconfig other-flag on
[DeviceB-raguard-policy-policy1] if-match hop-limit maximum 120
[DeviceB-raguard-policy-policy1] if-match hop-limit minimum 100
[DeviceB-raguard-policy-policy1] quit
# 配置接口Twenty-FiveGigE1/0/1~Twenty-FiveGigE1/0/3允许VLAN 10的报文通过,并在VLAN 10下应用RA Guard策略。
[DeviceB] interface twenty-fivegige 1/0/1
[DeviceB-Twenty-FiveGigE1/0/1] port link-type access
[DeviceB-Twenty-FiveGigE1/0/1] port access vlan 10
[DeviceB-Twenty-FiveGigE1/0/1] quit
[DeviceB] interface twenty-fivegige 1/0/2
[DeviceB-Twenty-FiveGigE1/0/2] port link-type access
[DeviceB-Twenty-FiveGigE1/0/2] port access vlan 10
[DeviceB-Twenty-FiveGigE1/0/2] quit
[DeviceB] interface twenty-fivegige 1/0/3
[DeviceB-Twenty-FiveGigE1/0/3] port link-type trunk
[DeviceB-Twenty-FiveGigE1/0/3] port trunk permit vlan 10
[DeviceB-Twenty-FiveGigE1/0/3] quit
[DeviceB] vlan 10
[DeviceB-vlan10] ipv6 nd raguard apply policy policy1
[DeviceB-vlan10] quit
# 配置接口Twenty-FiveGigE1/0/1为用户角色。
[DeviceB] interface twenty-fivegige 1/0/1
[DeviceB-Twenty-FiveGigE1/0/1] ipv6 nd raguard role host
[DeviceB-Twenty-FiveGigE1/0/1] quit
# 配置接口Twenty-FiveGigE1/0/3为路由器角色。
[DeviceB] interface twenty-fivegige 1/0/3
[DeviceB-Twenty-FiveGigE1/0/3] ipv6 nd raguard role router
[DeviceB-Twenty-FiveGigE1/0/3] quit
完成上述配置后:
· 从接口Twenty-FiveGigE1/0/2收到的RA报文,会匹配RA Guard策略policy1:
¡ 如果匹配失败则丢弃;
¡ 如果匹配成功,报文会被转发到VLAN 10下其他接口。
· 从接口Twenty-FiveGigE1/0/1收到的RA报文,不会匹配RA Guard策略policy1,RA报文都被直接丢弃。
对于接口Twenty-FiveGigE1/0/3收到的RA报文,不会和策略policy1下的规则进行匹配,RA报文都直接被转发,在同一VLAN的其他接口也会收到此RA报文。
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-3 display ipv6 destination-guard命令显示信息描述表
字段 |
描述 |
显示全局和接口的IPv6 Destination Guard功能状态的信息 |
display ipv6 destination-guard [ interface interface-type interface-number ] |
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!