第四章 改进型VPN设计
上一章分别对 IPSec VPN、SSL VPN 以及 MPLS VPN 三款主流 VPN 技术的协议机 制以及网络部署拓扑进行了详细的分析,对三款 VPN 各自的优缺点都有了清晰地了解。随着社会经济的发展,企业的需求变化日新月异,特别是针对一些高端客户,既需要高质量的安全保证又不能有明显的通信能力下降,因此,单一的 VPN 技术已经无法完全满足这种高端用户的需求。
由于 MPLS VPN 适用于超大规模的网络,主要应用在网络服务提供商网络,需由网络服务提供商进行维护和管理。因此对于企业部署来说,SSL VPN 与 IPSec VPN 具有更大的可比性,而我们的研究重点将是如何在 SSL VPN 与 IPSec VPN 中做出选择进而MPLS VPN 实现融合,进行优势互补,形成一种机密等级较高、安全性能较高、同时又能实现传输性能最大化、对运营商有限信任的 VPN 方案。
4.1 SSL VPN 与IPSec VPN的对比
通过上一章的研究,我们对 SSL VPN 和 IPSec VPN 都有了较深入的了解,下面是 本人总结出的关于 SSL VPN 与 IPSec VPN 的综合比较表。
表 4-1 综合比较表
通过上表的对比,我们看出IPSec VPN在安全加密性以及应用支持度方面对比SSL VPN有着巨大的优势。虽然在费用以及操作简易性方面不及SSL VPN,但对于一个高端客户资金以及技术能力都能有效保证的情况下,如何能实现性能的最优化才是客户考虑选取技术的关键。因此我们选取IPSec VPN技术来与MPLS VPN技术进行互补。[26]
30
4.2 安全高效VPN平台
企业都希望得到一个安全高效的 VPN 平台,而一个安全 VPN 平台需要达到的目标 如下:
⑴通信实体可信。能够可靠地确定通信实体(包括用户、应用和进程)的身份。 ⑵连接安全可控。即 VPN 连接建立及维护信息具有适当的安全保护,可以有效防范连接被劫持或被非法中断。
⑶数据机密完整。即确保传输的数据免遭未授权的暴露或泄露以及未授权的任何形式的篡改。[27]
而安全VPN平台需要达到上述的目标就必须具有以下的这些功能和组件进行支撑: (l)虚拟连接的安全。可由身份认证和授权机制保证。利用各种认证技术(如用户名/口令、一次性口令、数字证书等)对连接参与方进行有效的身份识别,并对通过身份认证的隧道对端或用户使用权限管理系统进行正确合理的授权和管理,确保合法用户按照既定的授权进行访问,非法用户及非授权用户将被有效隔离。
(2)连接的边界安全。通过采用防火墙技术或安全网关技术在 VPN 网关设备处将内部网络或主机与外部公共网络进行基于安全策略的隔离,以实现访问控制,允许符合安全策略 过滤的数据流正常通过,阻隔或限制未通过安全策略过滤或不明来源的数据流通过安全网关,既防止内部网络数据非正常泄露到外部网络,同时防范来自外部网络的各种拒绝服务型攻击从边界处打开缺口。
(3)连接的完整性。既包括虚拟连接(隧道)的完整性也包括虚拟连接承载的数据的完整性。前者的完整性保证 VPN 的可用性,后者的完整性保证传输数据不被非授权创建、修改、删除或重放。
(4)机密性。既包括 VPN 连接控制信息的机密性也包括传输数据的机密性,前者防范 VPN 连接被劫持和非法中断,后者防止 VPN 数据被非授权解读。
(5)主动审计能力。密切跟踪用户的整个通信过程,对重要通信和操作事件,特别是违反 ACL 策略的通信事件,进行日志记录和必要的审查,并给出告警信息。
(6)入侵检测能力。能够检测对 VPN 网络脆弱性和漏洞的扫描以及其它的入侵攻击行为,具备一定的攻击对抗能力。
(7) 基于策略的集中式安全服务控制模式。安全策略必须贯穿于整个 VPN 体系,将 安全 VPN 作为一个整体进行安全管理,包括系统建立、运行、维护和管理全过程的具有内
31
在有机联系的动态自适应的安全策略。
(8) VPN设备的自身安全。VPN设备必须保证物理安全、操作平台安全、应用程序安 全以及管理安全,这也是构建安全网络平台最基础的必要条件。[28]
4.3 新型VPN模型
4.3.1 设计思路
在通过上文对 IPSec VPN 和 MPLS VPN 的分析,我们知道 IPSec VPN 具有很高的安 全性,但实现 QoS 有所欠缺,传输性能不能达到最优化,且配置复杂,大规模部署非常容易遭遇扩展性约束;MPLSVPN 虽然具有高速转发和流量工程功能,易于在运营商网络快速部署,可扩展性强,但安全性适中,不适合高机密等级、高安全性要求的用户。如何能取长补短,融合 IPSec VPN 和 MPLS VPN 各自的优点将是以下我们将要讨论的重点。 通过研究,我们将会给出一种针对机密等级较高、安全性要求高、同时又需要实现传输 性能最大化、对运营商有限信任的用户的 VPN 部署方案。其安全性设计主要考虑两个方面:VPN 传输数据的机密性和完整性;VPN 路由的封闭域分发。前者确保数据的安全性,对任何第三方透明(包括运营商及其他 VPN),使其无法解读和篡改数据,后者确保数据只在 VPN 的安全域内进行转发,不会被任何安全域外的实体所注入或向安全域外的实体进行数据转发。
为此,我们选择 BGP/MPLS VPN 作为原模型,对其按照上述安全性设计要求进行安全提升,即将 VPN 数据层面的安全性保护和 VPN 控制层面的安全性保护分离,分别由用户和运营商分别协作实现。VPN 数据层面的安全性保护由处在客户网络的安全网关实现,主要实现对客户数据的加密、封装;而 VPN 控制层面的安全性则由运营商网络边缘设备实现,完成跨越运营商网络的数据透明转发和 VPN 路由的承载。客户与运营商分工合作,各负其责,共同确保整个 VPN 体系的安全有效运行。 4.3.2 IPSec设备改进
由于本设计针对高安全要求的高端用户,客户网络只向运营商提供路由和拓扑信息,而数据对运营商透明,因此传输数据的加密和封装须由客户的安全网关实现。鉴于传统的IPSec 设备配置复杂,安全协议支持的加密及认证算法有限,强度不够高,且加解密和封装处理性能达不到高速互联转发的要求,本改进模型中 VPN 客户网络边缘设备(网关)拟采用遵从 HAIPE IS 3.0 规范的网络硬件加密设备 HAIPE 作为安全网关,保护 VPN 客户站点之间的通信。
32
4.3.2.1 HAIPE设备及协议介绍
HAIPE(High Assurance Internet Protocol Encryptor),高保障IP协议加密器。是一种遵从美国国家安全局(NSA)制定的HAIPE IS规范的加密设备,也将是新一代因特网密文传输协议的工业标准。[29]HAIPE IS 的主要目的是确保未来网络加密设备的连通性,推进IPSec加密设备的标准化。HAIPE IS规范是基于IPSec安全体系结构,对其作了一些额外的限制和功能加强,使得安全强度更高,互操作性更强。一个显著的增强功能是使用预置的密钥加密多播数据的能力,只要进行数据传输之前在所有将参与多播会话的HAIPE设备上配置相同的密钥即可。
HAIPE IS是对IETF的IPSec协议族的改进,它取消了IPSec体系中不太实用的AH协议,只保留了ESP协议,支持ESP隧道模式和传输模式保护,IKE协商使用专用的HAIPE IKE,同时增强了多播支持和动态路由功能。例如使用IETF的ESPv3 加密和封装明文的IPv4 或IPv6 流量,使用SNMPv3 支持扩展网络管理,使用RlPv2 和RIPng路由选择协议提供HAIPE本地路由发现能力。HAIPE通过这些对IPSee协议的精简和增强来提供高可靠性业务流量保护、网络规划和管理能力。HAIPE IS规范继承的IPSec安全组件包括:安全策略SP、安全策略数据库SPD、加密变换、安全关联SA、安全关联数据库SAD、网络地址翻译穿越NAT-T等。[30]增加的安全组件有:
●PEPT(Peer Enclave Prefix Table)对等封闭网域前缀表,指定对等 HAIPE 设备保护的封闭网域地址范围、对等 HAIPE 设备的接口地址信息;
●LEPT(Local Enclave Prefix Table)本地封闭网域前缀表,指定本地 HAIPE 设备保护的封闭网域地址范围、本地 HAIPE 设备的接口地址信息;
●MAMT(Multicast Address Mapping Table)多播地址映射表,支持 HAIPE 实现 IP 多播功能;
●HIKE(HAIPEIKE)HAIPE 专用的 IKE 版本,支持 HAIPE 与同一对等体的多 SA 协 商;
●SPMT(Security Policy Mapping Table)安全策略映射表,用于手动配置 SP 与 SA 的关联,特别是支持 HAIPE 与同一对等体建立多 SA 隧道;
●TFS(Traffic Flow security)业务流安全,支持固定包长和可变包长两种模式,以增加 HAIPE 加密的包开销来换取安全度的提高;
●TMTT(Transport Mode Topology Table)传输模式拓扑表,HAIPE3.0 中支持ESPv3传输模式的新数据结构,存储传输模式SA关联的数据源和目标地址映射,用于数据包入站处
33
理时重建被传输模式SA剥离的原始IP报头。[31] 4.3.2.2 HAIPE设备通信原理及典型部署
HAIPE设备是一个典型的安全网关,主要用于保护两个封闭网络域(Enclave,也称为飞地)跨越不信任的或者低密级网络交换私密数据,实现端到端的机密性和完整性数据安全。HAIPE设备只有两个以太网接口分别是PT口和CT口,PT口所连接的保护网络称为PT网域,PT口与PT网域之间采用明文通信,CT接口连接的外部共享网络称为CT网域,CT接口跨越CT网域连接到对端HAIPE设备的CT接口,本地CT接口与对端CT接口之间的数据通过ESP加密隧道传输,对CT网域透明。HAIPE设备的配置复杂度与传统的IPSec设备相比大大降低了,而且支持对等设备之间的GDC(Generic Discovery Client)动态发现。[32] LEPT表可通过HAIPE设备PT接口上被动RIP路由协议获悉并填充,PEPT既可以手动配置,也可以通过GDC动态发现协议进行获悉并填充,但在实际工作中,为其不出现差错,一般更倾向手动配置HAIPE设备的PEPT。
HAIPE IS目前有两个流行版本,即HAIPE IS1.3.5 版和HAIPE IS 3.0 版,3.0 版提供对 1.3.5 版的后向兼容支持。HAIPE 1.3.5 只支持ESP隧道保护模式,而HAIPE3.0 同事支 持ESP隧道保护模式和传输保护模式。HAIPE ESP隧道模式类似IPSec ESP的隧道模式,外层隧道IP报头使用本地CT接口地址作为源IP地址,远端CT接口地址作为目的IP地址。
[32]
HAIPE ESP传输模式跟IPSec ESP传输模式则有较大不同,出站处理时加密前剥离原
数据包中的PT口IP报头,只加密数据载荷部分,然后使用本地CT接口地址作为源IP地址,远端CT接口地址作为目的IP地址重建一个新的IP报头进行封装,这需要手动配置传输模式SA和PT源地址-目标地址映射,而且一个PT源地址-目标地址映射关联一个单独的传输模式SA,接收方HAIPE设备根据入站处理的SA及其关联的传输模式拓扑表查找对应的源IP地址和目标IP地址,得以重建原来的IP报头,从而进行可路由的PT网域转发。
两个对等的HAIPE设备分别安装在受保护网络的前端,当需要进行机密通信时,HAIPE通过手动配置或动态发现对等设备,进行加密参数的协商,在两对等设备间建立ESP加密隧道。通信时发送方PT网域的明文数据包到达HAIPE的PT接口时被送交加密和封装模块进行处理,处理完毕转至CT接口,然后通过ESP隧道转发到对端,对端CT接口把密文送交解封装和解密模块,处理完毕后转至PT接口,然后在接收方PT网域进行常规转发至目的地。[33]图 4-1 是HAIPE设备部署图。
34