如何避免双协议栈网络VPN流量泄露

来源:51CTO 作者:51CTO
  

RFC 6724规定了一种算法来从IPv6和IPv4地址列表中选择目标地址。RFC 6555(名为“快乐的眼球:双协议栈主机的成功”)中讨论了选择最合适的目的地址面临的挑战,并推荐了可行的部署方法。

意外的VPN流量泄露并不是这个问题的唯一关注点。通过假装为本地IPv6路由器,本地攻击者可以发送伪造的ICMPv6路由器通告消息来故意触发受害主机上的IPv6连接。这些数据包可以使用标准软件(例如rtadvd)或者数据包编写工具(例如IPv6工具包)来发送。一旦启用了IPv6连接,与双协议栈系统的通信将可能导致VPN流量泄露,正如《VPN流量泄露问题是如何出现的》所说的。

由于支持IPv6的网站越来越多,这种攻击是可行的,但只有当目标系统是双协议栈,才会导致流量泄露。然而,给任何目标系统带来这样的VPN泄露并不是难事。攻击者可以简单地发送伪造的路由器通告消息(包含相应的RDNSS选项),就可以假装成本地递归DNS服务器,然后执行DNS欺骗攻击变成中间人,并拦截流量。对于无意泄露的情况,数据包编写工具(例如IPv6工具包)可以很容易地执行这种攻击。

VPN泄漏的缓解措施

我们可以通过很多缓解措施来避免双协议栈网络中的VPN泄露问题。最简单的方法(虽然不一定是最可取的)是在采用VPN连接时,禁用所有网络接口卡中的IPv6连接。运行VPN客户端软件的主机上的应用将只能够采用IPv4,对此,VPN软件应该做好准备来保护其安全。

网络可以通过部署第一跳安全模型,例如路由器通告防护(RA-Guard)和DHCPv6-Shield,来防止本地攻击者成功地执行针对其他本地主机的上述攻击。然而很明显,当连接到开放网络时,主机不能依靠这些缓解措施。请记住,即使RA-Guard大量部署,也很容易受到泄露攻击。

有些人可能认为最全面的缓解措施应该是在VPN软件中加入IPv6支持,并让VPN服务器提供IPv6连接。虽然这种办法在当前很多情况下不可行,但这种办法可能有一定意义,因为IPv6的自动配置为路由器(同时还为攻击者)插入其他路由信息提供了多种方法。例如,攻击者仍然能够通过执行一些“邻居发现”攻击来造成IPv6流量泄露,例如发送伪造ICMPv6重定向消息、伪造有路由信息选项(例如,“更具体的路由”)的路由广播、伪造的宣传“高优先级”路由器的路由广播等。即使VPN软件支持IPv6,一些VPN部署将很有可能在短期内仍然容易受到这种类型的攻击。

结论

IPv6和IPv4协议的微妙互动,以及(不幸的)既定的说法:如果有人计划部署IPv6,安全性将是一个问题,可能造成不良后果,例如无意的VPN流量泄露。由于大多数通用操作系统是双协议栈的,大多数网络至少部分是双协议栈的,这意味着IPv6的安全影响不容忽视。互联网对地址空间不断增加的需求必然导致广泛采用和部署IPv6协议。在采用和部署之前,企业应该全面了解相应的安全隐患。


时间:2013-02-26 10:42 来源:51CTO 作者:51CTO 原文链接

好文,顶一下
(0)
0%
文章真差,踩一下
(0)
0%
------分隔线----------------------------


把开源带在你的身边-精美linux小纪念品
无觅相关文章插件,快速提升流量