SSL VPN和IPSec VPN的区别是什么,如果你希翼找到答案,随便用一个搜索引擎,当你输入SSL VPN后按一个空格,智能联想就会帮你填充IPSec,可见很多人都在找二者的区别。找这二者的区别的目的是进行一个选择,到底用SSL VPN呢还是用IPSec?搞了一天VPN了,临睡我想我又能为互联网增加点信息或者糟粕了…
话说SSL VPN越来越风靡,背后的一大原因是web应用越来越风靡,如果能使用http,那就不再开发自己的协议,如果能使用浏览器,那就不再开发自己的客户端,应用研发人员集中精力实现应用的原始逻辑,而不必再考虑开发通信协议以及开发客户端之类的事情,现在基于web的B/S应用中,这些都不必要了。SSLVPN什么?实际上它就是一层B/S应用的防弹衣,保护壳,它加密了明文http流,它认证了浏览器端的操编辑和应用服务器双方,它使用一个称为SSL协议的东西实现了认证和加密,保证了B/S应用的安全,这就是SSL VPN的本质。
你要知道,这个世界上,服务器永远比客户端多,考虑到安全部署的守恒定律,要么你把安全设施部署在服务器,要么部署在客户端,而实际上,大多数场合两端都要部署,问题是如何使部署成本最低,有了结果以后,到底是使用SSL VPN还是使用IPSec VPN就有了答案。
能少安装一个客户端,能少进行一次文件复制操作,能少一次安全系统初始化时的网络通信,能少一次为了解决客户端问题而安排的出差,成本就相应降了下来,SSL VPN将客户端问题转嫁给了web浏览器,然而web浏览器为何趟这趟浑水呢,正是因为标准化导致的,如果MicroSoft的IE支撑了SSL,那么火狐为了生存就必须支撑SSL,反过来也一样,因为大家都想用SSL,60%的用户就能左右市场的发展,促进协议的标准化,浏览器必须支撑SSL,如果浏览器厂商拒绝这么做,马上就会有一家小企业甚至车库企业,咖啡厅企业瞬间跳出来,然后一年后,它就成了巨大的企业,MicroSoft,苹果,包括沃尔玛不都是这么起来的么?
SSL VPN就这样将成本转嫁给了浏览器和应用服务器,一旦出了问题,重新安装证书,换个浏览器,甚至重新装一次系统,或者找自己证书的颁发者说事,用户最大化的去IT化,只需要享受安全应用即可。我老婆不懂什么是SSL,更不懂网络通信原理,有一次我抓取了邮箱登录的网络包给她看,她竟然看到了里面的邮箱名字还有…之后她就认为网络太不安全了,可是没过多久她就用支付宝在淘宝上狂扫,天天都有快递送来,我告诉她这就是SSL VPN,虽然没有说太多的细节,但是她已经完全相信了这个SSL VPN所带来的安全性,浏览器都会用,也不需要培训,她甚至不知道自己的数据在什么被保护,什么时候是明文传输的,如果你不会键入https,很多页面的链接以及重定向会帮你键入https…
对于应用服务器端也一样,其只需要部署一次就够了,除了会出现单点故障之外,这种集中的部署方案会使成本降到最低,服务器端一般都会养着几个IT管理员,系统管理员和网络管理员可以最短时间解决各种问题。对于单点故障问题,也可以通过高可用性集群或者分布式集群来解决之。
如果对于OA这样的系统,SSL VPN再合适不过了,它可以让休假在家,出差在外的人员访问OA,在任何地方都无所谓,火车站,咖啡厅都可以,哪怕随便借一个电脑,哪怕在网吧,你只需要随身带着你的数字证书,随时随地访问,而这是IPSec所做不到的,如果你在一家企业的内网,需要访问自己企业的OA,你所在的这家企业防火墙可能封堵了GRE隧道以及任何其它隧道,此时你不得不找到这家企业的网管去协商,而此时网管正好不在…然而http,https以及mail几乎是不封堵的,因为它们是互联网的窗口。
在部署上,SSL VPN是不对称的,服务器端的部署成本更大些,但是集中的管理会平滑掉这种部署成本。相反,IPSec VPN在部署上是对称的,这并没有什么值得奇怪的,本来SSL VPN就工作在应用层,对于应用层的应用,大多数是分为客户端和服务器端的,对于服务器和客户端,它们本来就不对称,而对于IPSec,它工作在IP层,IP层提供了数据报分组交换服务,它完全不区分客户端和服务器,它转发每一个数据报,完全没有状态记录,因此IPSec VPN必然需要在外网端点和接入网端点花费同样的部署成本,这么做有时候很麻烦,但是有时候是必要的。
考虑一个企业两个分部之间的网络互联,IPSec VPN就是首选的。因为需求是网络的互联,而不是具体应用的安全访问。网络互联的核心在IP协议,而IPSec VPN正是提供了IP层的安全。如果互联双方是对称的子网,那么部署IPSec是值得的,但是如果双方不对称,比如需要大量散客连入企业内网的特定应用时,这是部署IPSecVPN是很不明智的,姑且不说需要在这些散客电脑上安装客户端,仅仅由于他们完全连入了内网,这就需要在内网另外部署复杂的权限系统来限制这些散客对未授权应用的访问,此时如果他们使用SSL VPN,全网的权限系统就不是很必要了,只需要PKI体系就能搞定。另外散客分布在各处,对这些散客的客户端的管理和排错也是一件令人头疼的事。
对于IPSec VPN,如果仅仅需要部署一台硬件网关加密子网的所有感兴趣流到远端内网,那就部署吧,千万要尽量避免安全IPSec VPN客户端,实际上那台IPSec硬件网关也算是一个客户端,然则该客户端和远端的IPSec VPN服务器是一对一的,对于IPSec VPN,要避免多对一的部署,如果是一对一的部署,IPSec的效率更高。
对于SSL VPN,如何对非web应用进行兼容呢?要知道,目前很多的应用还都不是基于web的,而是tcp任意端口的,比如qq,比如RTX,比如很多的财务管理系统。这就需要做一个适配层,该适配层本质上是一个第七层的网关,它作为一个支撑https的web服务器负责web客户端和非web服务器之间的翻译,或者它仅仅作为一个支撑SSL的TCP代理,此时客户端还是可以使用原来的客户端,通过路由或者重定向的方式和代理进行SSL连接,代理和应用服务器之间则进行明文通信。这种适配层网关目前很好买,也是以后发展的一个大方向。曾几何时,代理网关被淘汰了,而如今,作为SSL VPN的一个重要组成部分,它又起来了。
如果为了应付Cisco或者HUAWEI的考试,那么你要记住,IPSec VPN的NAT不友好性,SSL VPN不需要安装客户端等,但是你如果是一个实施人员,那么这些就都成了教条,关键是看具体的需求,相似相容,这是个亘古不变的道理,对称的互联就是用IPSec VPN,C/S的互联就是用SSL VPN,这条原则在大多数场合适用,当然,它也不能被当成教条。
|