作者: 王春燕 唐宝民 , 出处:泰尔网 , 责任编辑: 张琰珺, 2008-07-18 00:20
VPN(Virtual Private Network),即虚拟专用网或虚拟私用网,它强调私有性和安全可靠性。本文就其安全性和可用性按我们通常的理解进行探讨。
1、VPN简介
1.1 VPN的概念
VPN(Virtual Private Network),即虚拟专用网或虚拟私用网,是指利用开放的公共网络资源建立私有传输通路,将远程的分支机构,商业伙伴,移动办公人员等连接起来,并且提供安全的端到端的数据通信的一种技术。它有两层含义:第一,它是“虚拟的”,即用户实际上并不存在一个独立专用的网络,既不需要建设或租用专线,也不需要装备专用的设备,而是将其建立在分布广泛的公共网络上,就能组成一个属于自己专用的网络;第二,它是“专用的”,相对于“公用的”来说,它强调私有性和安全可靠性。而对于这个问题,也是很值得探讨的,在文献中指出有两方面值得注意,就是安全性和可用性。在这里我们姑且不必着眼于个别字眼,而就按我们通常的理解来进行讨论。
1.2 VPN的历史
VPN当然不是一开始就有的,我们简单回顾一下它的发展阶段。刚开始企业是自己建设专门线路或者更向前发展一下是租用专门线路进行远程通信,无疑这样所花费用巨大,而且资源利用率很低,属于独占性质的,只有实力雄厚的公司才能负担的起;随着Internet时代的到来,通过IP协议传输客户应用,一系列协议不断推出,其中包括IPSec,人们发现基于IPSec的虚拟专用网络,即IPSec-VPN比租用专线要便宜很多;随着Internet的进一步发展又引出一个问题:安全性和Web应用。在浏览器中内嵌SSL处理程序解决了这个问题,于是SSL-VPN诞生了;这时有人说:“浏览器不能处理所有的问题,许多复杂的事务处理需要一个资源丰富的客户端。”这就使IPSec占了优势,他们继续使用IPSec-VPN;确实,浏览器并不能处理很多复杂的事务,一个完善的应用解决方案需要认证机制,而且一些不支持Web的应用也不能采用SSL-VPN;移动设备,CACHE,身份窃取等促使SSL必须具备新的特点以使其能改进成为一个足够安全的解决办法。所有的这些促进了VPN技术的发展,使其更加安全可靠,简便易用,而不仅仅追求于数据的获取和传输。
1.3 VPN技术简介
我们通常认为VPN具备以下几个特点:安全保障,QoS,可扩充性和灵活性,可管理性。在为保证数据的安全性方面,目前主要采用四项技术:隧道(Tunneling)技术,加解密(Encryption&Decryption)技术,密钥管理(Key Management)技术,使用者与设备认证(Authentication)技术。VPN有三种解决方案,分别是Access VPN(接入VPN),Intranet VPN(内部VPN),Extranet VPN(外部VPN)。企业的内部人员移动或有远程办公需要,或者商家要提供B2C的安全访问服务,就可以考虑使用Access VPN。要进行企业内部各分支机构的互联,使用Intranet VPN是很好的方案。如果是提供B2B之间的安全访问服务,则可以考虑。Extranet VPN。而VPN的设计一般包含以下原则:安全性、网络优化、VPN管理等。
2、三种VPN技术
2.1 IPSec VPN
IPSec协议是网络层协议,是为保障IP通信而提供的一系列协议族,主要针对数据在通过公共网络时的数据完整性,安全性和合法性等问题设计的一整套隧道,加密和认证方案。远程用户需安装特定的客户端软件,相对来说比较复杂,对于非专业人员或不是很熟悉这个协议的人来说,有一定的难度。而且新增用户比较困难,但是由于IPSec协议是在网络层上的,与上层协议无关,所以可以随时添加和修改应用程序,对于应用层协议没有特殊要求,所以它的应用领域非常之广。它提供的是网络边缘到客户端的安全保护,仅对从客户到VPN网关之间的通道加密。
2.2 SSL VPN
SSL协议是套接层协议,是为保障基于Web的通信的安全而提供的加密认证协议,提供的是应用程序的安全服务而不是网络的安全服务。与IPSec相比,SSL VPN不需要特殊的客户端软件,仅一个Web浏览器即可,而且现在很多浏览器本身内嵌SSL处理功能,这就更加减少了复杂性。而且由于它是运行于应用层的,与底层协议无关,所以增加用户很简单,但是应用程序扩展比较麻烦。其次,因为并不是所有的应用都是基于Web的,这也是它的一个限制。它保证端到端的安全,从客户端到服务器进行全程加密。
2.3 MPLS VPN
MPLS是一种在开放的通信网上利用标签进行数据高速,高效传输的技术,它将第三层的包交换转换成第二层的包交换,以标记替代传统的IP路由,兼有第二层的分组转发和第三层的路由技术的优点,是一种“边缘路由,核心交换”的技术。MPLS-VPN可扩展性好,速度快,配置简单,但是一旦出现故障,解决起来比较困难。基于MPLS的VPN是无连接的,无须定义隧道,这种特点使得MPLS尤其适用于动态隧道技术[3]。
3、VPN的安全性需要加强
近几年来VPN的安全性得到了很大的加强,但依然存在一些安全隐患,下面我们就来简单介绍一下。如果加密密钥设的长一些,比如将加密算法DES_SSL转换成3DES_DES将明显改善VPN的安全性,采用128 bit或者更多位密码也会更好,然而,一些浏览器和设备提供者不提倡运用如此烦杂的密码,这是处于整个系统考虑,不但要追求安全性而且要考虑效率问题。
IPSec-VPN在客户端需要一台台式机或其他设备以便接入网络。而提供给客户更多的权限来检查或监视VPN的安全性也是可行和需要的,因为有的缺陷是在客户运行使用中发现的。ISAKMP(Internet Security Association Key Management Protocol,Internet安全连接和密钥管理协议)是用来在Internet环境下建立SA(Security Association,安全连接)和密钥。由于它支持包层面的加密,所以在IPSec VPN中广泛应用。一旦你操作了ISAKMP包使得内容无效或不正常,就能够冲击另一端的客户,从而导致一个否定服务事件发生。这时你可以不采用这种易引起攻击的模式,转而用一种包过滤技术,因为在这种攻击模式中,在安全隧道建立起来之前的那个阶段很少有包交换,而允许信息交换(NISCC Reference:273756/NISCC/ISAKMP)。
除此之外,另一个威胁就是利用被认为可信任的高速缓存通过窗口是可以绕过认证过程的,这种方法不是通过这个认证过程而是将数据散列开形成子序列利用标记进行传输。当然,这样可以提高系统的响应时间,但同时却也给攻击者创造了机会,攻击者们同样可以得到这种标记利用散列子序列进入VPN网络而不需要经过认证。阻止这种被认为可信任的高速缓存能够解决这个问题。密码储存又引起另一个VPN管理问题。密码也是易被攻击者利用来入侵网络了一种途径。一旦入侵者取得了可信任的密码就能来攻击连接或者是自由进出系统做出破坏活动,从而可能引起很严重的后果。基于这个考虑,密码的存储管理似乎应被禁止。用于MicrosoftVPN中的PPTP(Point-to-Point Tunneling Protocol,点到点隧道协议)被发现在安全方面有许多脆弱性,PPTP中的MS-CHAP和MPPE,它们的缺陷使得攻击者有很多可以利用的地方。例如发起字典攻击来对抗局域网管理者的认证信息是可能的,这样做的结果就是窃取到密码。而且PPTP服务器本身也是能够被骗过的,会话密钥能够再次被使用。鉴于此,Microsoft公司也已经推出了很多补丁包来修复这个问题。
对于VPN接入的安全性和功能性进行良好平衡的一个比较好的方法就是设置一种自适应的协议子集。当一个用户拨入VPN时,协议子集管理系统就检查用户的原IP地址是否是可信任的。如果是在家里或者是用一个3G卡拨入比在外面拨入所授予的权力要多一些。关于自适应协议子集的有趣的一点就是它们可能没有被执行。了解如何接入和调整总是好事,但是有趣的是我们会发现人们运行如此重要的一些基础结构时却对其潜在安全隐患考虑得不是那么充分。
4、VPN进一步研究
VPN已经在各行各业得到广泛应用,随着VPN的发展,人们不仅仅满足于其现有的功能。而是对它的安全性以及QoS提出了更高的要求,于是开始探索更新的策略方法和各种算法等来完善其性能。对于MPLS VPN我们考虑更多的是如何安排LSP的带宽分配,这将大大影响VPN的QoS,这就要求在满足用户需要的基础上最大限度提高网络资源的利用率。而现实问题是往往一些链路过分利用而另一部分链路的利用却不充分,这就牵扯到VPN的TE(Traffic Engineer,流量工程)问题。软管模型应这些要求诞生了,已有很多文章介绍软管模型,能够帮助我们了解这一技术。而且还提出一些非常有效的算法加以解决这个问题。如文献[5]中就详细介绍了一种方案。而在文献[6]中讲述了在下一代IPv6中VPN的动态和安全管理。无论如何,随着人们的探索,将出现越来越多而且更加有效的方法来充实VPN。
5、结束语
VPN为LSP和用户都带来了好处,简单点说,节省了大量的资金,组网快捷,而且安全性也比较好。所有的这一切从近年来VPN的飞速发展中就可以看出来,人们为什么如此热衷于此,必有其过人的一面,但是同时我们看到现在VPN还不是十全十美的,在它的安全性方面还存在隐患。但也要相信VPN的明天会更好。