转载原地址:  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介绍的更多相关文章

  1. [转载]Scikit-learn介绍几种常用的特征选择方法

    #### [转载]原文地址:http://dataunion.org/14072.html 特征选择(排序)对于数据科学家.机器学习从业者来说非常重要.好的特征选择能够提升模型的性能,更能帮助我们理解 ...

  2. [转载]Masonry介绍与使用实践(快速上手Autolayout)

    原博地址 http://adad184.com/2014/09/28/use-masonry-to-quick-solve-autolayout/ 前言 1 MagicNumber -> aut ...

  3. 转载 WebBrowser介绍——Javascript与C++互操作

    注:本文来自于 http://www.cnblogs.com/lucc/archive/2010/11/24/1886087.html WebBrowser控件是Microsoft提供的一个用于网页浏 ...

  4. 转载:简单介绍Python中的try和finally和with方法

    用 Python 做一件很平常的事情: 打开文件, 逐行读入, 最后关掉文件; 进一步的需求是, 这也许是程序中一个可选的功能, 如果有任何问题, 比如文件无法打开, 或是读取出错, 那么在函数内需要 ...

  5. 转载 GUID介绍

    转载 http://www.cnblogs.com/illele/archive/2008/02/25/1080554.html GUID(Global unique identifier)全局唯一标 ...

  6. VPN介绍--虚拟网络

      VPN属于远程访问技术,简单地说就是利用公网链路架设私有网络.例如 公司员工出差到外地,他想访问企 原理 业内网的 服务器资源,这种访问就属于远程访问.怎么才能让外地员工访问到内网资源呢?VPN的 ...

  7. 【转载】介绍“Razor”— ASP.NET的一个新视图引擎

    最近在做一个项目,用的MVC razor 视图,因为之前没用这个视图做过,于是查阅文档资料,共享一下. https://msdn.microsoft.com/zh-cn/ff849693 内容主要是讲 ...

  8. 转载:介绍AD另外一种奇葩的多通道复用的方法

    原文链接:http://www.eda365.com/forum.php?_dsign=74fe4957&mod=viewthread&page=1&tid=110710 在设 ...

  9. 转载 1-EasyNetQ介绍(黄亮翻译) https://www.cnblogs.com/HuangLiang/p/7105659.html

    EasyNetQ 是一个容易使用,坚固的,针对RabbitMQ的 .NET API. 假如你尽可能快的想去安装和运行RabbitMQ,请去看入门指南.EasyNetQ是为了提供一个尽可能简洁的适用与R ...

随机推荐

  1. HDU 5039 Hilarity

    题意:一棵树n个结点,每条边有0.1两种权值,每次询问权值为奇数的路径数目,或者改变某一条边的权值. 分析:这个题目很巧妙低利用了异或和的特性,dfs得到每个点到根结点的权值异或和,然后奇数则为1,偶 ...

  2. js 中中括号,大括号使用详解

    一.{ } 大括号,表示定义一个对象,大部分情况下要有成对的属性和值,或是函数.如:var LangShen = {"Name":"Langshen",&quo ...

  3. 传智博客(JavaWeb方面的所有知识)听课记录(经典)

    一.       JavaWeb基础 第一天: 1.Eclipse详解: (1).Bad versionnumber in .class file:编译器版本和运行(JRE)版本不符合.高的JRE版本 ...

  4. linux命令之-pstree使用说明

    pstree  shows running processes as a tree. The tree is rooted at either pid or init if pid is omitte ...

  5. caffe简易上手指南(三)—— 使用模型进行fine tune

    之前的教程我们说了如何使用caffe训练自己的模型,下面我们来说一下如何fine tune. 所谓fine tune就是用别人训练好的模型,加上我们自己的数据,来训练新的模型.fine tune相当于 ...

  6. Android 签名(2)签名知识要点

    要点 1) 所有的应用程序都必须有数字证书,Android系统不会安装一个没有数字证书的应用程序 2) Android程序包使用的数字证书可以是自签名的,不需要一个权威的数字证书机构签名认证 3) 如 ...

  7. echarts 问题2

    加载图表的区域div必须单独给定class,此样式中必须还有宽和高,不然图表出来之后会有这样那样的问题

  8. html的视频插件 (转)

         1)jMedia Element是一个基于jQuery/jQuery UI实现的HTML5音频/视频开发工具包.提供非常多的功能来控制页面中的音频和视频内容.当旧的浏览器不兼容HTML5时, ...

  9. Java [Leetcode 258]Add Digits

    题目描述: Given a non-negative integer num, repeatedly add all its digits until the result has only one ...

  10. Erlang之IO编程

    Erlang用于操纵文件I/O的模块有:file模块:打开.读.写.关闭文件已经操作目录的方法基本都在这里 filename模块:提供平台独立方式用于操纵文件名 filelib模块:file模块的扩展 ...