好文档 - 专业文书写作范文服务资料分享网站

PPTP、L2TP、IPSec和SSLVPN(含OpenVPN)的比较

天下 分享 时间: 加入收藏 我要投稿 点赞

VPN (虚拟专用网)发展至今已经不在是一个单纯的经过加密的访问隧道了,它已经融合了访问控制、传输管理、加密、路由选择、可用性管理等多种功能,并在全球的 信息安全体系中发挥着重要的作用。也在网络上,有关各种VPN协议优缺点的比较是仁者见仁,智者见智,很多技术人员由于出于使用目的考虑,包括访问控制、 安全和用户简单易用,灵活扩展等各方面,权衡利弊,难以取舍;尤其在VOIP语音环境中,网络安全显得尤为重要,因此现在越来越多的网络电话和语音网关支持VPN协议。

PPTP

点对点隧道协议 (PPTP) 是由包括微软和3Com等公司组成的PPTP论坛开发的一种点对点隧道协,基于拨号使用的PPP协议使用PAP或CHAP之类的加密算法,或者使用 Microsoft的点对点加密算法MPPE。其通过跨越基于 TCP/IP 的数据网络创建 VPN 实现了从远程客户端到专用企业服务器之间数据的安全传输。PPTP 支持通过公共网络(例如 Internet)建立按需的、多协议的、虚拟专用网络。PPTP 允许加密 IP 通讯,然后在要跨越公司 IP 网络或公共 IP 网络(如 Internet)发送的IP头中对其进行封装。

L2TP

第 2 层隧道协议 (L2TP) 是IETF基于L2F (Cisco的第二层转发协议)开发的PPTP的后续版本。是一种工业标准 Internet 隧道协议,其可以为跨越面向数据包的媒体发送点到点协议 (PPP) 框架提供封装。PPTP和L2TP都使用PPP协议对数据进行封装,然后添加附加包头用于数据在互联网络上的传输。PPTP只能在两端点间建立单一隧道。 L2TP支持在两端点间使用多隧道,用户可以针对不同的服务质量创建不同的隧道。L2TP可以提供隧道验证,而PPTP则不支持隧道验证。但是当L2TP 或PPTP与IPSEC共同使用时,可以由IPSEC提供隧道验证,不需要在第2层协议上验证隧道使用L2TP。 PPTP要求互联网络为IP网络。L2TP只要求隧道媒介提供面向数据包的点对点的连接,L2TP可以在IP(使用UDP),桢中继永久虚拟电路 (PVCs),X.25虚拟电路(VCs)或ATM VCs网络上使用。

IPSec

隧道模式隧道是封装、路由与解封装的整个 过程。隧道将原始数据包隐藏(或封装)在新的数据包内部。该新的数据包可能会有新的寻址与路由信息,从而使其能够通 过网络传输。隧道与数据保密性结合使用时,在网络上窃听通讯的人将无法获取原始数据包数据(以及原始的源和目标)。封装的数据包到达目的地后,会删除封 装,原始数据包头用于将数据包路由到最终目的地。

隧道本身是封装数据经过的逻辑数据路径,对原始的源和目的端,隧道是不可见的,而只能看到网络路径中的点对点连接。连接双方并不关心隧道起点和终点之间的任何路由器、交换机、代理服务器或其他安全网关。将隧道和数据保密性结合使用时,可用于提供VPN。

封装的数据包在网络中的隧道内部传输。在此示例中,该网络是 Internet。网关可以是外部 Internet 与专用网络间的周界网关。周界网关可以是路由器、防火墙、代理服务器或其他安全网关。另外,在专用网络内部可使用两个网关来保护网络中不信任的通讯。

当以隧道模式使用 IPSec 时,其只为 IP 通讯提供封装。使用 IPSec 隧道模式主要是为了与其他不支持 IPSec 上的 L2TP 或 PPTP VPN 隧道技术的路由器、网关或终端系统之间的相互操作。

SSL VPN SSL VPN, SSL协议提供了数据私密性、端点验证、信息完整性等特性。SSL协议由许多子协议组成,其中两个主要的子协议是握手协议和记录协议。握手协议允许服务器 和客户端在应用协议传输第一个数据字节以前,彼此确认,协商一种加密算法和密码钥匙。在数据传输期间,记录协议利用握手协议生成的密钥加密和解密后来交换 的数据。

SSL独立于应用,因此任何一个应用程序都可以享受它的安全性而不必理会执行细节。SSL置身于网络结构体系的 传输层和应用层之间。此外,SSL本身就被几乎所有的Web浏览器支持。这意味着客户端不需要为了支持SSL连接安装额外的软件。这两个特征就是SSL能 应用于VPN的关键点。

典型的SSL VPN应用如OpenVPN,是一个比较好的开源软件。我们的产品提供了PPTP和OpenVPN两种应用,PPTP主要为那些经常外出移动或家庭办公的用户考虑;而OpenVPN主要是针对企业异地两地总分公司之间的VPN不间断按需连接,例如ERP在企业中的应用。

OpenVPN 允许参与建立VPN的单点使用预设的私钥,第三方证书,或者用户名/密码来进行身份验证。它大量使用了OpenSSL加密库,以及SSLv3/TLSv1 协议。OpenVPN能在Linux、xBSD、Mac OS X与Windows 2000/XP上运行。它并不是一个基于Web的VPN软件,也不与IPsec及其他VPN软件包兼容。

隧道加密

OpenVPN使用OpenSSL库加密数据与控制信息:它使用了OpesSSL的加密以及验证功能,意味着,它能够使用任何OpenSSL支持的算法。它提供了可选的数据包HMAC功能以提高连接的安全性。此外,OpenSSL的硬件加速也能提高它的性能。

验证

OpenVPN提供了多种身份验证方式,用以确认参与连接双方的身份,包括:预享私钥,第三方证书以及用户名/密码组合。预享密钥最为简单,但同时它 只能用于建立点对点的VPN;基于PKI的第三方证书提供了最完善的功能,但是需要额外的精力去维护一个PKI证书体系。OpenVPN2.0后引入了用 户名/口令组合的身份验证方式,它可以省略客户端证书,但是仍有一份服务器证书需要被用作加密.

网络

OpenVPN所有的通信都基于一个单一的IP端口,默认且推荐使用UDP协议通讯,同时TCP也被支持。OpenVPN连接能通过大多数的代理服务 器,并且能够在NAT的环境中很好地工作。服务端具有向客户端“推送”某些网络配置信息的功能,这些信息包括:IP地址、路由设置等。OpenVPN提供 了两种虚拟网络接口:通用Tun/Tap驱动,通过它们,

可以建立三层IP隧道,或者虚拟二层以太网,后者可以传送任何类型的二层以太网络数据。传送的数 据可通过LZO算法压缩。IANA(Internet Assigned Numbers Authority)指定给OpenVPN的官方端口为1194。OpenVPN 2.0以后版本每个进程可以同时管理数个并发的隧道。

OpenVPN使用通用网络协议(TCP与UDP)的特点使它成为IPsec等协议的理想替代,尤其是在ISP(Internet service provider)过滤某些特定VPN协议的情况下。在选择协议时候,需要注意2个加密隧道之间的网络状况,如有高延迟或者丢包较多的情况下,请选择 TCP协议作为底层协议,UDP协议由于存在无连接和重传机制,导致要隧道上层的协议进行重传,效率非常低下。

安全

OpenVPN与生俱来便具备了许多安全特性:它在用户空间运行,无须对内核及网络协议栈作修改;初始完毕后以chroot方式运行,放弃root权限;使用mlockall以防止敏感数据交换到磁盘。

OpenVPN通过PKCS#11支持硬件加密标识,如智能卡。

SSL VPN介绍

SSL VPN是指应用层的VPN。用户利用浏览器内建的Secure Socket Layer封包处理功能,用浏览器访问公司内部SSL VPN服务器,然后透过网络封包转发的方式,让用户可以在远程计算机执行应用程序,读取公司内部服务器数据。它采用标准的安全套接层(SSL)对传输中的数据包进行加密,从而在应用层保护了数据的安全性。

随着移动互联网的流行,SSL VPN发展非常迅速。3G手机通过SSL VPN方式就可以访问企业资源。采用SSL VPN接入方式,具有极强的用户认证授权保护,同时数据的传输是强加密的,密钥是经过动态协商的,能够防止信息传输被恶意篡改。但是还是有人担心东西保存在手机上不保险。不用担心,有了云计算和云存储提供远程服务后,终端上只是桌面级的操作,不含任何企业的应用和数据,这样具有更高的安全保障。 还有另外一个应用场景,使用SSL VPN手段穿越GFW。OpenVPN是一位善于伪装的情报员,在你自己的国外主机上安装了一个OpenVPN,网站的操作例如FTP文件服务、pop &smtp邮件收发以及在google查技术资料就畅通无阻了。下面我们来看看他是如何伪装的。

?

Open VPN

OpenVPN是一个开放源码的基于SSL的VPN系统,仅仅使用UDP协议,支持从NAT设备后的连接。运行在Linux上的openvpn需要tun、openssl和LZO几个软件的支持。我们还要做一些配置工作。

首先使用openvpn的clean-all和build-ca命令初始化PKI,然后使用build-key-server server生成服务器key,使用build-key client1生成某个客户端的密钥,使用build-dh生成Diffie Hellman参数。在制造了一堆钥匙之后,我们把在easy-rsa目录下生成的keys(例如:ca.crt, ca.key, client1.crt, client1.csr, client1.key, dh1024.pem, server.crt, server.csr和server.key等)打包后通过scp或ftp等手段搞到本地。

要想使openvpn服务器工作,还得根据实际情况配置好openvpn拥有的server.conf,包括本地IP,根证书、服务器证书、服务器私钥和Diffiehellman参数的存放的路径和文件名和VPN服务器子网等。如果你在中国需要访问一些域名被封掉的网站,可以通过在国外搭建的openvpn服务器把DNS push到你的客户机上。假设服务器的IP地址为10.8.0.1,那么在server.conf中加入: push \push \

并在服务器/etc/resolv.conf文件中加入: nameserver8.8.8.8

Linux系统一般都带有私有的DNS服务器,使用/etc/init.d/named start开启DNS服务。 除了配合openvpn自身的配置,还需要设置路由。例如使用如下命令,才能透过VPN访问Internet。

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j SNAT --to-source a.b.c.d 同时,需要记住把ip forward打开,可使用如下命令实现: sysctl -w net.ipv4.ip_forward=1

SSL VPN比IPSsec VPN访问控制粒度要细。由于IPSEC VPN部署在网络层,因此,内部网络对于IPSec VPN的使用者来说是透明的,只要是通过了IPSec VPN网关,就可以任意访问内网中的资源。SSL VPN重点在于保护具体的敏感数据,针对不同的客户端指定不同的等级和权限。我们对OpenVPN服务端进行用户权限配置,而不需要修改客户端配置文件。例如在server.conf增加: 1 #10.8.0.0是给所有VPN客户端的IP段; 2 server 10.8.0.0 255.255.255.0 3 #10.8.1.0是给管理员分配的IP段; 4 server 10.8.1.0 255.255.255.0

5 #10.8.2.0就是给特定用户组分配的IP段; 6 server 10.8.2.0 255.255.255.0

7 #下面是定义服务器读取特殊客户端配置文件的目录为ccd;

8 client-config-dirccd

有上面的基础,在ccd目录下可以对指定的客户进行特殊的定义,例如: sysadmin1:ifconfig-push 10.8.1.1 10.8.1.2 contractor1: ifconfig-push 10.8.2.1 10.8.2.2 contractor2: ifconfig-push 10.8.2.5 10.8.2.6

万事具备只欠东风,启动Openvpn就可以支持SSL VPN访问了。参考命令如下: openvpn --config /usr/local/etc/server.conf

在Windows和Mac OS X上都可以装openvpn客户端,下载安装后配置client.ovpn文件,并将打包的key文件(ca.crt、ca.key、client1.crt、client1.csr和client1.key)解压到openvpn文件夹下。启动openvpn客户端点击connect即可享受vpn服务了。打开MSN、QQ、IE等网络应用,也可以尝试访问一些被GFW禁掉的网站,有点小激动。

当你问某个移动用户:“我在咖啡馆想边喝着咖啡边接收公司的电子邮件和访问公司内网办公。如何能保证安全地访问互联网?” 知识渊博的他会回答:“用VPN呀!” 是的,用VPN!VPN是一种通过互联网把公司的私有网络和远程网络安全地连接起来的虚拟逻辑网络技术,可以简称为虚拟专用网络技术。任何人如果想从VPN中间获取数据,那都是无法读懂的,因为数据进行加密。VPN不是进行远程连接中出现的第一个技术。二十世纪末,最普遍的做法是使用专线,例如用ISDN把多个不同办公地区的计算机连接起来。但是互联网发展得非常快,ISP还提供了快速安全的VPN方案,它比专线便宜多了。公司利用这种方法建立起只允许员工使用的虚拟内部网络,使在远程办公区或家中的内部员工通过桌面共享技术就可以在一起工作。

更有意思的是我们可以DIY自己的VPN服务器。曾经听说过这么一个项目是用CentOS的OpenVPN服务器实现的。一个阿拉斯加的公司老板是一个狂热的天文爱好者。他在新墨西哥州购买了一个度假物村,在村中建了一个小型的天文观测台。该观测站内有一台电脑能控制伸缩圆顶、望远镜以及室外视频监控摄像头。VPN帮他实现了强大的远程控制功能。

由于望远镜系统是在互联网上运行的,具有远程访问权限,从阿拉斯加就可以控制在墨西哥州的望远镜、可以远程监控天文台和度假屋、能够远程重启和设置天文台内外分布在LAN上的所有设备。

在天文台中安装的是一台微型PC(Mini-ITX规格)系统,运行CentOS的LinuxOpenVPN,通过sshd访问互联网。第二台微型PC在他的阿拉斯加家中。在两台电脑之间建立一个持久的VPN连接。新墨西哥州的家和天文台建筑物之间用8端口或16端口以太网交换机以及6类线缆把所用设备连接起来,交换机通过光纤与互联网相连。6类电缆作为连接房内基础电源管理开关和天文台的客户端电源管理开关之间的线路。通过移动电话按

PPTP、L2TP、IPSec和SSLVPN(含OpenVPN)的比较

VPN(虚拟专用网)发展至今已经不在是一个单纯的经过加密的访问隧道了,它已经融合了访问控制、传输管理、加密、路由选择、可用性管理等多种功能,并在全球的信息安全体系中发挥着重要的作用。也在网络上,有关各种VPN协议优缺点的比较是仁者见仁,智者见智,很多技术人员由于出于使用目的考虑,包括访问控制、安全和用户简单易用,灵活扩展等各方面,权衡利弊,难以取舍;尤其在VOIP语
推荐度:
点击下载文档文档为doc格式
2xx1x3hib29pg7z7h9vz
领取福利

微信扫码领取福利

微信扫码分享