《电子技术应用》
您所在的位置:首页 > 通信与网络 > 设计应用 > IPv6的接入层安全技术
IPv6的接入层安全技术
摘要: 在IPv6网络中,由于使用ND协议代替了IPv4中的ARP协议,以及对用户的身份认证方面需要针对用户的IPv6地址进行处理,所以在IPv6的接入层安全技术相比在IPv4网络中,必须进行更新,使之能够满足在IPv6网络中使用的要求。并且,IPv6的接入层安全技术应能够与IPv4的接入层安全技术共存,满足在IPv6/IPv4双栈网络中的要求。
Abstract:
Key words :

IPv6" title="IPv6">IPv6网络中,由于使用ND协议" title="ND协议">ND协议代替了IPv4中的ARP协议" title="ARP协议">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地址,造成受害主机无法与网络进行正常的通信
 



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

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

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

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

图2 DAD攻击示意图
如图2所示,在受害者进行DAD检测时,攻击者可以伪造NS报文,与受害者产生冲突,也可以伪造NA报文,应答受害者的NS报文。这两种情况,受害主机都无法获取地址,进行正常的网络通信。
3) RA攻击RA能够携带很多网络配置信息,包括默认路由器,网络前缀列表,是否使用DHCP服务器进行有状态地址分配等网络配置的关键信息。如果受害者接收了虚假的RA信息,会造成网络配置错误,从而引发欺骗攻击。
图3 RA攻击示意图
如图3所示,攻击者发送伪造的RA报文,其中可以造成多种攻击:
伪造不存在的前缀,修改受害主机的路由表。
伪造网关的MAC及lifetime,造成受害主机的默认网关改变。
伪造DHCP服务器,同时伪造RA中的M bit,造成受害主机使用DHCP服务器分配到虚假的地址。
4) 针对网关的泛洪攻击通过发送大量的NS/RS报文,造成网关的表项溢出。
图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所示:

图5 客户端IP地址上传
在认证客户端侧只有选中了“上传IP地址”选项,对应连接在做802.1X认证时才允许上报IPv4和IPv6地址。当选择了“上传IP地址”的选项后,认证客户端会在802.1X认证时,将客户端认证网卡上的IPv4地址以及IPv6的全球单播地址通过接入设备上传至认证服务器,完成对双栈用户的识别。
认证服务器:认证服务器能够对客户端上传的IPv6/IPv4地址进行记录,对接入用户的日志信息进行审计。除了对用户的接入信息进行审计之外,在认证服务器上还可以对用户的身份信息进行绑定,能够绑定用户的IPv4/IPv6地址,接入端口,MAC地址等信息进行联合绑定,提高用户身份的可信度。
通过将认证客户端及认证服务器升级,能够处理双栈用户的网络层信息,这样为后续的用户身份审计,用户上网审计提供了有效参考。并且,在网络中能够对双栈用户的各种身份信息进行绑定,大大提高了接入用户的安全性。
三、 结束语
在双栈园区网的接入层,主要考虑网络协议安全及用户接入的身份安全两个部分,在升级为IPv6/IPv4后,接入层的安全控制同样要发生变化。上文描述了双栈网络中的接入层安全技术,包括ND协议安全及用户身份安全部分。在接入层安全技术的部署中,根据所需的安全等级及具体网络情况,有选择的进行部署,对ND协议的风险及非法用户的风险进行防御。在双栈网络中,可以与ARP防攻击结合,在接入层完成对ARP攻击,ND攻击及非法用户访问的防御,提升接入层网络的安全性。
 
此内容为AET网站原创,未经授权禁止转载。