Untitled Page
IPv6的2篇文章

第一篇:

让IPv6强大的关键——NDP邻居发现协议

一、简述

邻居发现协议NDP(Neighbor Discovery Protocol)是IPv6协议体系中一个重要的基础协议。邻居发现协议替 代了IPv4的ARP(Address Resolution Protocol)和ICMP 路由器发现Router Discovery)ICMP重定向等,它 定义了使用ICMPv6报文实现地址解析,跟踪邻居状态,重复地址检测,路由器发现以及重定向等功能。

二、 NDP消息

NDP 主要通过ICMPv6消息实现所需功能,它定义了5种ICMPv6报文类型:

NDP 消息通常在链路本地的范围内收发。

为 了进一步增强安全性,承载所有NDP消息的IPV6数据包的跳数限制为255,如果收到的数据包跳数小于255的,说明该数据包最少已 经经过一台路由器,因此该数据包应该被丢弃。这样可以防 止NDP受到来自不与本地链路相连的源节点的攻击或欺骗

三、 地址解析(类PIv4的ARP)

地 址解析在报文转发过程中具有至关重要的作用。当一个节点需要得到同一条链路上另外一个节点的链路层地址时,需要进行地址解析。在IPv4中,必须先通过 ARP协议获得目的主机的链路层地址。IPv6使用NDP实现了这个功能,且有所增强。IPv6的地址解析过程包括两部分:一部分解 析目的IP地址所对应的链路层地址;另一部分是邻居可达性状态的维护过程,即邻 居不可达检测

ARP 报文是直接封装在以太网报文中,以太网协议类型为0x0806,普遍观点认为ARP定位为第2.5层的协议。NDP本身基于ICMPv6实现,以太网协议 类型为0x86DD,即IPv6报文,IPv6下一个报头字段值为58,表示ICMPv6报文,由于NDP协议使用的所有报文均封装在ICMPv6报文 中,一般来说,NDP被看作第3层的协议。在三层完成地址解析,主要带来以下几个好处:

地 址解析过程中使用了两种ICMPv6报文:邻居请求报文NS(Neighbor Solicitation)和邻居通告报文NA(Neighbor Advertisement)。

IPv6 地址解析过程分析
Uploaded Image
简 述
  1. Host A在向Host B发送报文之前它必须要解析出Host B的链路层地址,所以首先Host A会发送一个NS报文,其中源地址为Host A的IPv6地址,目的地址为Host B的被请求节点组播地址,需要解析的目标IP为Host B的IPv6地址,这就表示Host A想要知道Host B的链路层地址。同时需要指出的是,在NS报文的Options字段中还携带了Host A的链路层地址。
  2. 当Host B接收到了NS报文之后,就会回应NA报文,其中源地址为Host B的IPv6地址,目的地址为Host A的IPv6地址(使用NS报文中的Host A的链路层地址进行单播),Host B的链路层地址被放在Options字段中。这样就完成了一个地址解析的过程。
详 细抓包过程
Uploaded Image

  1. 首 先在两端各配上IPv6地址,然后在AR1上ping ipv6 -a 2000::1 2000::2。抓包如下:

  2. NS 报文内容如下:
    Uploaded Image
    AR1会以2000::1作为源地址,目标地址为2000::2的被请求节点组播地址 ff02::1:ff00:2。然后将AR1 的MAC地址携带在ICMPv6的Option中。在ICMPv6中还会携带Target Address:2000::2,这个用来防 止在广播网中有多个前缀不同,最后24bit相同,而造成的混乱。携带这个字段后,当主机收到这个报文后,会首先检查该字段是否是自己 的IPv6地址,如果是,则接收并回应NA报文。如果该字段的地址不是自己的IPv6地址,则丢弃。

  3. NA 报文内容如下:
    Uploaded Image
    当AR2收到AR1发送的NA报文后,检查Target Address字段,如果是自己的IPv6地址,接收,并将对端的IP地址和MAC地址绑定到自己的邻居表中。然后以自己IPv6地址2000::2为源 地址,对端IPv6地址:2000::1为目的地址。并将自己的MAC地址封装在ICMPv6的Option中,发送给对方。从而两端都知道了对方的 MAC地址。可以进行二次封装。

邻 居通告报文中Flags字段解释:

四、 邻居不可达检测(NUD)

NUD (Neighbor Unreachable Detection,邻居不可达检测)是节点确定邻居可达性的过程。邻居不可达检测机制通过邻居可达性状态机来描述邻居的可达性。

通 过邻居或到达邻居的通信,会因各种原因而中断,包括硬件故障、接口卡的热插入等。如果目的地失效,则恢复是不可能的,通信失败;如果路径失效,则恢复是可 能的。因此节点需要维护一张邻居表,每个邻居都有相应的状态,状态之间可以迁移。

邻 居可达性状态机保存在邻居缓存表中,共有如下6种状态:

  1. EMPTY (空闲状态):表示节点上没有相关邻接点的邻居缓存表项。

  2. INCOMPLETE (未完成状态):表示正在解析地址,但邻居链路层地址尚未确定。

  3. REACHABLE (可达状态):表示地址解析成功,该邻居可达。

  4. STALE (陈旧状态):表示可达时间耗尽,未确定邻居是否可达。

  5. DELAY (延迟状态):表示未确定邻居是否可达。DELAY状态不是一个稳定的状态,而是一个延时等待状态。

  6. PROBE (探测状态):节点会向处于PROBE状态的邻居持续发送NS报文。

       Uploaded Image

图 中实线箭头表示由NS/NA报文交互导致的状态变化,各状态间的相互转换如下:

  1. A 先发送NS报文,并生成缓存条目,此时,邻居状态为Incomplete。
  2. 若B 回复NA报文,则邻居状态由Incomplete变为Reachable,否则固定时间后邻居状态由Incomplete变为Empty,即删除表项。
  3. 经 过邻居可达时间,邻居状态由Reachable (默认30s)变为Stale,即未知是否可达。
  4. 如 果在Reachable状态, A收到B的非请求NA报文,且报文中携带的B的链路层地址和表项中不同,则邻居状态马上变为Stale。
  5. 在Stale 状态若A要向B发送数据,则邻居状态由Stale变为Delay,并发送NS请求。
  6. 在 经过一段固定时间后, 邻居状态由Delay (默认5s)变为Probe (每隔1s发送一次NS报文, 连续发送3次),其间若有NA应答,则邻居状态由Delay变为Reachable。
  7. 在Probe 状态, A每隔1s发送单播NS,发送3次后,有应答则邻居状态变为Reachable,否则邻居状态变为Empty,即删除表项。

NUD 过程与地址解析过程的主要不同之处在于以下两点:

五、 重复地址检测DAD(IPv4的FARP)

重 复地址检测DAD(Duplicate Address Detect)是在接口使用某个IPv6单播地址之前进行的,主要是为了探测是否有其它的节点使用了该地址。尤其是在地址自动配置的时候,进行DAD检测 是很必要的。一个IPv6单播地址在分配给一个接口之后且通过重复地址检测之前称为试验地址(Tentative Address)。此时该接口不能使用这个试验地址进行单播通信,但是仍然会加入两个组播组:ALL-NODES组播组和试验地址所对应的 Solicited-Node组播组。

IPv6 重复地址检测技术和IPv4中的免费ARP类似:节点向试验地址所对应的Solicited-Node组播组发送NS报文。NS报文中目标地址即为该试验 地址。如果收到某个其他站点回应的NA报文,就证明该地址已被网络上使用,节点将不能使用该试验地址通讯。

例 如:
Host A的IPv6地址FC00::1为新配置地址,即FC00::1为Host A的试验地址。Host A向FC00::1的Solicited-Node组播(请求节点组播)组发送一个以FC00::1为请求的目标地址的NS报文进行重复地址检测,由于 FC00::1并未正式指定,所以NS报文的源地址为未指定地址(::)。如果并未收到来自FC00::1的NA回复,则该地址可以使用。当Host B收到该NS报文后,有两种处理方法:

如 果两端同时发起检测

六、 前缀重新编址

前 缀重新编址(Prefix Renumbering)允 许网络从以前的前缀平稳地过渡到新的前缀,用于提供对用户透明的网络重新编址能力。路由器通过RA报文中的优先时间和有效时间参数来实 现前缀重新编址。

(1) 优先时间(Preferred Lifetime):无状态自动配置得到的地址保持优先选择状态的时间。

(2) 有效时间(Valid Lifetime):地址保持有效状态的时间。

Uploaded Image

对 于一个地址或前缀,优先时间小于或等于有效时间。当地 址的优先时间到期时,该地址不能被用来建立新连接,但是在 有效时间内,该地址还能用来保持以前建立的连接。在重新编址时,站点内的路由器会继续通告当前前缀,但是有效时间和优先时间将被减小到 接近于0;同时,路由器开始通告新的前缀。这样,在每个链路上至少有两个前缀共存,RA消息中包括一个旧的和一个新的IPv6前缀信息。

在preferred time和valid lifetime之间叫做deprecated(弃用)状态,当地址达到这个时间段的时候,地址不能主动的发起连接只能是被动的接受连接,过了valid lifetime时间,地址就变为invalid,这时任何连接就会down掉。

七、 路由器发现

路 由器发现功能用来发现与本地链路相连的设备,并获取与地址自动配置相关的前缀和其他配置参数。

在IPv6 中,IPv6地址可以支持无状态的自动配置,即主机通过某种机制获取网络前缀信息,然后主机自己生成地址的接口标识部分。路由器发现功能是IPv6地址自 动配置功能的基础,主要通过以下两种报文实现:

RA 报文中存在3个关键的Flag

▷ Other flag(简称O flag):表示是否通 过DHCPv6获得除IP以外的其他参数(如DNS列表)。O flag也是RA报文中的全局参数,一个RA报文只有一个O flag。注意:仅当M flag为off时,该参数才会被读取。

▪ 为on时(对应bit位为1):当M flag为on,或者M flag为off且至少有一个A flag为on时,将通过DHCPv6获得其他参数

▪ 为off时(对应bit位为0):当M flag为on时,依然将通过DHCPv6获得其他参数;当M flag也为off时,将不通过DHCPv6获得其他参数。

默 认路由器优先级

当 主机所在的链路中存在多个设备时,主机需要根据报文的目的地址选择转发设备。在这种情况下,设备通过发布默认路由优先级和特定路由信息给主机,提高主机根 据不同的目的地选择合适的转发设备的能力。

在RA 报文中,定义了默认路由优先级和路由信息两个字段,帮助主机在发送报文时选择合适的转发设备。

主 机收到包含路由信息的RA报文后,会更新自己的路由表。当主机向其他设备发送报文时,通过查询该列表的路由信息,选择合适的路由发送报文。

主 机收到包含默认设备优先级信息的RA报文后,会更新自己的默认路由列表。当 主机向其他设备发送报文时,如果没有路由可选,则首先查询该列表,然后选择本链路内优先级最高的设备发送报文;如果该设备故障,主机根 据优先级从高到低的顺序,依次选择其他设备。

八、 地址自动配置:

NDP 的无状态自动配置包含两个阶段:链路本地地址的配置和全球单播地址的配置。当一个接口启用时,主机会首 先根据本地前缀FE80::/64和EUI-64接口标识符,为该接口生成一个链路本地地址如 果在后续的DAD中发生地址冲突,则必须对该接口手动配置本地链路地址,否则该接口将不可用。需要说明的是,一个链路本地地址的优先时 间和有效时间是无限的,永远不超时。

在 本地链路地址配置完成后对于主机上全球单播地址的配置步骤如下:

  1. 主 机节点NodeA在配置好链路本地地址后,发送RS报文,请求路由器的前缀信息。

  2. 路 由器收到RS报文后,发送单播RA报文,携带用于无状态地址自动配置的前缀信息,同时路由器也会周期性地发送组播RA报文。

  3. NodeA 收到RA报文后,根据前缀信息和配置信息生成一个临时的全球单播地址。同时启动DAD,发送NS报文验证临时地址的唯一性,此时该地址处于临时状态。

  4. 链 路上的其他节点收到DAD的NS报文后,如果没有用户使用该地址,则丢弃报文,否则产生应答NS的NA报文。

  5. NodeA 如果没有收到DAD的NA报文,说明地址是全局唯一的,则用该临时地址初始化接口,此时地址进入有效状态。

地 址自动配置完成后,路由器可以自动进行NUD,周期性地发送NS报文,探测该地址是否可达。

生 成全球单播地址的方式

生 成“全球单播地址”(或者“唯一本地地址”),有2种方式:

其 中“自动配置”根据获取方式,又分为

其 中“有状态”又分为2种

为 了避免混淆,在此解释下有状态、无状态到底是什么意思:首先,请明确一点,有 状态、无状态仅针对于IPv6地址分配方式,并不包含其他参数

流 程图

无 状态和有状态并不是相互对立的,他们可以同时存在,也就是一张网卡上可以同时出现通过RA生成的IP以及通过DHCPv6获得的IP。通过下面流程图可知 晓其中奥秘。

Uploaded Image
从图中可以看到,顺序为:

  1. Stateless 自动配置“链路本地地址”

  2. Stateless 自动配置“全球地址”(或“唯一本地地址”)

  3. Stateful 自动配置“全球地址”(或“唯一本地地址”)和 其他参数其 中Stateful阶段中存在Stateful DHCPv6或Stateless DHCPv6

九、 重定向

当 网关设备发现报文从其它网关设备转发更好,它就会发送重定向报文告知报文的发送者,让报文发送者选择另一个网关设备。重定向报文也承载在ICMPv6报文 中,其Type字段值为137,报文中会携带更好的路径下一跳地址和需要重定向转发的报文的目的地址等信息。

Host A需要和Host B通信,Host A的默认网关设备是Router A,当Host A发送报文给Host B时报文会被送到Router A。Router A接收到Host A发送的报文以后会发现实际上Host A直接发送给Router B更好,它将发送一个重定向报文给主机A,其中报文中更好的路径下一跳地址为Router B,Destination Address为Host B。Host A接收到了重定向报文之后,会在默认路由表中添加一个主机路由,以后发往Host B的报文就直接发送给Router B。

当 设备收到一个报文后,只有在如下情况下,设备会向报文发送者发送重定向报文:








第 二篇:

IPv6中ND/NS/NA

IPv6网 络中,由于使用ND协议代替了IPv4中 的ARP协议,以及对用户的身份认证方面需要针对用户的IPv6地址进行处理,所以在IPv6的接入层安全技术相比在IPv4网络中,必须进行更新,使之 能够满足在IPv6网络中使用的要求。并且,IPv6的接入层安全技术应能够与IPv4的接入层安全技术共存,满足在IPv6/IPv4双栈网络中的要 求。 
在园区网部署中,接入层的安全防护问题是一项很重要的部署考虑,在该问题上,主要考虑协议安全及用户身份安全两个部分。 

协议安全:使用IPv4的园区网进行部署的时候,必须考虑ARP攻击的问题,防止网络中出现ARP欺骗及ARP泛洪带来的网络性能及可靠性问题。在部署 IPv6后,要考虑使用ND协议带来的接入层安全风险。 

用 户身份安全:采用802.1X认证,确保接入网络的用户身份的可靠性,在部署了IPv6的网络中,为了确认接入用户的身份信息,同样需要进行用户身份认 证。同时,为了后续对用户的接入信息进行绑定或审计等操作,认证客户端需要收集能够标识用户身份的信息,包括用户的登录名,IP地址等内容,上传到认证服 务器。 

一、ND协议安全 

在IPv4 网络中,针对ARP攻击问题,大部分的网络设备厂商都推出了各自的ARP防攻击解决方案,在很大程度上解决了ARP攻击的问题。伴随着IPv6网络的建 设,在IPv6协议族中的NDP协议越来越被重视,而在ND协议的设计与ARP协议一样并未提供认证机制,导致网络中的主机是不可信的,从而使得针对ND 协议的攻击非常容易。 

1. ND协议的功能介绍 

ND协议,全称为邻居发现协议(Neighbor Discovery Protocol),是IPv6的关键协议之一,可以说,ND协议是IPv4某些协议在IPv6中综合起来的升级和改进,如ARP、ICMP路 由器发现和ICMP重定向等协议。当然,作为IPv6的基础性协议,ND还提供了其他功能,如前缀发现、邻居不可达检测、重复地址检测、地址自动配置等。  

1) ND协议的主要报文类型ND协议定义的报文使用ICMP承载,其类型包括:路由器请求报文、路由器通告报文、邻居请求报文、邻居通告报文和重定向报文。在 本文中,我们主要关注ND协议发生攻击的情况,对ND的报文种类只做简要描述: 

●路由器请求(RS):主机启动后,通过RS消息向路由器发出请求,期望路由器立即发送RA消息响应。从而获取网络中的配置信息,包括网关地址,网络前 缀,链路MTU等信息。 

● 路由器通告(RA):RA报文用于对RS报文进行回应。网关也可以通过周期性的在链路范围内组播RA报文,是同一链路范围内的主机获取相同的网络配置信 息。这些配置信息包括:主机的地址获取方式;网络中的前缀信息;网络中的PMTU信息;网络中的网关信息等。 

●邻居请求报文(NS):NS消息与NA消息配合实现邻居的链路层地址获取、检查邻居是否可达、重复地址检测等功能。 

●邻居通告报文(NA):NA报文是主机对NS的响应报文,同时主机在链路层地址变化时也可以主动发送NA消息,以通知相邻节点自己的链路层地址或者角色 发生改变。 

2) ND协议主要功能介绍ND协议中,主要新增加了RA,RS两种报文,这两种报文的增加,使得在主机侧能够通过接收RA报文,获取网络中的配置参数,更加方 便的进行网络的部署和管理。在地址解析,重复地址检查等功能上,ND协议与ARP协议没有过多的区别。 

●路由器发现 

路由器发现是指主机怎样定位本地链路上路由器和确定其配置信息的过程,主要包含查询缺省网关、前缀发现及参数发现三方面的内容。 

●地址解析 

地址解析是指某节点在知道目的节点IP地址的情况下,确定目的链路层地址的过程。 

当一个节点需要得到同一本地链路上另外一个节点的链路层地址时,需要进行地址解析,该机制类似于IPv4中的ARP。 ND协议用NS和NA报文完成IPv6地址到链路层地址的解析,解析后的链路层地址和IP地址等信息用来建立节点的一个邻居缓存表项。 

●邻居不可达检测 

邻居不可达检测是节点如何确定邻居不可达状态的过程。 

ND协议用NS和NA报文来验证邻居节点的可达性。节点在确定邻居的链路层地址后,跟踪邻居缓存表的状态,定时发送NS报文,如果邻居在规定的可达时间内 (缺省值为30秒)不能接收或者发送返回的报文,则删除此邻居缓存表项。 

邻居的可达性并不能说明端到端的可达性。因为相邻节点可能是主机或者路由器,所以相邻节点并不一定就是数据包的最终目标。NUD检测仅仅验证了到目标路径 上第一跳的可达性状态。 

●重复地址检测 

重复地址检测是节点确定即将使用的地址是否被另一节点使用的过程。 

在节点自动配置某个接口的IPv6单播地址之前,必须在本地链路范围内验证要使用的临时地址是唯一的,并且未被其他节点使用过。 

只要NS报文发送到本地链路上(缺省发送一次NS报文),如果在规定时间内没有NA报文进行应答,则认为这个临时单播地址在本地链路上是唯一的,可以分配 给接口;反之,这个临时地址是重复的,不能使用此地址。 

2. ND常见攻击介绍 

由于ND协议扩展了ARP协议的功能,而没有对其进行安全性的扩展,所以在IPv6的网络中,ND协议仍然面临原有ARP协议的风险,同时,在ND协议中 新增的RA,RS报文,虽然简化了网络管理的工作,但引入了新的风险。 

在IPv6的接入层ND防攻击中,除了要关注同ARP共有的地址欺骗攻击及DAD攻击外,特别需要关注针对RA的攻击。 

1) 地址欺骗攻击地址欺骗攻击与IPv4中ARP攻击的方式类似,攻击者可以使用RS/NS/NA报文来修改受害主机或网关上受害主机的MAC 地址,造成受害主机无法与网络进行正常的通信
Uploaded Image


                                  图1 RS/NS/NA仿冒攻击示意图


 

如图1所示,攻击者能 够伪造NS/NA报文,发送给网关或受害主机,通过这种方式来对网关上受害主机的MAC地址或受害主机上的特定的MAC地址进行修改,造成了受害用户无法 接收到正常的数据报文。 


另外,攻击者B能够利用虚假的NA/RS/NS报文,对正常用户及网关中的ND缓存进行改写,造成正常用户之间无法互访及网关无法向正确的用户专发报文等 一系列的网络故障。 

2) DAD攻击当受害主机进行DAD查询的时候,攻击者通过NS或NA报文进行干扰,使得受害主机的DAD过程失败,无法获取到IP地址,这种攻击的概率和 NS/NA的欺骗攻击相比,相对较少。 
Uploaded Image
                             图2 DAD攻击示意图 

如图2所示,在受害者进行DAD检测时,攻击者可以伪造NS报文,与受害者产生冲突,也可以伪造NA报文,应答受害者的NS报文。这两种情况,受害主机都 无法获取地址,进行正常的网络通信。 

3) RA攻击RA能够携带很多网络配置信息,包括默认路由器,网络前缀列表,是否使用DHCP服 务器进行有状态地址分配等网络配置的关键信息。如果受害者接收了虚假的RA信息,会造成网络配置错误,从而引发欺骗攻击。 
Uploaded Image

                                  图3 RA攻击示意图 

如图3所示,攻击者发送伪造的RA报文,其中可以造成多种攻击: 

伪造不存在的前缀,修改受害主机的路由表。 

伪造网关的MAC及lifetime,造成受害主机的默 认网关改变。 

伪造DHCP 服务器,同时伪造RA中的M bit,造成受害主机使用DHCP服务器分配到虚假的地址。 

4) 针对网关的泛洪攻击通过发送大量的NS/RS报文,造成网关的表项溢出。 
Uploaded Image

                                    图4 泛洪攻击示意图 

攻击者通过伪造大量的NS/RS报文,发送给网关,使得网关的表项溢出,造成网关无法提供正常的服务。 

 

3. ND防攻击解决方案 

通 过对上述的ND攻击类型的介绍分析,我们可以发现当前ND攻击防御的关键所在:如何获取到合法用户和网关的IPv6地址-MAC对应关系,并如何利用该对 应关系对ND报文进行检查,过滤掉非法ND报文。针对该类攻击,H3C公司解决这一关键问题的思路是,通过自动的ND 监控模式、DHCP监控模式与手工配置的方式,获取到合法用户的IP-MAC对应关系。再配合RA trust与DHCP trust对RA报文与DHCP报文进行限制,从而解决不同环境下的ND防攻击问题。 

同时,为了避免网关的ND表项被异常的ND报文打满溢出造成DoS攻击,在网关上能够针对端口配置最大的ND表项学习数量,缓解此类攻击。 

1) 信任表项与ND Detection从前文的描述,我们知道,在局域网中ARP或ND攻击的根本原因是无法对所交互的ARP或ND报文进行验证,从而无法得知正确的用户 IP、MAC、端口的绑定信息,所以无法对异常的ND报文进行过滤,使得网络中可能发生ARP/ND攻击。 

通 过ND snooping、DHCP snooping、手工配置等手段在接入层交换机上建立的一张IP、MAC、Port的可信表项,获取可靠的用户IP地址与MAC地址的对应关系。通过这 张表项,结合ND Detection技术,对异常的ND报文进行过滤,达到防止ND攻击的效果。 

ND snooping与DHCP snooping是一种动态获取用户IP、MAC、Port对应关系的技术, 

ND snooping:ND协议报文的交互过程在上文已经进行了描述,在ND snooping中,监听ND协议的DAD交互过程,获取用户的IP、MAC、Port的对应关系。 

DHCP snooping:通过监听DHCP的交互过程,获得用户的IP、MAC、Port的绑定表项。 

手工绑定表项:手工绑定是一种常用的技术,在一些规模不大的网络中,或者对安全性要求较高且不经常变化的网络中,使用手工绑定来建立可信表项。  

在建立了绑定表项之后,能够保证一个已经获取了IP地址的用户只能使用已获取的地址进行通信,过滤掉所有的不在绑定表项中的IPv6的非法用户发送的IP 报文。 

ND Detection通过结合已经建立的绑定表项,这个绑定表项可以是使用ND snooping,DHCP snooping,手工来进行配置的,通过比较已经获取到的可信表项中的IP与MAC地址,对ND报文进行过滤,丢弃异常的报文。相比单纯使用ACL进行 的用户绑定,ND Detection技术结合绑定表项对ND报文进行过滤,能够更好的防御ND攻击。 
2) RA Trust与DHCP TrustRA Trust与DHCP Trust的功能不同,但是思路是相同的,管理员可以在相应的连接DHCP服务器或网关的接口上进行配置,通过手工指定连接DHCP服务器与连接发送RA 的设备的接口(通常是网关),能够避免网络中DHCP报文与RA报文的任意发送。当进行了RA Trust与DHCP Trust后,DHCP的服务器端报文与RA报文只能从配置了TRUST的端口进入,避免了DHCP服务器欺骗与RA攻击,提升了局域网安全性。  

3) 限制接口学习ND表项的最大数目当指定接口下的ND snooping表项达到允许学习的最大数目后,将不允许新增动态学习表项,以保证当一个接口所接入的某一台主机发起ND攻击时不会导致整个设备的ND Snooping表资源都被耗尽。 

4. ND协议安全功能总结 

H3C 的ND防攻击技术,通过在网络设备学习可信的用户接入表项,同时配合ND Detection技术,对非法报文进行过滤,提高了用户侧ND报文的可信性及安全性,防止网络出现地址欺骗及DAD造成的攻击。配合DHCP Trust与RA Trust功能,禁止非法的DHCP报文与RA报文发送,防止了针对RA的攻击。通过限制ND snooping表项的学习数量,避免的对设备的DoS攻击。通过提供了一套完整的ND防攻击解决方案,提高了用户接入层的ND安全水平。 

二、用户身份安全 

1. 双栈用户的身份认证 

在 用户接入网络时,为了保证用户的身份安全,需要对用户进行身份验证,认证的方式是使用802.1X认证协议。用户身份验证完成后,在服务器侧会对用户的接 入地址、接入位置进行审计,在一些对安全要求较高的网络中,同时结合网流分析系统,对用户后续的网络访问进行审计。 

在双栈网络中,原有的IPv4用户会升级为IPv6/IPv4的双栈客户端,在这种情况下,需要对原有的用户认证系统进行升级,使得客户端,认证服务器能 够识别一个双栈用户,对其进行相应的认证并执行对应的安全措施。 

2. 双栈网络中认证设备的升级 

由 于802.1X是在链路层对用户进行认证,当认证完成后,根据接入用户的MAC地址进行控制。而对使用了IPv6/IPv4的双栈用户而言,认证客户端不 仅能够在链路层执行用户认证过程,还需要针对这个用户将用户的IPv6/IPv4地址上传到服务器上,为后续针对用户的控制、审计提供必要的支撑。  

如上文所述,在双栈网络中,需要对认证客户端,认证服务器进行升级改造,使之能够适应双栈网络的情况,对认证客户端及认证服务器的改造情况如下:  

认证客户端:支持对认证网卡上的双栈地址的上传。这里需要说明的是,对于一个使用隧道接入的用户,其虽然能够使用IPv6进行接入,但是还是使用IPv4 进行隧道封 装后进行的转发,所以认证客户端侧仍然将其视为一个IPv4的用户。 

上传IP地址的客户端选项,在802.1X连接的属性中进行配置,如图5所示:

Uploaded Image


      图5 客户端IP地址上传

 

在 认证客户端侧只有选中了“上传IP地址”选项,对应连接在做802.1X认证时才允许上报IPv4和IPv6地址。当选择了“上传IP地址”的选项后,认 证客户端会在802.1X认证时,将客户端认证网卡上的IPv4地址以及IPv6的全球单播地址通过接入设备上传至认证服务器,完成对双栈用户的识别。  

认 证服务器:认证服务器能够对客户端上传的IPv6/IPv4地址进行记录,对接入用户的日志信息进行审计。除了对用户的接入信息进行审计之外,在认证服务 器上还可以对用户的身份信息进行绑定,能够绑定用户的IPv4/IPv6地址,接入端口,MAC地址等信息进行联合绑定,提高用户身份的可信度。  

通过将认证客户端及认证服务器升级,能够处理双栈用户的网络层信息,这样为后续的用户身份审计,用户上网审计提供了有效参考。并且,在网络中能够对双栈用 户的各种身份信息进行绑定,大大提高了接入用户的安全性。 

三、 结束语 

在双栈园区网的接入层,主要考虑网 络协议安 全及用户接入的身份安全两个部分,在升级为IPv6/IPv4后,接入层的安全控制同样要发生变化。上文描述了双栈网络中的接入层安全技术,包括ND协议 安全及用户身份安全部分。在接入层安全技术的部署中,根据所需的安全等级及具体网络情况,有选择的进行部署,对ND协议的风险及非法用户的风险进行防御。 在双栈网络中,可以与ARP防攻击结合,在接入层完成对ARP攻击,ND攻击及非法用户访问的防御,提升接入层网络的安全性。