沈 昀
(中国电信股份有限公司无锡分公司,无锡 214000)
校园网是指在校园范围内,将计算机等终端以共享资源的方式连接起来,同时具备教学和信息服务等功能的通信系统的集合。校园网具有终端数量大,流动性高,终端上线峰值集中等特点。随着校园网的持续发展和学生携带终端种类的增加,目前校园网使用的IPv4协议,在地址数量,安全性,可管理性,移动性,健壮性上暴露出一定的缺陷。而下一代互联网所使用的IPv6协议,能够提供巨大的地址空间,丰富的安全机制,更高的转发速率。二者结合,IPv6给校园网用户提供了高速便捷网络体验的同时,也引入了新的安全隐患。
按攻击对象和攻击类型,IPv6校园网网络安全威胁一般可分为三大类,五小类:
(1)针对网络基础设施(即校园网路由器,交换机)的攻击。NDP(Neighbor Discovery Protocol,邻居发现协议)表项耗尽:IPv6使用NDP协议替代原先ARP(Address Resolution Protocol,地址解析协议),完成链路层地址和网络层地址映射功能,路由器为每一个IPv6终端保存NDP表项,每个表项包含终端的mac地址,IPv6地址,路由器接口,以及生存时间等信息。表项生成一般由终端的NS/NA报文触发。由于单个用户的IPv6地址掩码一般为/64,其所对应的表项需占用147573952T存储空间(假设每个表项8Byte)。攻击节点通过发送伪造的NS/NA报文给路由器,使得路由器被动生成并保存海量NDP表项,当占用的存储空间到达上限后,新终端将无法正常接入。攻击节点甚至可仅凭本地链路地址机制发起攻击,不需要网络管理员分配全局单播地址。
(2)针对校园网其他终端节点的攻击。DAD(Duplicate Address Detection,地址冲突检测)欺骗:IPv6动态地址分配过程中,增加了地址的DAD检测,该地址才能正常使用。攻击节点监听并发送伪造的邻居响应,报文中包含正常节点的待检测地址,导致DAD检测失败,迫使正常节点重新发起地址申请。攻击节点借此阻止终端连入网络并消耗网络处理资源。
路由器欺骗:攻击节点发送伪造的路由器通告。正常节点接收到这条通告,刷新自己的邻居表项,并根据被欺骗的表项,将报文发送给伪装路由器,攻击节点借此达成中间人攻击。
(3)针对Internet节点的攻击。DoS(Deny of Service,拒绝服务)攻击:在传统的IPv4网络下,单一节点往往只有十几个可用的公网IP,发起拒绝服务攻击需要攻击者伪造源IP地址或者控制分布不同地点的大量傀儡机。其中源IP地址伪造可以被路由器的URPF(Unicast Reverse Path Forwarding,单播反向路径转发)功能检出并封堵。在IPv6环境下,情况发生了变化。原先需要上百万个IPv4公网终端发起的DOS攻击,现在只需要一个IPv6接入点就有足够的全局单播地址的可以实现。一旦发起攻击,部分防火墙,DPI设备,甚至没有足够空间存储5元组连接,以及告警信息。攻击时,由于没有伪造源IP地址,路由器URPF检测封堵功能也会失效。
图1 IPv6校园网攻击类型
目前,国际上主要通过SEND(Secure Neighbor Discovery,安全邻居发现)协议来解决IPv6接入层的安全性问题。SEND协议通过在NDP协议报文中增加安全选项,来解决报文重传,报文可信等问题。但SEND协议在校园网的部署也存在很大困难:
(1)大部分操作系统和网络设备目前不支持SEND协议。实际部署中,网络管理者往往面临一个混杂网络。
(2)SEND在加密解密时消耗大量计算资源,这对网络,终端硬件提出了很高的要求。
(3)部分类型的攻击,例如针对外网的DOS攻击,SEND协议无法缓解。
SEND协议并不适合解决目前IPv6校园网面临的安全威胁。IPv6校园网安全方案应当采用综合技术,在尽量不变更现有网络硬件软件的前提下,解决或者缓解网络安全隐患。方案采用预防,限制,溯源,拦截的总体原则,分为2个模块:
(1)网络优化:分析用户规模,调整网络参数,优化报文转发。通过牺牲小部分网络性能,达到预防,限制攻击流量的目的。
(2)攻击检测,溯源和拦截:DPI服务器负责攻击模式和攻击源的检测,并将攻击源信息发送给校园网控制器controller,也可由网络设备通过snmp,被动采集方式上报异常信息。网络控制器负责网络设备的表项的收集,存储,攻击源端口的查找和封堵拦截。
2.1.1 核心路由器
开启NDP邻居反向查找转发:对于静态用户,如果设备支持,可开启NDP邻居反向查找转发功能,路由器转发报文时,会首先查找NDP邻居表项,表项不存在则丢弃报文。
限制NDP邻居表项学习总数:对于静态用户,建议每个用户分配不同的接入vlan,并在相应的三层接口限制NDP邻居表项学习总数。
使用DHCPv6方式分配动态地址:对于动态用户,建议采用DHCPv6方式分配地址,路由器转发时能够根据保存的五元组表项转发报文,丢弃伪造报文。
2.1.2 汇聚/接入交换机
开启NDP snooping并指定静态router端口:针对路由器欺骗,开启并指定静态router端口后,其他端口收到的伪造RS,RA报文均被丢弃。
二层隔离:有两种实现方式,端口隔离和vlan内隔离。开启该功能后,攻击节点和正常节点在二层互相隔离,针对NDP协议的二层攻击报文不能到达其他正常终端。
规划并限制端口mac数量:NDP表项攻击中,攻击者的每一个报文都要变更头部的源mac地址。通过限制单个端口学习到的mac地址数量,配合mac地址老化时间,可限制此类攻击报文的发送速率。
2.2.1 攻击检测
方法一:采用第三方DPI检测设备(绿盟,Hillstone等)。服务器旁挂校园网核心路由器。流量通过镜像方式到服务器端口。该方案检测能力强,但是费用较高。
方法二:依靠网络设备自身检测能力,通过SNMP或者syslog方式发送日志给网络控制器。日志分析由网络控制器完成。日志也可以由控制器登录网络设备采集。该方案检测能力弱,但是费用较低。
2.2.2 攻击溯源和拦截
第一步:网络控制器以5分钟(mac地址老化时间)为周期,登录设备采集二层协议和三层协议表项。控制器可基于Python实现,(双核3G,6G内存,40线程)每轮可采集400台设备,基本可覆盖一中型校园网。
第二步:控制器根据DPI设备返回的攻击者IP地址或者异常表项,查找匹配三层/二层信息,控制交换机关闭端口或者限制mac地址转发。
图2 攻击溯源拦截方案示意图
IPv6校园网,既面临传统安全威胁(例如路由器邻居欺骗),又面临IPv6特有的安全威胁,例如NDP 邻居表项耗尽攻击和针对外网节点的Dos攻击。本文从网络优化、攻击溯源两个方面出发,按照预防、限制、溯源、拦截原则,给出了IPv6校园网安全防护方案,希望能给校园网运维人员带去帮助。