3.3 虚拟专用网(VPN)技术
计算机网络技术的快速发展使得企业规模不断扩大,远程用户、远程办公人员、分支机构和合作伙伴也越来越多。在这种情况下,用传统的租用线路的方式实现私有网络的互联会造成很大经济负担。因此,人们开始寻求一种经济、高效、快捷的私有网络互联技术。虚拟专用网(Virtual Private Network,VPN)的出现给当今企业发展所需的网络功能提供了理想的实现途径。VPN可以使公司获得使用公用通信网络基础结构所带来的经济效益,同时获得使用专用的点到点连接所带来的安全性。
3.3.1 虚拟专用网技术概述
1.虚拟专用网技术的定义
虚拟专用网技术是一种采用加密、认证等安全机制,在公共网络基础设施上建立安全、独占、自治的逻辑网络技术。它不仅可以保护网络的边界安全,而且是一种网络互联的方式。
VPN是通过利用接入服务器、路由器及VPN专用设备,采用隧道技术,以及加密、身份认证等方法,在公用的广域网(包括Internet、公用电话网、帧中继网及ATM等)上构建的专用网络。在虚拟专用网上,数据通过安全的“加密隧道”在公众网络上传播。
VPN技术如同在茫茫的广域网中为用户拉出一条专线。对于用户来说,公用网络起到了“虚拟专用”的效果,用户觉察不到它在利用公用网获得专用网的服务。通过VPN,网络对于每个使用者都是“专用”的。也就是说,VPN根据使用者的身份和权限,直接将使用者接入它所应该接触的信息中。这一点是VPN给用户带来的最明显变化。
VPN可视为内部网在公众信息网(宽带城域网)上的延伸,通过在宽带城域网中一个私用通道来创建一个安全的私有连接,VPN通过这个私用通道将远程用户、分支机构、业务合作伙伴等机构的内联网连接起来,构成一个扩展的内联网络,其结构示意图如图3-3所示。
从客观上而言,VPN就是一种具有私有和专有特点的网络通信环境。它是通过虚拟的组网技术,而不是构建物理的专用网络的手段来达到的。因此,可以分别从通信环境和组网技术的角度来定义VPN。
从通信环境角度而言,VPN是一种存取受控制的通信环境,其目的在于只允许同一利益共同体的内部同层实体连接,而VPN的构建则是通过对公共通信基础设施的通信介质进行某种逻辑分割来实现的,其中基础通信介质提供共享性的网络通信服务。
图3-3 VPN结构示意图
从对组网技术而言,VPN通过共享通信基础设施为用户提供定制的网络连接服务。这种连接要求用户共享相同的安全性、优先级服务、可靠性和可管理性策略,在共享的基础通信设施上采用隧道技术和特殊配置技术仿真点到点的连接。
2.虚拟专用网技术的优点
与其他网络技术相比,VPN有如下优点。
1)容易扩展
若企业想扩大VPN的容量和覆盖范围,只需与新的ISP签合约,建立账户,或者与原有的ISP重签合约,扩大服务范围。在远程办公室增加VPN的能力也很简单,通过配置命令就可以使Extranet路由器拥有互联网和VPN的功能,路由器还能对工作站自动进行配置。
2)方便与合作伙伴的联系
以前,如果企业想与合作伙伴联网,则双方的信息技术部门必须协商如何在双方之间建立租用线路或帧中继线路。自从有了VPN之后,这种协商就没有必要了,真正达到了要连就连、要断就断的目的。
3)完全控制主动权
VPN可以使企业利用ISP的设备和服务,同时完全掌握着对自己网络的控制权。例如,企业可以把拨号访问交给ISP去做,由自己负责用户的查验、访问权、网络地址、安全性和网络变化管理等重要工作。
4)成本较低
在使用互联网时,通过借助ISP来建立VPN,可以节省大量通信费用。此外,VPN可以使企业不需要投入大量人力、物力去安装和维护广域网设备和远程访问设备,这些工作都由ISP代为完成。
3.3.2 虚拟专用网的分类
依据不同的标准和观点会有不同的VPN分类,各种文献中也出现了种类繁多的分类。本书着重讨论按VPN应用模式和按构建者所采用的安全协议两种分类方法。
1.按VPN应用模式分类
按VPN应用模式,VPN可分为3种类型:远程访问虚拟专用网(Access VPN)、企业内部虚拟专用网(Intranet VPN)和企业扩展虚拟专用网(Extranet VPN)。这3种类型的虚拟专用网分别与传统的远程访问网络、企业内部的Intranet,以及企业网和相关合作伙伴的企业网所构成的Extranet相对应。
1)远程访问虚拟专用网(Access VPN)
远程访问虚拟专用网通过公用网络与企业的Intranet和互联网建立私有网络连接。在远程访问虚拟专用网的应用中,利用了二层网络隧道技术在公用网络上建立了VPN隧道来传输私有网络数据。
远程访问虚拟专用网的结构有两种类型:一种是用户发起的VPN连接;另一种是接入服务器发起的VPN连接。
用户发起的VPN连接有两种情况:一种是远程用户通过服务提供点(POP)拨入互联网;另一种是远程用户通过网络隧道协议与企业网建立一条隧道(可加密)连接,从而可以访问企业网的内部资源。
在这种情况下,用户端必须维护与管理发起隧道连接的有关协议和软件。然而,在接入服务器为VPN连接发起方的情况中,用户通过本地号码或免费号码拨号ISP,然后ISP的接入服务器再发起一条隧道连接到用户的企业网。在这种情况下,所建立的VPN连接对远程用户是透明的,构建VPN所需的协议及软件均由ISP负责。
这种VPN要对个人用户的身份进行认证(不仅认证IP地址),公司就可以知道哪个用户想访问公司的网络,经认证后决定是否允许该用户对网络资源进行访问,以及可以访问哪些资源。用户的访问权限表由网络管理员制定,并且要符合公司的安全策略。
2)企业内部虚拟专用网(Intranet VPN)
利用计算机网络构建虚拟专用网的实质是通过公用网在各个路由器之间建立VPN安全隧道来传输用户的私有网络数据。用于构建这种VPN连接的隧道技术有IPSec、GRE等,使用这些技术可以有效、可靠地使用网络资源,从而保证了网络质量。以这种方式连接而成的网络称为企业内部虚拟专用网,可以把它视为公司网络的扩展。
这种类型的VPN的主要任务是保护公司的互联网不被外部入侵,同时保证公司的重要数据经过互联网时的安全性。
3)企业扩展虚拟专用网(Extranet VPN)
企业扩展虚拟专用网是指利用VPN将企业网延伸至合作伙伴与客户,进行信息共享、交流和服务的网络。
Extranet VPN是一个由加密、认证和访问控制功能组成的集成系统。安全的Extranet VPN要求公司在同它的客户、合作伙伴及在外地的雇员之间经互联网建立端到端的连接时,必须通过VPN代理服务器进行。
通常,公司将VPN代理服务器放在一个不能穿透的防火墙隔离层之后,防火墙阻止所有来历不明的信息传输。经过过滤后的数据通过唯一入口传到VPN服务器,VPN服务器再根据安全策略进一步过滤。
因合作伙伴与客户分布广泛,这样的Extranet VPN的建立对于维护来说是非常昂贵的。
2.按构建者所采用的安全协议分类
按构建者所采用的安全协议分类,每一种安全协议都可以对应一类VPN。目前比较流行并被广泛采用的主要有IPSec VPN、MPLS VPN、L2TP VPN和SSL VPN。
1)IPSec VPN
IPSec VPN是目前应用最广泛的VPN之一。它利用IPSec的优势,不仅有效地解决了利用公共IP网络互联的问题,而且具有很高的安全性。IPSec是目前直接采用密码技术的真正意义上的安全协议,是目前公认的安全协议族。当采用VPN技术解决网络安全问题时,在网络层IPSec协议是最佳选择。
2)MPLS VPN
多协议标记交换(Multi-Protocol Label Switching,MPLS)的提出是为了提高核心骨干网中网络点的转发速率,解决其无法适应大规模网络的发展问题。MPLS通过标记交换的转发机制,把网络层的转发和数据链路层的交换有机地结合起来,实现了“一次路由,多次交换”,用标记索引代替目的地址匹配。由于采用固定长度的标记,使得标记索引能够通过硬件实现,从而大大提高了分组转发效率。
MPLS是目前较为理想的骨干IP网络技术,除了能提高路由器的分组转发性能外,还有多方面的应用,包括流量工程、QoS保证。MPLS在流量工程方面有助于实现负载均衡,当网络出现故障时能够实现快速路由切换,同时为IP网络支持QoS提供了一个新途径。
MPLS在IP网络中的另一个重要应用就是为建立VPN提供了有效的手段,通常将在MPLS骨干网上利用MPLS技术构建的VPN称为MPLS VPN。MPLS VPN主要用于服务提供商在它们拥有的MPLS骨干网上提供类似于帧中继、ATM服务的VPN组网服务。
MPLS VPN组网具有MPLS协议的主要优势:一是具有良好的可扩展性,主要表现在VPN用户无须对现有设备进行任何设置,VPN服务提供商只在PE路由器维护VPN路由信息,所以在可扩展性方面具有明显优势;二是服务提供商提供VPN组网服务时具有易管理性;三是容易实现QoS控制。因此,MPLS VPN的QoS机制优于基于传统IP网络的VPN技术。
MPLS VPN也有不足的地方,如不能提供机密性、完整性、访问控制等安全服务,以及访问灵活性差。
3)L2TP VPN
第二层隧道协议(Layer2 Tunneling Protocol,L2TP)VPN是另一个流行的VPN形式,主要用于提供远程移动用户或VPN终端通过PSTN进行远程访问服务拨号VPN的构建。L2TP也可以解决网络访问服务器(NAS)的接入问题,用户不用拨打长途电话,通过本地拨号,借助Internet或服务提供商的NAS,就可以实现远程NAS的接入。由于L2TP的安全性依赖于PPP的安全性,PPP一般没有采用加密等措施,所以从网络安全的角度来看,L2TP是缺乏安全机制的。
4)SSL VPN
最近几年来,一种新兴的VPN—SSL VPN技术得到广泛、快速应用,它能提供与IPSec相近似的安全性。其通过利用安全套接字层协议(Secure Socket Layer,SSL)保证通信的安全,利用代理技术实现数据包的封装处理功能。通常的实现方式是在企业防火墙后面放置一台SSL代理服务器。如果用户希望安全地连接到公司网络上,那么当用户在浏览器上输入一个URL后,连接将被SSL代理服务器取得,并验证该用户的身份,然后SSL代理服务器将提供一个远程用户与各种不同应用服务器之间的连接。
在VPN客户端的部署和管理方面,VPN相对于IPsec VPN要容易和方便得多。它的一个主要局限在于用户访问是基于Web服务器的,对于不同的Web服务要进行不同的处理,并且对非Web的应用服务只是有限支持,实现起来非常复杂,因而无法保护更多的应用;而IPSec VPN却几乎可以为所有应用提供访问,包括客户-服务器模式和某些传统应用。SSL VPN还需要CA的支持,处理速度相对于IPSec VPN来说比较慢,安全性也没有IPSec VPN高。
3.3.3 虚拟专用网的工作原理
VPN连接表面上看是一种专用连接,实际上是在公共网络基础上的连接。它通过使用被称为“隧道”的技术,建立点对点的连接,实现数据包在公共网络上专用“隧道”内的传输。
通常,一个隧道基本上是由隧道启动器、路由网络、隧道交换机和一个或多个隧道终结器等组成的。来自不同数据源的网络业务经过不同的隧道在相同的体系结构中传输,并且允许网络协议穿越不兼容的体系结构,还可以区分来自不同数据源的业务,因而可以将该业务发往指定目的地,同时接受指定的等级服务。
隧道启动和终止可以由许多网络设备和软件来实现。VPN除了具备常规的防火墙和地址转移功能外,还应具备数据加密、鉴别和授权功能。
将网络协议封装到PPP协议中,或将网络协议直接封装到隧道协议中,创建符合标准的VPN隧道。隧道启动器将隧道协议包封装在TCP/IP数据包中,然后通过互联网传输,另一端隧道终结器的软件打开这些数据包,并将其发送给原来的协议进行常规处理。
3.3.4 虚拟专用网的关键技术
VPN是由特殊设计的硬件和软件直接通过共享的基于IP的网络建立起来的,它以交换和路由的方式工作。隧道技术把在网络上传送的各种类型的数据包提取出来,按照一定的规则封装成隧道数据包,然后在网络链路上传输。在VPN上传输的隧道数据包经过加密处理,具有与专用网络相同的安全和管理的功能。
VPN采用的关键技术主要包括加密技术、安全隧道技术、用户身份认证技术及访问控制技术。下面将对这些技术进行介绍。
1.加密技术
发送者在发送数据之前对数据进行加密,当数据到达接收者时由接收者对数据进行解密,使用的加密算法可以是对称密钥算法,也可以是公共密钥算法等,如DES、SDES、IDEA、RSA及ECC等。
2.安全隧道技术
VPN的核心是安全隧道技术(Secure Tunneling Technology)。隧道是一种通过互联网在网络之间传递数据的方式。通过将待传输的原始信息经过加密和协议封装处理后再嵌套装入另一种协议的数据包送入网络中像普通数据包一样进行传输,到达另一端后被解包。只有源端和宿端的用户对隧道中的嵌套信息进行解释和处理,而对其他用户而言只是无意义的信息。
在VPN中主要有两种隧道。一种是端到端的隧道,主要实现个人主机之间的连接,端设备必须完成隧道的建立,对端到端的数据进行加密和解密;另一种是节点到节点的隧道,主要用于连接不同地点的LAN,数据到达LAN边缘VPN设备时被加密并传送到隧道的另一端,在那里被解密并送入相连的LAN。
与隧道技术相关的协议分为第二隧道协议和第三隧道协议。第二隧道协议主要有PPTP、L2TP和L2F等,第三隧道协议主要有GRE及IPSec等。
3.用户身份认证技术
在正式的隧道连接开始之前需要确认用户的身份,以便进一步实施资源访问控制或用户授权。用户身份认证技术(User Authentication Technology)是相对比较成熟的一类技术,因而可以考虑对现有技术的集成。
4.访问控制技术
访问控制技术(Access Control Technology)就是确定合法用户对特定资源的访问权限,由VPN服务的提供者与最终网络信息资源的提供者共同协商确定特定用户对特定资源的访问权限,由此实现基于用户的细粒度访问控制,从而实现对信息资源最大限度的保护。
3.3.5 虚拟专用网的协议
VPN涉及三种协议,分别是乘客协议、封装协议和承载协议。
(1)乘客协议是被封装的协议,如PPP、SLIP。
(2)封装协议用于隧道的建立、维持和断开,如点对点隧道协议(PPTP)、第二层隧道协议(L2TP),第三层隧道协议IPSec等,也称为隧道协议。
(3)承载协议是承载经过封装后的数据包的协议,如IP和ATM等。
1. 常见虚拟专用网的协议
常见虚拟专用网的协议是点对点隧道协议、第二层隧道协议和第三层隧道协议。下面对这三种协议进行介绍。
1)点对点隧道协议
点对点隧道协议是一个最流行的互联网协议,它提供PPTP客户机与PPTP服务器之间的加密通信,允许公司使用专用隧道,通过公共互联网来扩展公司的网络。通过互联网的数据通信,需要对数据流进行封装和加密,PPTP就可以实现这个功能,从而可以通过互联网实现多功能通信,也就是说,通过PPTP的封装或隧道服务,使非IP网络可以获得进行互联网通信的优点。
2)第二层隧道协议
L2TP综合了其他两个隧道协议(Cisco的第二层转发协议L2F和Microsoft的点对点隧道协议PPTP)的优点。L2TP是一个工业标准互联网隧道协议,由Intranet Engineering Task Force(IETF)管理,目前由Cisco、Microsoft、Ascend、3Com和其他设备供应商联合开发并认可。
L2TP主要由接入集中器(LAC)和L2TP网络服务器(LNS)构成。LAC支持客户端的L2TP用于发起呼叫、接收呼叫和建立隧道,LNS是所有隧道的终点。在传统的PPP连接中,用户拨号连接的终点是LAC,L2TP使得PPP协议的终点延伸到LNS。在安全性考虑上,L2TP仅仅定义了控制包的加密传输方式,对传输中的数据并不加密。因此,L2TP并不能满足用户对安全性的需求。如果需要安全的VPN,则依然需要下述IPSec的支持。
这些结构都严格通过点对点方式连接,所以很难在大规模的IP VPN下使用,同时这种方式需要额外的计划和人力来准备和管理,对网络结构的任意改动都将花费数天甚至数周的时间,而在点对点平面结构网络上添加任意节点都必须承担刷新通信矩阵的巨大工作量,并且要为所有配置增加新站点后的拓扑信息,以便让其他站点知其存在,这将导致此类VPN异常昂贵,也使大量需要此类服务的中型企业和部门望而却步。
3)第三层隧道协议
在利用隧道方式来实现VPN时,除了要充分考虑隧道的建立及其工作过程之外,另外一个重要问题是隧道的安全。第二隧道协议只能保证在隧道发生端及终止端进行认证和加密,而隧道在公网的传输过程中并不能完全保证安全。IPSec加密技术则是在隧道外面再封装,从而保证了隧道在传输过程中的安全性。
2.IPSec体系
IPSec是LETF IPSec工作组于1998年制定的一组基于密码学的开放网络安全协议,总称IP安全(IP Security)体系结构,简称IPSec。
1)IPSec的简介
IPSec的目的就是要有效地保护IP数据包的安全,它提供了一种标准的、强大的,以及广泛包容的机制,为IP及上层协议提供安全保证,并定义了一套默认的、强制实施的算法,以确保不同的实施方案之间可以共通,并且很方便扩展。
IPSec可保障主机之间、安全网关之间或主机与安全网关之间的数据包安全。由于受IPSec保护的数据包本身只是另一种形式的IP包,所以完全可以嵌套提供安全服务,同时在主机间提供端到端的验证,并通过一个安全通道将那些受IPSec保护的数据传送出去。
IPSec是一个工业标准网络安全协议,其有两个基本目标:保护IP数据包安全和为抵御网络攻击提供防护措施。IPSec结合密码保护服务、安全协议组和动态密钥管理共同实现这两个目标。
2)IPSec的优点
IPSec的优点主要有以下几点。
(1)IPSec比其他同类协议具有更好的兼容性。
(2)比高层安全协议(如SOCKS5)的性能更好,实现更方便;比低层安全协议更能适应通信介质的多样性。
(3)系统开销小。
(4)透明性好。
(5)管理方便。
(6)开放性好。
3)IPSec体系结构
IPSec主要由认证头(Authentication Header,AH)协议、封装安全载荷(Encapsulation Security Payload,ESP)协议及负责密钥管理的互联网密钥交换(Internet Key Exchange,IKE)协议组成。其体系结构如图3-4所示,各部分介绍如下。
(1)IPSec安全体系:包含一般概念、安全要求和定义IPSec的技术机制。
(2)认证头(AH)协议:主要用于保护数据的完整性和对IP包进行鉴别。
(3)封装安全载荷(ESP)协议:用于为IP报文提供保密性业务和可选的数据完整性保护。
(4)解释域(DOI):IPSec的通信双方能相互交互,并且通信双方应该理解AH协议和ESP协议中各字段的取值,因此,通信双方必须保持对通信消息相同的解释规则,包括一些参数、批准的加密和鉴别算法标识,以及运行参数等。
(5)加密算法:描述如何将不同加密算法用于ESP。
(6)认证算法:描述如何将不同鉴别算法用于AH和ESP可选的认证选项中。
(7)互联网密钥交换(IKE)协议:描述密钥管理机制的文档,包括如何协商密钥、分发密钥等。IKE协议是默认的密钥自动交换协议,密钥协商的结果通过DOI转换为IPSec的参数。
(8)安全关联(SA):包括通信双方协商好的安全通信的构建方案。
图3-4 IPSec体系结构图