互联网规约版本 6( IPv6)的保安
互联网规约版本 6(IPv6)的保安互联网规约版本 6(IPv6)是下一代互联网规约之标准,将会取代现行即将被耗尽网路位址空间的互联网规约版本 4(IPv4)。
互联网规约版本 6(IPv6)规约虽解决了一些在互联网规约版本 4(IPv4)网络中所发现的保安问题,但并非全部都已解决。举例而言,在 IPv6 规约中,互联网规约保安(IPsec)是强制的,比旧版之 IPv4 标准更加安全。然而,即使 IPv6 规约拥有弹性,依然会产生新的问题。 IPv6 规约建构了一个流动的互联网规约,但针对这个流动互联网规约的保安解决方案则尚未开发完成。
此外, IPv6 之动态配置弹性(如 Stateless Address Auto-Configuration)如果没有正确执行,也会成为一个严重的保安问题。整体强化的 IPv6 可以在某些特定领域提供更好的保安,但有些地方可能仍然会被攻击者利用以作攻击。
1. 大量的互联网规约位址空间
攻击者在开始入侵前,通常会先执行埠扫描的侦察技术,以尽可能搜集受害者网络的资料。根据估计,在足够的带宽8下,整个以 IPv4 为基础的互联网可以在约十小时左右便扫描完毕,因为 IPv4 位址宽度只有 32 数元。 IPv6 则把位址宽度扩充至 128 数元。如此大量位址空间就形成一个有效屏障,阻止攻击者进行完整埠扫描的企图。
然而,除了较大互联网规约位址空间外,用于 IPv6 的埠扫描侦察技术基本上和用于 IPv4 的技术是一样的。因此,现行用于 IPv4 的最佳作业实务,如过滤边界路由器(border routers)中的内部使用之 IPv6 位址,以及过滤防火墙的非使用服务,应在 IPv6 网络中继续使用。
在 IPv6 中,将一个公开签署密码匙和一个 IPv6 位址连结在一起是可能的。这样所产生的 IPv6 位址称为 Cryptographically Generated Address (CGA)9。这可为 IPv6 邻边路由器(neighbourhood router)的探索机制(discovery mechanism)提供额外的安全保护,并且允许使用者为特定的 IPv6 位址提供“所有权证”以证明其拥有权。这是 IPv6 和 IPv4 的主要差别,而将这项功能运用于仅有 32 数元位址空间限制的 IPv4 是不可能的。 CGA 提供以下三项主要优点:
2. 互联网规约保安(IPsec)
互联网规约保安,或简称 IPsec,为互联网规约层(IP layer)上的传输,提供互用的、高质素及以加密为基础的保安服务。 IPsec 的功能在 IPv4 中是选择性的,但在 IPv6 规约里则是一项提升强制性的功能。 IPsec 借着提供真确性、完整性、保密性以及透过 AH(Authentication header)和 ESP(Encapsulating Security Payload)两个规约对每个 IP 小包的接达控制来提升原本的互联网规约。
3. 以邻居发现(ND)规约取代 ARP 规约
在 IPv4 规约里,第二层(L2)位址并非与第三层(L3)位址静态地连结。因此,在规约没有作出明显改动的情况下,IPv4 可在任何 L2 媒体之上执行。 L2 与 L3 位址的连结是由一个名为 ARP 的规约所建立的。 ARP 在区域网络区段上,建立了 L2 与 L3 位址之间的动态对映。 ARP 也有其保安漏洞(如 ARP 仿冒)。 IPv6 规约则不需要 ARP,因为 L3 上 IPv6 位址的 interface identifier(ID)部份是直接取于一个装置专用的 L2 位址(MAC 位址)。在 L3 上的 IPv6 位址,加上它在区域取得的界面 ID 部份,会用于整个 IPv6 网络的所有位址层。因此,与 ARP 相关的保安问题就不再存在于 IPv6 中。 RFC4861所定义的一个名为邻居发现(ND)的新规约,将取代 ARP 而用于 IPv6 之上。
1. IP 位址的构造
IP 位址的构造决定网络的结构。设计良好的位址构造可减少由 IPv6 新功能所带来的潜在风险。当设计 IPv6 网络时,应考虑下列因素。
编号计划 (numbering plan) 与阶层性的定址
编号计划记录如何分割其 IPv6 位址的编配。例如,一个机构采用一个 16 子网络位元(subnet bit)(即/48)的地址区块(address block)的话,它可支持最多 65,000 个子网络。一个好的编号计划,能在日常保安操作上,简化接达控制清单(access control list)和防火墙规则。它亦更易辨识网站、连结和界面的拥有权。机构应考虑以下列的子网络方式,小心地计划并建立一个阶层性的网络。
可追踪的 EUI-64 位址的问题
IEEE EUI-64 位址12代表 IPv6 的一种新的网络界面的定址。网络界面的 EUI-64 位址,是从网络界面的物理位址(MAC 位址)演算出来的。通过自动配置,界面的整体 IPv6 位址 (global IPv6 address)可以从网络识别码(network identifier)和 EUI-64 位址中产生。攻击者透过 EUI-64 位址,有可能探知遥距电脑的品牌和型号,并借此找寻攻击目标。为减低风险,应利用加密算法(例如 CGA)或以 DHCPv6 分配位址的方式,使用不可预测的位址。
2. 未获授权的 IPv6 客户端
大多数流行的操作系统和仪器支援 IPv6,因此用户很容易、甚至不知不觉间启用了 IPv6。由于 IPv6 加大了功能,以及 IPv6 主机可能拥有数个整体 IPv6 位址的关系,一旦接达控制的设置不当,攻击者很容易利用这弱点来进行网络层面的接达。
应考虑下列措施以减低风险:
3. 邻居发现与不可设定状况的位址自动设定
邻居发现(ND)是用来取代 ARP 的。而不可设定状况的位址自动设定(Stateless Address Auto-Configuration)则是一个 ICMPv6 里类似 DHCP 的轻量式功能。它允许一个 IPv6 主机在与 IPv6 网络作连结时进行自动配置。这两个都是 IPv6 规约里有力且灵活的选项。然而邻居发现仍然可能受到攻击,导致网络小包流向意想不到的地方,拒绝服务攻击就是其中一种可能的后果。这种攻击亦可能被用来拦截,甚至修改传到其它节点的小包。这保安问题除了可由 IPSec AH 来加以保护外, RFC3756 (IPv6 ND Trust Models and Threats) 还预计了 IPv6 邻居发现的安全机制可运行在那些网络上。这三种不同信赖模式,大致可对应为保安机构内联网、公开无线接达网络、和纯粹临机操作的网络。此外, SEcure Neighbor Discovery (SEND) 规约亦提供另一以加密方式来保护邻居发现的机制。
互联网规约网络(版本 4 或版本 6)的邻居发现以及路由请求(router solicitation)是使用 ICMP 的。 ICMPv4 是一个独立于 IPv4 的个别规约,而 ICMPv6 则是可以直接在 IPv6 规约上执行的完整规约,因此也会导致保安问题。
在 IPv6 规约之上交换含有重要网络健康状况及环境请求的 ICMPv6 信息,对于 IPv6 通讯而言是很重要的。然而,因拒绝服务、传输再路由(traffic re-routing)或其它恶意目的所送出精心伪造的回应信息,会导致 ICMPv6 之信息交换遭到滥用。基于保安上的理由,IPv6 规约建议所有的 ICMP 信息使用 IPsec AH,使其能够提供完整性、认证以及反转送(anti-relay)功能。
不使用邻居发现,而使用预设路由器把重要系统作为静态邻边入口(static neighbour entries),是比较好的做法。这样可以避免许多典型的邻居发现攻击。但这样做,需要一定的管理工作。
4. 双操作
机构不可能在一夜之间将其所有网络转换为 IPv6。在逐步设置 IPv6 的同时,亦要维持 IPv4,以支援旧有客户端和服务。一个双规约的环境,会令操作和保安变得更加复杂。无论如何,机构必须维持现有针对 IPv4 的措施,并确保同等程度的措施也应用于 IPv6 上。机构在执行保安政策时,须确保针对 IPv4 和 IPv6 的政策(包括防火墙和小包过滤方法)为一致。操作期间,管理者应意识到两种规约的相关威胁和漏洞,并采取适当措施以减低风险。
IPv6 无法解决所有的保安问题。基本上,IPv6 无法避免在对网络层以上各层之攻击。 IPv6 无法处理的可能攻击包括:
转换工具允许 IPv4 应用程式连结到 IPv6 服务,以及 IPv6 应用程式连结到 IPv4 服务。然而,若没有周详的计划应对保安问题,攻击者会利用保安漏洞入侵网络的。
TIPv6 版本转换技术有好几种,如 6to4(定义于 RFC3056)、简单互联网转换(SIT)隧道15、与 IPv6 上之用户数据报规约(UDP 如 Teredo16)。 IPv6 的传输会经由这些方法进入网络里,但是管理者并不意识到使用 IPv6 已经造成网络漏洞。此外,许多防火墙允许 UDP 的传输,让 IPv6 上的 UDP 在管理者不知情下避开防火墙。攻击者也可使用 6to4 通道避开入侵侦测或防御系统的侦测。一些防火墙产品只能够过滤 IPv4 的传输,而无法过滤 IPv6 的传输。攻击者会利用这个漏洞,使用 IPv6 的小包进入网络。
SIT 隧道与隧道路由器(tunnelling router)容许在众多 IPv4 网络中单独设置 IPv6,而无需 IPv6 路由器直接相互连结。这特性令入侵者可以破坏简单的工作站,从而利用它们作为路由器,在无需破解作为基础建设的路由器或防火墙的情况下,直接通行整个子网络。要检查包裹在隧道内的传输,应部署可理解该等隧道传输的装置。此外,应在隧道的出入口执行保安政策。
在 IPv4 与 IPv6 混合型网络的主机保安方面,需注意主机应用程式同样可能遭受来自于 IPv4 与 IPv6 网络的攻击。因此,如果要阻断传输,就必须一并阻断这两个互联网规约版本在任何主机控制系统(防火墙、虚拟私有网络客户端、入侵侦测系统等等)上的传输。应该监察 IPv6 网络的传输,审计网络上的路由请求和邻居发现,以侦测插入到网络内的虚假路由器和未经授权设备。
下面是一些建设和维护安全的 IPv6 网络的良好作业模式,以供参考:
如果你想迈进 IPv6 的世界,可以先用这个网址(http://testipv6.com)来测试电脑能否连接 IPv6 。