VPN的综述.docx
《VPN的综述.docx》由会员分享,可在线阅读,更多相关《VPN的综述.docx(23页珍藏版)》请在冰豆网上搜索。
VPN的综述
3.7VPN的综述
3.7.1VPN的概念
虚拟专用网(VPN-VIRTUALPRIVATENETWORK)指的是在公用网络上建立专用网络的技术。
之所以称为虚拟网主要是因为整个VPN网络的任意两个节点之间的连接并没有传统专网所需的端到端的物理链路,而是架构在公用网络服务商所提供的网络平台(如INTERNET,ATM,FRAMERELAY等)之上的逻辑网络,用户数据在逻辑链路中传输。
VPN是通过因特网上将局域网扩展到远程网络和远程计算机用户的一种成本效益极佳的办法。
它最大的优点在于异地子网间的通信就象在一个子网内一样安全,虚拟专用网络由此而得名。
图3-5-1虚拟局域网联网图
3.7.2VPN解决方案的优点
选择灵活、速度快:
通过vpn网关,用户可以选择多种internet连通技术,而且对于INTERNET的容量可以实现按需定制;
安全性好:
VPN的认证机制将更好地保证用户的隐私权和收发数据的完整性;实现投资的保护:
VPN技术的应用可以建立在用户现有的防火墙的基础上,用户正在使用的应用软件也不受影响。
3.7.3VPN的原理
VPN使用三个方面的技术:
3.7.3.1隧道协议、3.7.3.2身份验证和3.7.3.3数据加密,保证了通信的安全性。
3.7.3.4企业VPN案例分析
(1)
3.7.3.5企业VPN综合案例
(2)
3.7.3.6企业VPN综合案例(3)
3.7.3.7服务器端使用Win2K,客户端使用Win98的VPN虚拟专用网络的组建
3.7.3.8服务器端使用Win2K,客户端使用Win2000的VPN虚拟专用网络的组建
3.7.3.1隧道协议
3.7.3.1.1.隧道技术基础被封装的数据包在公共互联网络上传递时所经过的逻辑路径称为隧道。
隧道技术是一种通过使用互联网络的基础设施使被封装的数据包在隧道的两个端点之间通过公共互联网络进行路由在网络之间传递数据的方式。
使用隧道传递的数据(或负载)可以是不同协议的数据帧或包。
隧道协议将这些其它协议的数据帧或包重新封装在新的包头中发送。
新的包头提供了路由信息,从而使封装的负载数据能够通过互联网络传递。
一旦到达网络终点,数据将被解包并转发到最终目的地。
注意隧道技术是指包括数据封装,传输和解包在内的全过程。
图3-7-1隧道技术传输
VPN综述隧道所使用的传输网络可以是任何类型的公共互联网络,本文主要以目前普遍使用Internet为例进行说明。
此外,在企业网络同样可以创建隧道。
隧道技术在经过一段时间的发展和完善之后,目前较为成熟的技术包括:
点对点隧道协议(PPTP):
PPTP是PPP的扩展,它增加了一个新的安全等级,并且可以通过Internet进行多协议通信,它支持通过公共网络(如Internet)建立按需的、多协议的、虚拟专用网络。
PPTP可以建立隧道或将IP、IPX或NetBEUI协议封装在PPP数据包内,因此允许用户远程运行依赖特定网络协议的应用程序。
PPTP在基于TCP/IP
协议的数据网络上创建VPN连接,实现从远程计算机到专用服务器的安全数据传输。
VPN服务器执行所有的安全检查和验证,并启用数据加密,使得在不安全的网络上发送信息变得更加安全。
尤其是使用EAP后,通过启用PPTP的VPN传输数据就象在企业的一个局域网内那样安全。
另外还可以使用PPTP建立专用LAN到LAN的网络。
L2TP是一个工业标准的Internet隧道协议,它和PPTP的功能大致相同。
L2TP也会压缩PPP的帧,从而压缩IP、IPX或NetBEUI协议,同样允许用户远程运行依赖特定网络协议的应用程序。
与PPTP不同的是,L2TP使用新的网际协议安全(IPSec)机制来进行身份验证和数据加密。
目前L2TP只支持通过IP网络建立隧道,不支持通过X.25、帧中继或ATM网络的本地隧道。
图3-7-2隧道协议的链接
包头中通过企业IP网络或公共IP互联网络如Internet发送。
3.7.3.1.2.隧道协议为创建隧道,隧道的客户机和服务器双方必须使用相同的隧道协议。
隧道技术可以分别以第2层或第3层隧道协议为基础。
上述分层按照开放系统互联(OSI)的参考模型
划分。
第2层隧道协议对应OSI模型中的数据链路层,使用帧作为数据交换单位。
PPTP,L2TP和L2F(第2层转发)都属于第2层隧道协议,都是将数据封装在点对点协议(PPP)帧中通过互联网络发送。
第3层隧道协议对应OSI模型中的网络层,使用包作为数据交换单位。
IPoverIP以及IPSec隧道模式都属于第3层隧道协议,都是将IP包封装在附加的IP包头中通过IP网络传送。
3.7.3.1.3.隧道技术如何实现
对于象PPTP和L2TP这样的第2层隧道协议,创建隧道的过程类似于在双方之间建立会话;隧道的两个端点必须同意创建隧道并协商隧道各种配置变量,如地址分配,加密或压缩等参数。
绝大多数情况下,通过隧道传输的数据都使用基于数据报的协议发送。
隧道维护协议被用来作为管理隧道的机制。
第3层隧道技术通常假定所有配置问题已经通过手工过程完成。
这些协议不对隧道进行维护。
与第3层隧道协议不同,第2层隧道协议(PPTP和L2TP)必须包括对隧道的创建,维护和终止。
隧道一旦建立,数据就可以通过隧道发送。
隧道客户端和服务器使用隧道数据传输协议准备传输数据。
例如,当隧道客户端向服务器端发送数据时,客户端首先给负载数据加上一个隧道数据传送协议包头,然后把封装的数据通过互联网络发送,并由互联网络将数据路由到隧道的服务器端。
隧道服务器端收到数据包之后,去除隧道数据传输协议包头,然后将负载数据转发到目标网络。
3.7.3.2身份验证
增强的安全性VPN通过使用点到点协议(PPP)用户级身份验证的方法进行验证,这些验证方法包括:
3.7.3.2.1.口令验证协议(PAP)
PAP是一种简单的明文验证方式。
NAS要求用户提供用户名和口令,PAP以明文方式返回用户信息。
很明显,这种验证方式的安全性较差,第三方可以很容易的获取被传送
的用户名和口令,并利用这些信息与NAS建立连接获取NAS提供的所有资源。
所以,一旦用户密码被第三方窃取,PAP无法提供避免受到第三方攻击的保障措施。
3.7.3.2.2.挑战-握手验证协议(CHAP)
CHAP是一种加密的验证方式,能够避免建立连接时传送用户的真实密码。
NAS向远程用户发送一个挑战口令(challenge),其中包括会话ID和一个任意生成的挑战字串(arbitrarychallengestring)。
远程客户必须使用MD5单向哈希算法(one-wayhashingalgorithm)返回用户名和加密的挑战口令,会话ID以及用户口令,其中用户名以非哈希方式发送。
图3-7-3CHAP验证协议
CHAP对PAP进行了改进,不再直接通过链路发送明文口令,而是使用挑战口令以哈希算法对口令进行加密。
因为服务器端存有客户的明文口令,所以服务器可以重复客户端进行的操作,并将结果与用户返回的口令进行对照。
CHAP为每一次验证任意生成一个挑战字串来防止受到再现攻击(replayattack).在整个连接过程中,CHAP将不定时的向客户端重复发送挑战口令,从而避免第3方冒充远程客户(remoteclientimpersonation)进行攻击。
3.7.3.2.3.微软挑战-握手验证协议(MS-CHA)P
与CHAP相类似,MS-CHAP也是一种加密验证机制。
同CHAP一样,使用MS-CHAP时,NAS会向远程客户发送一个含有会话ID和任意生成的挑战字串的挑战口令。
远程客户必须返回用户名以及经过MD4哈希算法加密的挑战字串,会话ID和用户口令的MD4哈希值。
采用这种方式服务器端将只存储经过哈希算法加密的用户口令而不是明文口令,这样就能够提供进一步的安全保障。
此外,MS-CHAP同样支持附加的错误编码,包括口令过期编码以及允许用户自己修改口令的加密的客户-服务器(client-server)
附加信息。
使用MS-CHAP,客户端和NAS双方各自生成一个用于随后数据加密的起始密钥。
MS-CHAP使用基于MPPE的数据加密,这一点非常重要,可以解释为什么启用基于MPPE的数据加密时必须进行MS-CHAP验证。
以上的身份验证和加密手段由远程VPN服务器强制执行。
对于敏感的数据,可以使用VPN连接通过VPN服务器将高度敏感的数据服务器物理地进行分隔,只有企业Intranet上拥有适当权限的用户才能通过远程访问建立与VPN服务器的VPN连接,并且可以访问敏感部门网络中受到保护的资源。
网络协议支持VPN支持最常用的网络协议,基于IP、IPX和NetBEUI协议网络中的客户机都可以很容易地使用VPN。
这意味着通过VPN
连接可以远程运行依赖于特殊网络协议的应用程序。
IP地址安全因为VPN是加密的,
VPN数据包在Internet中传输时,Internet上的用户只看到公用的IP地址,看不到数据包内包含的专有网络地址。
因此远程专用网络上指定的地址是受到保护的。
3.7.3.2.4VPN进行身份验证的几种方法
1.CHAP
CHAP通过使用MD5(一种工业标准的散列方案)来协商一种加密身份验证的安全形式。
CHAP在响应时使用质询-响应机制和单向MD5散列。
用这种方法,可以向服务器证明客户机知道密码,但不必实际地将密码发送到网络上。
MS-CHAP同CHAP相似,微软开发MS-CHAP是为了对远程Windows工作站进行身份验证,它在响应时使用质询-响应机制和单向加密。
而且MS-CHAP不要求使用原文或可逆加密密码。
2.MS-CHAP
v2MS-CHAPv2是微软开发的第二版的质询握手身份验证协议,它提供了相互身份验证和更强大的初始数据密钥,而且发送和接收分别使用不同的密钥。
如果将VPN连接配置为用MS-CHAPv2作为唯一的身份验证方法,那么客户端和服务器端都要证明其身份,如果所连接的服务器不提供对自己身份的验证,则连接将被断开。
3.EAP
EAP的开发是为了适应对使用其他安全设备的远程访问用户进行身份验证的日益增长的需求。
通过使用EAP,可以增加对许多身份验证方案的支持,其中包括令牌卡、一次性密码、使用智能卡的公钥身份验证、证书及其他身份验证。
对于VPN来说,使用EAP可以防止暴力或词典攻击及密码猜测,提供比其他身份验证方法(例如CHAP)更高的安全性。
在Windows系统中,对于采用智能卡进行身份验证,将采用EAP验证方法;对于通过密码进行身份验证,将采用CHAP、MS-CHAP或MS-CHAPv2验证方法。
3.7.3.3数据加密
3.7.3.3.1VPN的加密技术
VPN采用何种加密技术依赖于VPN服务器的类型,因此可以分为两种情况。
1.对于PPTP服务器,将采用MPPE加密技术MPPE可以支持40位密钥的标准加密方案和128位密钥的增强加密方