转载 VPN介绍
转载原地址: http://aajs800.blog.51cto.com/519255/239724 原作者 aajs800
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。原始出处: http://aajs800.blog.51cto.com/519255/239724
VPN介绍
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管理问题。密码也是易被攻击者利用来入侵网络了一种途径。一旦入侵者取得了可信任的密码就能来攻击连接或者是自由进
出系统做出破坏活动,从而可能引起很严重的后果。基于这个考虑,密码的存储管理似乎应被禁止。用于Microsoft VPN中的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的明天会更好。
转载 VPN介绍的更多相关文章
- [转载]Scikit-learn介绍几种常用的特征选择方法
#### [转载]原文地址:http://dataunion.org/14072.html 特征选择(排序)对于数据科学家.机器学习从业者来说非常重要.好的特征选择能够提升模型的性能,更能帮助我们理解 ...
- [转载]Masonry介绍与使用实践(快速上手Autolayout)
原博地址 http://adad184.com/2014/09/28/use-masonry-to-quick-solve-autolayout/ 前言 1 MagicNumber -> aut ...
- 转载 WebBrowser介绍——Javascript与C++互操作
注:本文来自于 http://www.cnblogs.com/lucc/archive/2010/11/24/1886087.html WebBrowser控件是Microsoft提供的一个用于网页浏 ...
- 转载:简单介绍Python中的try和finally和with方法
用 Python 做一件很平常的事情: 打开文件, 逐行读入, 最后关掉文件; 进一步的需求是, 这也许是程序中一个可选的功能, 如果有任何问题, 比如文件无法打开, 或是读取出错, 那么在函数内需要 ...
- 转载 GUID介绍
转载 http://www.cnblogs.com/illele/archive/2008/02/25/1080554.html GUID(Global unique identifier)全局唯一标 ...
- VPN介绍--虚拟网络
VPN属于远程访问技术,简单地说就是利用公网链路架设私有网络.例如 公司员工出差到外地,他想访问企 原理 业内网的 服务器资源,这种访问就属于远程访问.怎么才能让外地员工访问到内网资源呢?VPN的 ...
- 【转载】介绍“Razor”— ASP.NET的一个新视图引擎
最近在做一个项目,用的MVC razor 视图,因为之前没用这个视图做过,于是查阅文档资料,共享一下. https://msdn.microsoft.com/zh-cn/ff849693 内容主要是讲 ...
- 转载:介绍AD另外一种奇葩的多通道复用的方法
原文链接:http://www.eda365.com/forum.php?_dsign=74fe4957&mod=viewthread&page=1&tid=110710 在设 ...
- 转载 1-EasyNetQ介绍(黄亮翻译) https://www.cnblogs.com/HuangLiang/p/7105659.html
EasyNetQ 是一个容易使用,坚固的,针对RabbitMQ的 .NET API. 假如你尽可能快的想去安装和运行RabbitMQ,请去看入门指南.EasyNetQ是为了提供一个尽可能简洁的适用与R ...
随机推荐
- JavaScript 三种创建对象的方法
JavaScript中对象的创建有以下几种方式: (1)使用内置对象 (2)使用JSON符号 (3)自定义对象构造 一.使用内置对象 JavaScript可用的内置对象可分为两种: 1,JavaScr ...
- 李洪强iOS开发之自定义cell的使用
第一步: 创建自定义cell类,继承自UItableVIewcell 第二步: 在sb中布局自己需要的视图控件并且将此cell与我刚刚创建的cell类进行关联.并且连线 第三步: 创建modle类, ...
- Qt:无标题栏无边框程序的拖动和改变大小
From: http://blog.csdn.net/kfbyj/article/details/9284923 最近做项目遇到的问题,总结下. 有时候我们觉得系统的标题栏和按钮太丑太呆板,想做自己的 ...
- 前阿里CEO卫哲谈阿里创业经验:如何找人、找钱、找方向?(不同的阶段分别有:时间优先、金额优先、比例优先,不要做平台,太难)
新浪科技李根 整理报道 卫哲现在是御嘉基金的创始合伙人,他另一个更加知名的身份是阿里巴巴(B2B)前CEO,在2006年到2011年的时间里,卫哲见证了阿里巴巴如何利用人才.资本和方向选择一路壮大. ...
- CF339
C. Xenia and Weights 有1...10k的砝码,在天枰上,左右轮流放置砝码,要求之后左右轮流比另一侧重量要大,要求相邻两次砝码不能相同. 解题报告给出(i,j,k)表示balance ...
- 捉虫记2:windows程序句柄泄露的上下文环境
作为程序员,开发程序是基本功,而调试程序也是必不可少的技能之一.软件在主体功能开发完成后会经历各个阶段的测试,才会被发布.在测试过程中,出现较多的可能就是内存泄漏,句柄泄漏,异常崩溃等属于非功能型的软 ...
- Android 签名(8)签名前用Zipalign简单优化
1 为什么要优化 Android SDK中包含一个“zipalign”的工具,它能够对打包的应用程序进行优化.在你的应用程序上运行zipalign,使得在运行时Android与应用程序间的交互更加有效 ...
- XmlDocument类
XmlDocument类是.NET框架的DOC解析器.XmlDocument将XML视为树状结构,它装载XML文档,并在内存中构建该文档的树状结构.下面来看下XmlDocument提供了哪些功能. 一 ...
- SequenceSum
SequenceSum Sum of 'n' Numbers sum_of_n (or SequenceSum.sumOfN in Java, SequenceSum.SumOfN in C#) ta ...
- Windows安装weblogic
WebLogic安装结束 以下是进入MyEclipse启动配置WebLogic