业务咨询:400-899-0990
技术服务:400-899-0899
咨询热线公司前台:0756-2119588
售前咨询:0756-2119588
公司地址珠海市香洲区建业一路5号第五层
类别:行业新闻发布人:联迪发布时间:2019-02-27
园区网技术发展了这么多年,想必大家对于IPv4场景下的接入安全问题已经烂熟于心。随着IPv6技术的发展和推广,未来园区网架构向IPv6演进已经成为不可阻挡的趋势,而我们对于IPv6架构下的接入安全问题了解多少?比如,终端可以获取到正确的IPv6地址吗?拿到地址就可以正确封装报文信息吗?报文封装正确就可以转发正常吗?等等。在IPv6环境下接入层还有哪些安全问题?我们又该如何解决?
上一篇文章(IPv6系列安全篇——SAVI技术解析)为大家介绍了SAVI(Source Address Validation Improvements,源址合法性检验) 的技术原理,本文将聚焦IPv6在园区网有线部署的场景,阐述如何应用SAVI技术解决接入安全问题。
IPv6园区网接入安全问题
众所周知,终端正常访问资源的前提是需要有一个可用的IP地址,那么如何获取正确的地址是我们要讨论的一个问题。
其次,为了正常访问网络资源进行流量转发,还需要正确解析对端的MAC地址或者网关的MAC地址(跨网段时),这样才能进行一个报文的完整封装。在IPv4的场景中是通过ARP协议来解析地址,对应到IPv6场景是通过ND协议中的NS/NA报文交互来解析。
除此之外,为了给所有终端分配地址资源,地址源可谓是“尽心竭力”,因此它的资源是有限的,也需要额外关注。
看似平淡无奇的过程中暗藏着很多安全问题,下面我们来详细分析一下这些问题是如何发生,以及有何威胁。
地址获取欺骗
在IPv6的场景中,地址获取的方式有多种:
1、DHCPv6:通过DHCPv6协议实现地址的获取,整个流程和IPv4下的DHCP协议类似,但协议报文有部分差异,具体可以参考DHCPv6的报文详解。2、SLAAC(Stateless Address Auto Configuration,无状态地址自动配置):根据网关设备通告RA(Router Advertisement,路由器通告)报文中携带的网络前缀生成网络ID,根据EUI-64算法生成接口ID,通过两者结合生成一个IPv6地址。
3、手动配置:某些业务服务器需要固定IP,一般会手工静态配置。但由于IPv6地址很长,所以配置起来比较麻烦,普通终端的话一般不推荐。
地址获取欺骗就是让终端无法获取正确地址的攻击手段。
对应不同的地址获取方式,也有不同的欺骗方式:
1、DHCPv6方式:
对于地址不冲突的私设IP情况,由于DHCP Snooping表项中没有对应的绑定表项,所以在源地址检查的过程也会被认为非法从而过滤掉。
SAVI的源地址检查会校验来自untrust口的IPv6报文,检查报文源IPv6地址是否和DHCPv6分配的IPv6地址一致。若不一致,则丢弃报文,防止了非法用户私设IP欺骗。
2、SLAAC方式:
如果私设的IP没有造成冲突就比较棘手了,因为通过RA生成的无状态地址和用户私设的地址都会发出DAD-NS报文,而ND Snooping表项的生成也是基于在一定时间内收到DAD-NS报文来触发的。因此无状态下并不能对私设IP做出判断,会认为是新接入的合法终端。
如果私设IP导致地址冲突的话,在发送DAD报文检测的时候会收到合法用户的应答报文,因此私设IP并不能访问网络资源。
3、混合方式:
混合场景下,由于开启了ND Snooping,所以情况与SLAAC方式一致,无法对私设IP做出判断。
地址解析欺骗
上文也曾提到,IPv6的地址解析是通过NS/NA报文的交互来完成。在这个过程中也会出现类似IPv4中ARP欺骗的问题,导致终端流量转发异常。
攻击者通过发送非法NS/NA报文对合法终端发送的NS/NA报文进行错误应答,无论是DHCPv6还是SLAAC的场景都会使终端解析到错误的目标MAC地址。
这样会导致终端报文封装错误,流量转发异常,甚至可能被攻击者截获报文泄露发送的机密信息,安全性无法保障。
泛洪攻击
前面我们提到的两种安全问题都是针对终端,而地址分配源(DHCPv6 Server或者通告RA的网关)也是非法终端的攻击对象。
泛洪攻击是通过模拟大量的终端向地址源发送请求的攻击方式。
1、DHCPv6方式:攻击者可以模拟大量用户发送DHCPv6请求报文,占用服务器大量的地址资源,导致合法终端没有地址资源可以分配。2、SLAAC方式:攻击者可以模拟大量用户发送的RS报文,被网关应答RA后生成地址。然后发送DAD报文检测地址是否有冲突,无冲突的话会生成ND表项。攻击者用这样的方式,占用网关设备大量的ND表项,这样就会使合法终端无法生成ND表项,进而导致流量转发异常。
备注:SLAAC场景,网关仅仅通告网络前缀,所以攻击者并不会消耗地址资源,但是攻击者会生成大量的IPv6地址,当发送DAD检测发现地址可用后会在设备上生成很多的ND表项,从而实现对表项资源的非法占用。当然,锐捷网络交换机的ND表项还是比较充裕的,但在园区大规模组网下还是建议规避这种事情的发生。
总结看来两种泛洪攻击都会导致资源(地址资源或者表项资源)被攻击者占用,使得终端无法获取地址,也就无法正常访问网络。
小结
看到这里可能会有很多读者已经眉头紧皱了,IPv4场景里会发生的问题在IPv6里面还会再次出现,而且攻击方式更加多样,该如何解决呢?
下面将为大家介绍以SAVI技术为基础的安全策略部署是如何迎刃而解的。
以SAVI为基础的安全策略部署建议
SAVI技术的工作机制是通过监听控制类协议报文,为接入设备建立基于IPv6源地址、源MAC地址和接入设备端口的绑定关系。这个绑定关系通常是以DHCPv6 Snooping、ND Snooping或者两者的结合作为依据。设备根据绑定表对通过指定端口的IP报文进行校验,目前支持端口下基于源IPv6地址过滤以及基于源IPv6地址+MAC地址过滤。通过校验后才可以转发,这样就防止了恶意用户伪造报文进行攻击。下面我们来看一下SAVI的安全策略具体是如何部署的。
以一个简单的园区网场景举例。
▲图1 园区网逻辑拓扑图
如上图所示,核心交换机到接入交换机采取大二层部署模式,所有终端的网关都设置在两台堆叠的核心交换机上(逻辑上是一台)。核心到出口之间通过静态路由或动态路由实现互通。
目前市场上主流的PC终端对IPv6的支持情况参差不齐,特别是对于地址的获取能力,为了满足大部分PC都能获取到IPv6地址,建议分别采用DHCPv6和SLAAC两种方式部署。
1、DHCPv6分配实现:在核心交换机上开启DHCPv6 Server的功能,并且作为终端的网关设备。2、SLAAC分配实现:在核心交换机上配置发送RA消息来通告网络前缀,让不支持DHCPv6的终端通过SLAAC进行地址获取,并且以核心交换机作为网关设备。
备注:如果在一个网段下同时部署DHCPv6和SLAAC,大部分终端会根据RA报文中的M比特位来选择一种方式进行地址获取,但实测win7的终端会同时生成两种地址,目前看来是终端的行为,网络设备厂家也暂无对策。另外,据了解安卓系统的终端目前是不支持DHCPv6的,所以也需要靠SLAAC的方式获取地址。
以上是基本功能的配置,下面我们看一下安全策略的部署:
1、入交换机(DHCPv6):全局开启SAVI源地址检查功能:开启源地址/源地址+MAC的校验功能;
上联接口开启DHCPv6 Snooping trust:放行信任的地址源报文,丢弃不可信的地址源报文;
全局开启DHCPv6 Snooping:基于DHCPv6协议交互嗅探生成绑定表项;
全局开启ND Snooping:基于ND表项学习的结果生成绑定表项,同时也是开启ND-Check的前提;
下联接口设置ND-Check:开启基于ND Snooping表项的校验机制,对端口接收的报文基于ND Snooping表项进行比对,合法放行,非法丢弃;
2、接入交换机(SLAAC):
全局开启SAVI源地址检查功能:进行源地址/源地址+MAC的校验机制;
上联接口开启ND Snooping trust:放行信任的地址源报文,丢弃不可信的地址源报文;
下联接口设置ND-Check :开启基于ND Snooping表项的校验机制,对端口接收的报文基于ND Snooping表项进行比对,合法放行,非法丢弃;
限制端口下的IP数量:设置每个端口下可以获取IP地址的数量;
端口保护绑定接口下的MAC数量:设置每个端口下可以绑定的MAC数量,对于有线场景,如果终端没有迁移的需求一般建议设置1个MAC;
3、核心交换机(作为网关):
核心交换机需要承载DHCPv6终端以及SLAAC终端的网关工作,所以属于混合场景;
需要同时开启上述接入交换机的安全功能,比如DHCPv6 Snooping、ND Snooping以及SAVI功能等;
那么这样的安全部署具体是如何工作的呢?
地址获取欺骗的解决之道
攻击者仿冒网关设备恶意发送的RA报文可以认为是非法报文,私自设置DHCPv6服务器的行为称作私设DHCPv6 Server。
对于非法RA以及私设DHCPv6 Server的解决措施,其核心在于直接丢弃非法设备发送过来的报文,从根源上解决问题。
▲图2 地址获取防护
DHCPv6的场景:
针对私设服务器发送报文,由于在接入交换机上联端口开启了DHCPv6 Snooping trust,那么默认下联端口为非信任口untrust,所以会直接丢弃DHCPv6 ADVERTISE及REPLY报文,保证了终端可以获得正确的地址。
SLAAC的场景:
由于在接入交换机上联端口开启了ND Snooping trust,那么默认下联端口为非信任口untrust,从非信任口发送过来的RA报文被认为是非法RA报文
非法RA报文到达接入交换机后会被直接丢弃,防止了非法攻击源伪装网关发送RA,保证终端可以生成正确的地址。
▲图3 防止私设IP
私设IP的场景:
解决该问题的核心在于校验源地址的合法性,对上送到交换机的报文做一致性检查,如果和安全表项中的IP和MAC对应关系一致则合法放行,否则认为非法丢弃。但有的场景是不适用的,下面我们具体来分析一下。
1、DHCPv6方式:
对于地址不冲突的私设IP情况,由于DHCP Snooping表项中没有对应的绑定表项,所以在源地址检查的过程也会被认为非法从而过滤掉。
SAVI的源地址检查会校验来自untrust口的IPv6报文,检查报文源IPv6地址是否和DHCPv6分配的IPv6地址一致。若不一致,则丢弃报文,防止了非法用户私设IP欺骗。
2、SLAAC方式:
如果私设的IP没有造成冲突就比较棘手了,因为通过RA生成的无状态地址和用户私设的地址都会发出DAD-NS报文,而ND Snooping表项的生成也是基于在一定时间内收到DAD-NS报文来触发的。因此无状态下并不能对私设IP做出判断,会认为是新接入的合法终端。
如果私设IP导致地址冲突的话,在发送DAD报文检测的时候会收到合法用户的应答报文,因此私设IP并不能访问网络资源。
3、混合方式:
混合场景下,由于开启了ND Snooping,所以情况与SLAAC方式一致,无法对私设IP做出判断。
那么对于SLAAC场景下的私设IP终端该如何解决呢?既然SAVI技术无法完全识别管控,可以依赖于身份认证的方式来解决。比如通过部署Radius v6的认证服务器来对用户的身份直接做准入管理,非法用户不能通过身份认证也无法访问网络资源。
地址解析欺骗的解决之道
对于非法NS/NA报文攻击的应对措施,关键点在于对上送过来的报文做合法性校验。首先需要有对应的安全绑定表项,然后要有合法性检查机制。
▲图4 地址解析防护
1、DHCPv6场景:
需要开启ND Snooping,把ND相关的报文上送到CPU。合法性检测需要依赖ND Check功能,ND Check的合法表项可以由DHCPv6 Snooping或者ND Snooping提供,即SAVI-MIX整合的表项作为ND Check的表项来源。DHCPv6场景中有DHCPv6 Snooping提供表项整合。
2、SLAAC场景:
非法NS/NA报文流经untrust端口时会被ND Snooping检验合法性,通过检查其(源IP地址/Target IP地址,VID,MAC地址,输入接口)四元素的匹配关系判定,非法报文直接丢弃。
3、混合场景:
混合场景下,由于都开启了ND Snooping和ND-Check,所以交换机会根据ND Snooping的表项作为依据去Check报文的合法性,以此确保地址解析正确。
泛洪攻击的解决之道
泛洪攻击的危害在于攻击者通过模拟大量的终端发送请求报文对地址或者表项资源的消耗,这种类型的请求报文可以认为是非法请求报文。
解决该问题的核心是控制终端申请资源的数量,可以采取设定阈值的方式。
▲图5 防止泛洪攻击
1、DHCPv6场景:
通过在交换机上部署SAVI功能可以限制每个MAC地址请求的IPv6地址数量,默认为10个。
如果非法者模拟多个MAC地址进行地址申请,可以通过端口安全的机制限定端口下的MAC地址数量进行解决。
2、SLAAC场景:
与DHCPv6处理方式类似,通过在交换机上部署SAVI的功能可以限定端口的IPv6地址数,并且通过端口安全设定端口下的MAC地址数量。超过限制值后认为非法,丢弃报文并且不生成合法源地址绑定表项。
3、混合场景:
混合场景下,交换机根据端口下的限制策略进行数量限制,并无冲突。
这样部署后,无论何种场景,非法终端进行泛洪攻击都会被我们设置的MAC或者地址数量所限制。但假设非法者泛洪占用了这些预设的数量,也会导致合法用户无法获取到地址,无法访问网络,这种问题就暂无办法解决了。
小结
以上就是在园区有线场景中,基于SAVI技术为基础的IPv6安全策略部署建议。
对于园区无线场景,需要AC(无线控制器)和AP(无线接入点)设备支持相应的IPv6安全功能。
本地转发模式中,安全策略部署在AP上,非法报文直接在AP上进行处理。如果AP只是二层桥接不做认证,那么无线用户的安全机制可以在交换机上做对应设置。
集中转发模式中,安全策略部署在AC上,非法报文上收到AC上进行处理。
如果无线设备并不支持IPv6的安全功能,就需要借助于交换机的安全表项来做无线的接入安全。为了实现漫游后的可用性,需要把无线网关和安全策略部署在核心交换机上,接入交换机二层透传报文,非法报文在核心交换机上处理。
总结
本文以IPv6园区网有线场景为例,介绍了如何应用SAVI技术解决一些接入安全问题。
锐捷网络的园区网交换机RG-N18000系列、RG-S5750-H系列均已支持上述所有的IPv6安全策略。与此同时我们还在不断地精进和优化,希望未来可以帮助更多的客户搭建健壮安全的IPv6网络,敬请期待。