• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

11-安全配置指导

目录

17-ND攻击防御配置

本章节下载 17-ND攻击防御配置  (298.22 KB)

17-ND攻击防御配置


1 ND攻击防御

1.1  ND攻击防御简介

IPv6 ND(IPv6 Neighbor Discovery,IPv6邻居发现)协议使用五种类型的ICMPv6消息,实现下面五种功能:地址解析、验证邻居是否可达、重复地址检测、路由器发现/前缀发现及地址自动配置和重定向。

ND协议使用的五种ICMPv6消息如下:

·     邻居请求消息NS(Neighbor Solicitation)

·     邻居通告消息NA(Neighbor Advertisement)

·     路由器请求消息RS(Router Solicitation)

·     路由器通告消息RA(Router Advertisement)

·     重定向消息RR(Redirect)

关于ND协议五种功能的详细介绍,请参见“三层技术-IP业务配置指导”中的“IPv6基础”。

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攻击带来的危害。

1.2  ND攻击防御配置任务简介

表1-1 ND攻击防御配置任务简介

配置任务

说明

详细配置

防止仿冒用户、仿冒网关攻击

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

可选

建议在网关设备上开启本功能

1.3 

配置ND Detection功能

可选

建议在接入设备上配置本功能

1.4 

配置RA Guard功能

可选

建议在接入设备上配置本功能

1.5 

ND的Keepalive表项扫描功能

可选

建议在接入设备上配置本功能

1.6 

 

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

ND协议报文源MAC地址一致性检查功能主要应用于网关设备上,防御ND报文中的源MAC地址和以太网数据帧首部中的源MAC地址不同的ND攻击。

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

若开启ND日志信息功能,当用户ND报文中的源MAC地址和以太网数据帧首部中的源MAC地址不同时,会有相关的日志信息输出。设备生成的ND日志信息会交给信息中心模块处理,信息中心模块的配置将决定日志信息的发送规则和发送方向。关于信息中心的详细描述请参见“网络管理和监控配置指导”中的“信息中心”。为了防止设备输出过多的ND日志信息,一般情况下建议不要开启此功能。

表1-2 开启ND协议报文源MAC地址一致性检查功能

操作

命令

说明

进入系统视图

system-view

-

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

ipv6 nd mac-check enable

缺省情况下,ND协议报文源MAC地址一致性检查功能处于关闭状态

(可选)开启ND日志信息功能

ipv6 nd check log enable

缺省情况下,ND日志信息功能处于关闭状态

 

1.4  配置ND Detection功能

1.4.1  ND Detection功能简介

ND Detection功能用来检查用户的合法性,主要应用于接入设备上。开启ND Detection功能后,合法用户的ND报文可以正常转发,否则直接丢弃,从而防止仿冒用户、仿冒网关的攻击。

ND Detection既可以用于VLAN组网,也可以用于VXLAN组网。

ND Detection功能将接入设备上的接口(VLAN组网)或AC(VXLAN组网)分为两种:

·     ND信任接口/ND信任AC:不进行用户合法性检查;

·     ND非信任接口/ND非信任AC:如果收到RA和RR消息,则认为是非法报文直接丢弃,如果收到其它类型的ND报文,则需要进行用户合法性检查,以防止仿冒用户的攻击。

用户合法性检查的方法为:将ND报文中源IPv6地址和源MAC地址与设备上的IPv6 Source Guard静态绑定表项、ND Snooping表项和DHCPv6 Snooping安全表项进行匹配。如果设备上存在与报文源IPv6地址和源MAC地址匹配的任意一种表项,则认为该ND报文合法,进行转发。否则,认为该报文非法,直接丢弃。

各种表项的生成方式为:

·     IPv6 Source Guard静态绑定表项:通过ipv6 source binding命令生成,详细介绍请参见“安全配置指导”中的“IP Source Guard”。

·     ND Snooping表项:通过ND Snooping功能自动生成,详细介绍请参见“三层技术-IP业务配置指导”中的“IPv6邻居发现”。

·     DHCPv6 Snooping安全表项:通过ND Snooping功能自动生成,详细介绍请参见“三层技术-IP业务配置指导”中的“DHCPv6”。

1.4.2  在VLAN内配置ND Detection功能

表1-3 在VLAN内配置ND Detection功能

操作

命令

说明

进入系统视图

system-view

-

进入VLAN视图

vlan vlan-id

-

开启ND Detection功能

ipv6 nd detection enable

缺省情况下,ND Detection功能处于关闭状态。即不进行用户合法性检查

退回系统视图

quit

-

进入二层以太网接口视图或二层聚合接口视图

interface interface-type interface-number

-

(可选)将不需要进行用户合法性检查的端口配置为ND信任端口

ipv6 nd detection trust

缺省情况下,端口为ND非信任端口

 

·     配置ND Detection功能时,必须至少配置IPv6 Source Guard静态绑定表项、DHCPv6 Snooping功能和ND Snooping功能三者之一,否则所有从ND非信任端口收到的ND报文都将被丢弃。

·     在与ND Detection功能配合时,IPv6 Source Guard绑定表项中必须指定VLAN参数,且该VLAN为配置ND Detection功能的VLAN,否则ND报文将无法通过接口的IPv6 Source Guard静态绑定表项的检查。

 

1.4.3  在VSI内配置ND Detection功能

不能在VSI内同时配置ND Snooping功能和ND Detection功能,否则ND Snooping无法学到表项。

表1-4 在VSI内配置ND Detection功能

操作

命令

说明

进入系统视图

system-view

-

进入VSI视图

vsi vsi-name

-

开启ND Detection功能

ipv6 nd detection enable

缺省情况下,ND Detection功能处于关闭状态。即不进行用户合法性检查

退回系统视图

quit

-

进入二层以太网接口视图或二层聚合接口视图

interface interface-type interface-number

-

进入以太网服务实例视图

service-instance instance-id

-

将不需要进行用户合法性检查的接口配置为ND信任接口

ipv6 nd detection trust

缺省情况下,端口为ND非信任端口

 

1.4.4  开启ND Detection忽略端口匹配检查功能

1. 功能简介

设备开启ND Detection功能后,可以根据IP Source Guard的本地表项和远端表项对接口上收到的用户报文进行安全检查。由于IP Source Guard远端表项不存在接口信息,ND Detection收到匹配远端表项的ND报文后,会因为收到报文的接口和IP Source Guard表项接口信息不匹配丢弃该报文。开启ND Detection忽略端口匹配检查功能后,ND Detection不会检查收到报文的接口信息,使匹配远端表项的ND报文能够通过检查,不会被丢弃。

2. 配置步骤

表1-5 开启ND Detection忽略端口匹配检查功能

操作

命令

说明

进入系统视图

system-view

-

开启ND Detection忽略端口匹配检查功能

ipv6 nd detection port-match-ignore

缺省情况下,ND Detection忽略端口匹配检查功能处于关闭状态

 

1.4.5  配置ND Detection日志功能

配置ND Detection日志功能后,设备在检测到非法ND报文时将生成检测日志,日志内容包括:

·     在VLAN组网中,显示的是受到攻击的端口编号;

·     在VXLAN组网中,显示的是受到攻击的以太网服务实例ID;

·     非法ND报文的源IP地址;

·     非法ND报文的源MAC地址;

·     非法ND报文所属的VLAN ID;

·     丢弃的ND报文总数。

表1-6 配置ND Detection日志

操作

命令

说明

进入系统视图

system-view

-

开启ND Detection日志功能

ipv6 nd detection log enable

缺省情况下,ND Detection日志功能处于关闭状态

 

1.4.6  ND Detection功能显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示配置后ND Detection的运行情况,通过查看显示信息验证配置的效果。

在用户视图下,用户可以执行reset命令清除ND Detection的统计信息。

表1-7 ND Detection功能显示和维护

操作

命令

显示ND Detection丢弃报文的统计信息

display ipv6 nd detection statistics [ interface interface-type interface-number ] [ service-instance instance-id ]

清除ND Detection的统计信息

reset ipv6 nd detection statistics [ interface interface-type interface-number ] [ service-instance instance-id ]

 

1.4.7  ND Detection功能典型配置举例

1. 组网需求

用户Host A和Host B通过DeviceB接入网关Device A。用户Host A的IPv6地址是10::5/64,MAC地址是0001-0203-0405。用户Host B的IPv6地址是10::6/64,MAC地址是0001-0203-0607。

要求:在Device B上配置ND Detection功能对用户的合法性进行检查,保证合法用户的报文可以被正常转发,非法用户的报文被丢弃。

2. 组网图

图1-2 配置ND Detection组网图

3. 配置步骤

(1)     配置Device A

# 创建VLAN 10。

<DeviceA> system-view

[DeviceA] vlan 10

[DeviceA-vlan10] quit

# 配置端口GigabitEthernet1/0/3允许VLAN 10的报文通过。

[DeviceA] interface gigabitethernet 1/0/3

[DeviceA-GigabitEthernet1/0/3] port link-type trunk

[DeviceA-GigabitEthernet1/0/3] port trunk permit vlan 10

[DeviceA-GigabitEthernet1/0/3] quit

# 配置VLAN接口10的IPv6地址。

[DeviceA] interface vlan-interface 10

[DeviceA-Vlan-interface10] ipv6 address 10::1/64

[DeviceA-Vlan-interface10] quit

(2)     配置Device B

# 创建VLAN 10。

<DeviceB> system-view

[DeviceB] vlan 10

[DeviceB-vlan10] quit

# 配置端口GigabitEthernet1/0/1~GigabitEthernet1/0/3允许VLAN 10的报文通过。

[DeviceB] interface gigabitethernet 1/0/1

[DeviceB-GigabitEthernet1/0/1] port link-type access

[DeviceB-GigabitEthernet1/0/1] port access vlan 10

[DeviceB-GigabitEthernet1/0/1] quit

[DeviceB] interface gigabitethernet 1/0/2

[DeviceB-GigabitEthernet1/0/2] port link-type access

[DeviceB-GigabitEthernet1/0/2] port access vlan 10

[DeviceB-GigabitEthernet1/0/2] quit

[DeviceB] interface gigabitethernet 1/0/3

[DeviceB-GigabitEthernet1/0/3] port link-type trunk

[DeviceB-GigabitEthernet1/0/3] port trunk permit vlan 10

[DeviceB-GigabitEthernet1/0/3] quit

# 开启ND Detection功能。

[DeviceB] vlan 10

[DeviceB-vlan10] ipv6 nd detection enable

# 开启ND Snooping表项获取功能,通过ND报文的源地址(包括全球单播地址和链路本地地址)生成ND Snooping表项。

[DeviceB-vlan10] ipv6 nd snooping enable global

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

[DeviceB-vlan10] quit

# 将上行端口GigabitEthernet1/0/3配置为ND信任端口,下行端口GigabitEthernet1/0/1和GigabitEthernet1/0/2采用缺省配置,即为ND非信任端口。

[DeviceB] interface gigabitethernet 1/0/3

[DeviceB-GigabitEthernet1/0/3] ipv6 nd detection trust

4. 验证配置

完成上述配置后,对于端口GigabitEthernet1/0/1和GigabitEthernet1/0/2收到的ND报文,基于ND Snooping安全表项进行检查。

1.5  配置RA Guard功能

1.5.1  RA Guard功能简介

RA Guard功能用来在二层接入设备上防范路由通告报文(RA报文)欺骗攻击。

二层接入设备收到目的MAC地址为单播或组播地址的RA报文后,RA Guard功能按照如下方式处理RA报文:

·     如果接收RA报文的端口配置了端口角色,则通过系统根据端口角色来选择转发还是丢弃该报文:

¡     若端口角色为路由器,则直接转发RA报文;

¡     若端口角色为用户,则直接丢弃RA报文。

·     如果接收RA报文的端口没有配置端口角色,则该报文继续匹配该端口属VLAN内的RA Guard策略:

¡     若RA Guard策略中未配置任何匹配规则,则应用该策略的端口直接转发RA报文;

¡     若RA Guard策略中配置了匹配规则,则RA报文需匹配策略下所有规则成功才会被转发;否则,该报文即被丢弃。

1.5.2  配置RA Guard功能

1. 配置端口角色

用户可根据端口在组网中的位置来配置端口的角色。如果确认端口连接的是用户主机,则配置端口角色为用户角色(host);如果确定端口连接的是路由器,则配置端口角色路由器角色(router)。

表1-8 配置端口角色

操作

命令

说明

进入系统视图

system-view

-

进入二层以太网端口视图/二层聚合端口视图

interface interface-type interface-number

-

配置端口角色

ipv6 nd raguard role { host | router }

缺省情况下,未配置端口角色

 

2. 配置RA Guard策略

对于下面两种情况,可通过配置RA Guard策略对RA报文按规则匹配条件进行过滤:

·     不能判断端口连接的设备类型,即不能通过配置端口角色来选择丢弃还是转发RA报文;

·     确认端口连接的是路由器,但用户不希望直接转发RA报文而是进行过滤。

表1-9 配置RA Guard策略

操作

命令

说明

进入系统视图

system-view

-

创建RA Guard策略,并进入RA Guard策略视图

ipv6 nd raguard policy policy-name

缺省情况下,设备上不存在任何RA Guard策略

(可选)配置ACL匹配规则

if-match acl { ipv6-acl-number | name ipv6-acl-name }

缺省情况下,未配置ACL匹配规则

(可选)配置前缀匹配规则

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报文跳数最大值或最小值匹配规则

退回系统视图

quit

-

进入VLAN视图

vlan vlan-number

-

应用RA Guard策略

ipv6 nd raguard apply policy [ policy-name ]

缺省情况下,未应用RA Guard策略

 

1.5.3  开启RA Guard日志功能

RA Guard日志是为了满足网络管理员审计的需要,对处理RA报文的信息进行的记录。开启RA Guard日志功能后,设备在检测到非法RA报文时将生成检测日志,日志内容包括:受到攻击的端口名、RA报文的源IP地址和丢弃的RA报文总数。

设备生成的RA Guard日志信息会交给信息中心模块处理,信息中心模块的配置将决定日志信息的发送规则和发送方向。关于信息中心的详细描述请参见“网络管理和监控配置指导”中的“信息中心”。

表1-10 开启RA Guard日志功能

操作

命令

说明

进入系统视图

system-view

-

开启RA Guard日志功能

ipv6 nd raguard log enable

缺省情况下,RA Guard日志功能处于关闭状态

 

1.5.4  RA Guard功能显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示RA Guard策略的信息。

表1-11 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.5.5  RA Guard功能典型配置举例

1. 组网需求

图1-3所示,在Device B上通过端口GigabitEthernet1/0/1和GigabitEthernet1/0/2分别连接主机Host和Device C,通过端口GigabitEthernet1/0/3连接Device A。端口GigabitEthernet1/0/1、GigabitEthernet1/0/2和GigabitEthernet1/0/3都属于VLAN 10。

为防范路由通告报文(RA报文)欺骗攻击,可在Device B上配置RA Guard策略规则,并在VLAN 10下应用该策略规则:

·     端口GigabitEthernet1/0/2连接的是未知设备,用户希望该端口对RA报文按RA Guard策略规则进行匹配过滤;

·     端口GigabitEthernet1/0/1连接的是用户,用户希望该端口完全过滤RA报文将其直接丢弃;

·     端口GigabitEthernet1/0/3连接的是Device A,用户希望该端口完全信任RA报文将其直接转发。

2. 组网图

图1-3 RA Guard功能组网图

3. 配置步骤

# 在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

# 配置端口GigabitEthernet1/0/1~GigabitEthernet1/0/3允许VLAN 10的报文通过,并在VLAN 10下应用RA Guard策略。

[DeviceB] interface gigabitethernet 1/0/1

[DeviceB-GigabitEthernet1/0/1] port link-type access

[DeviceB-GigabitEthernet1/0/1] port access vlan 10

[DeviceB-GigabitEthernet1/0/1] quit

[DeviceB] interface gigabitethernet 1/0/2

[DeviceB-GigabitEthernet1/0/2] port link-type access

[DeviceB-GigabitEthernet1/0/2] port access vlan 10

[DeviceB-GigabitEthernet1/0/2] quit

[DeviceB] interface gigabitethernet 1/0/3

[DeviceB-GigabitEthernet1/0/3] port link-type trunk

[DeviceB-GigabitEthernet1/0/3] port trunk permit vlan 10

[DeviceB-GigabitEthernet1/0/3] quit

[DeviceB] vlan 10

[DeviceB-vlan10] ipv6 nd raguard apply policy policy1

[DeviceB-vlan10] quit

# 配置端口GigabitEthernet1/0/1为用户角色。

[DeviceB] interface gigabitethernet 1/0/1

[DeviceB-GigabitEthernet1/0/1] ipv6 nd raguard role host

[DeviceB-GigabitEthernet1/0/1] quit

# 配置端口GigabitEthernet1/0/3为路由器角色。

[DeviceB] interface gigabitethernet 1/0/3

[DeviceB-GigabitEthernet1/0/3] ipv6 nd raguard role router

[DeviceB-GigabitEthernet1/0/3] quit

4. 验证配置

完成上述配置后:

·     从端口GigabitEthernet1/0/2收到的RA报文,会匹配RA Guard策略policy1:

¡     如果匹配失败则丢弃;

¡     如果匹配成功,报文会被转发到VLAN 10下其他端口。

·     从端口GigabitEthernet1/0/1收到的RA报文,不会匹配RA Guard策略policy1,RA报文都被直接丢弃。

·     对于端口GigabitEthernet1/0/3收到的RA报文,不会和策略policy1下的规则进行匹配,RA报文都直接被转发,在同一VLAN的其他端口也会收到此RA报文。

1.6  ND的Keepalive表项扫描功能

在规模较大的组网环境中(比如园区网络),使用ND周期性扫描功能后,如果指定的扫描范围过大,会导致需要较长的时间才能扫描到异常下线的主机。开启本功能后系统可以通过Keepalive表项快速定位异常下线的主机,并在老化时间内对异常下线主机的状态进行监测。

用户上线后,系统会生成动态ND表项和IP Source Guard绑定表项。开启本功能后,系统会根据这些表项建立状态为在线的Keepalive表项。用户下线后其ND表项会被删除,对应的Keepalive表项的状态被置为离线。设备每隔一段时间会向处于离线状态的Keepalive表项对应的IPv6地址发送ND请求报文,直到Keepalive表项的状态恢复成在线或离线状态的Keepalive表项被删除。处于离线状态的Keepalive表项在老化时间内没有恢复成在线便会被删除。对于某处于离线状态的Keepalive表项,设备发送ND请求报文的间隔时间由已经向此Keepalive表项对应的IPv6地址发送的ARP请求报文的个数决定。关于IP Source Guard的详细介绍,请参见“安全配置指导”中的“IP Source Guard”。

表1-12 配置ND的Keepalive表项扫描功能

操作

命令

说明

进入系统视图

system-view

-

(可选)设置ND的Keepalive表项扫描速率

ipv6 nd scan keepalive send-rate pps

缺省情况下,ND的Keepalive表项扫描速率为每秒发送48个ND请求报文

(可选)配置ND的Keepalive表项的老化时间

ipv6 nd scan keepalive aging-time time

缺省情况下,ND的Keepalive表项的老化时间为60分钟

进入接口视图

interface interface-type interface-number

-

开启ND的Keepalive表项扫描功能

ipv6 nd scan keepalive enable

缺省情况下,接口上的ND的Keepalive表项扫描功能处于关闭状态

 

1.6.1  ND的Keepalive表项扫描显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示ND的Keepalive表项扫描的相关信息。

在用户视图下,用户可以执行reset命令清除接口向异常状态的Keepalive表项发送的ND请求报文的计数信息。

表1-13 ARP的Keepalive表项扫描显示信息

操作

命令

显示ND的Keepalive表项信息

display ipv6 nd scan keepalive entry [ interface interface-type interface-number ] [ count ]

显示接口向异常状态的Keepalive表项发送的NS报文个数

(独立运行模式)

display ipv6 nd scan keepalive statistics [ interface interface-type interface-number ] [ slot slot-number ]

(IRF模式)

display ipv6 nd scan keepalive statistics [ interface interface-type interface-number ] [ chassis chassis-number slot slot-number ]

清除接口向异常状态的Keepalive表项发送的NS报文的计数信息

(独立运行模式)

reset ipv6 nd scan keepalive statistics [ slot slot-number ]

(IRF模式)

reset ipv6 nd scan keepalive statistics [ chassis chassis-number slot slot-number ]

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们