虚拟专用网络VPN.ppt
《虚拟专用网络VPN.ppt》由会员分享,可在线阅读,更多相关《虚拟专用网络VPN.ppt(75页珍藏版)》请在冰点文库上搜索。
以高校校园VPN应用为案例,在上世纪末到本世纪初,我国高校进行了大量改革,学校合并、升级等工作。
为此,给学校教学、科研等的管理带来了许多不便,如学校教职工并不是全部在校内居住,而在校外居住比例逐渐提高,外出进行学术研究、工作、参加各种会议的人次逐年增多,此类人又必须网上办公或校内资源访问的需求,但校园网资源由于安全的原因又只能在校内认证访问,这些矛盾逐渐突出。
为此,许多学校网络中心采用虚拟专用网(VPN)来解决这一问题,为地处校外的教职工的工作和学习带来方便。
第1章VPN概述,其技术要求:
1、身份验证。
2、加密保护。
3、方便、安全的管理。
4、DHCP支持。
5、多种用户环境支持。
支持专线宽带接入、小区宽带接入、ADSL宽带接入、ISDN拨号接入、普通电话拨号接入、GPRS接入、CDMA接入等多种因特网接入方式。
7、本地网络和VPN网络智能判断。
8、联通性要求。
VPN接入用户之间、VPN接入用户和远程网络中的用户间都可以通过虚拟得到的IP地址互相通信。
我国互联网络目前是“南电北网”的现状。
9、应用范围广。
文字、声音、图像、影视、游戏等计算机资源。
10、由于学校一般拥有数千到数万名师生员工,因此对并发客户端性能要求达到20%以上。
6、VPN星型互联。
1.1网络流量,VPN最初开发的主要目的是将明文数据通过网络进行传输时的加密处理。
源,目标,发送请求,回答请求,攻击者,TelnetFTPTFTPPOPSMTPHTTP,窃听、伪装、中间人三种攻击,1.1.1窃听攻击,一般应用程序和协议中,用户名和密码之类的认证信息均是在源和目标设备之间是明文传输的。
1、窃听工具,协议分析仪:
通用型和攻击型。
通用型协议分析仪能捕捉所有它看得见的数据包。
一般采用诊断工具来进行诊断与排除,而市场上有许多基于软件的协议分析仪,并且是免费的。
攻击型协议分析仪是一种增强的通用协议分析仪。
主要查看应用程序和协议的某种特征来查找认证、金融和安全信息。
2、窃听解决方案,信用卡信息、个人信息、电话号码、用户名、密码(口令)、社会保险码等类信息均是敏感信息。
在电子商务环境中主要的解决方案是采用具有SSL(SecureSocketLayer,安全套接层)来增强WEB安全性的一种安全协议。
HTTP协议(HTTPS)。
对信用卡和个人信息提供较强的保护(加密)。
链路加密通常用硬件在网络层以下的物理层和数据链路层中实现,用于保护通信节点间传输的数据。
节点(发方),加密,节点(收方),加密,解密,解密,节点(交换中心),密钥A,密钥B,端到端加密通常在两端设备中完成加解密的过程。
其密钥管理就是一个重要的课题。
1.1.2伪装攻击,网络中,通过改变数据包中的源地址信息来实现。
常被称为欺骗,与服务拒绝(DoS)攻击或非授权访问攻击组合。
1、伪装工具,在第2层网络中,黑客可能使用ARP欺骗来将两台设备之间的数据流量重定向到黑客的设备。
伪装工具挺多,一般是修改数据包中的源IP地址。
2、伪装解决方案,使用一个强壮的防火墙系统来限制进入本网络的数据包的类型。
最通常是使用一个数据包的完整性检查系统,是通过散列函数来实施的。
VPN中常使用MD5和SHA来作为散列函数,作为完整性检查。
1.1.3中间人攻击,中间人攻击常用的两种:
会话回放(重新发送)攻击,设备A,会话截获攻击,攻击者,设备A,攻击者,设备B,设备B,设备B,设备A,1、中间人攻击工具,常用攻击协议分析仪来捕捉数据包。
使用会话回放攻击,可以使用Java或ActiveX脚本来捕捉来自WEB服务器会话的数据包。
使用TCP会话截获攻击,攻击者需要某种类型的特殊TCP序列号猜测程序来成功地截获并且控制一个现有的TCP连接。
2、中间人攻击解决方案,防止TCP会话协截获,可用防火墙随机化TCP序列号(32位,大约20亿个可能组合)。
最佳方案就是使用VPN:
设备验证、数据包完整性检查、加密。
1.2VPN定义,VPN既是一种组网技术,又是一种网络安全技术。
Internet,VPN(VirtualPrivateNetwork),在公用网络中,按照相同的策略和安全规则,建立的私有网络连接。
其应用范围:
(1)已经通过专线连接实现广域网的企业,由于增加业务,带宽已不能满足业务需要,需要经济可靠的升级方案。
(2)企业的用户和分支机构分布范围广,距离远,需要扩展企业网,实现远程访问和局域网互联,最典型的是跨国企业、跨地区企业。
(3)分支机构、远程用户、合作伙伴多的企业,需要扩展企业网,实现远程访问和局域网互联。
(4)关键业务多且对通信线路保密和可用性要求高的用户,如银行、证券公司、保险公司等。
1.2.1VPN连接模式,用于在设备之间传输数据时的封装过程:
隧道模式,传输模式,1、传输模式,传输模式只对IP数据包的有效负载进行加密或认证。
此时,继续使用以前的IP头部,只对IP头部的部分域进行修改,而IPSec协议头部插入到IP头部和传输层头部之间。
加密的TCP会话,内网,外网,传输模式封装:
传输模式:
IP包头,AH包头,ESP包头,上层协议(数据),IP包头,上层协议(数据),传输模式优点和缺点:
优点:
即使内网的其他用户也不能理解通信主机之间的通信内容。
分担了IPSec处理负荷。
缺点:
不具备对端用户的透明性,用户为获得ESP提供的安全服务,必须付出内存、处理时间等代价。
不能使用私有IP地址。
暴露了子网的内部拓扑结构。
2、隧道模式,隧道模式中,整个IP数据包都在ESP负载中进行封装和加密。
此时,需要新产生一个IP头部,IPSec头部被放在新产生的IP头部和以前的IP数据包之间,从而组成一个新的IP头部。
安全网关IP包头,AH包头,ESP包头,上层协议(数据),IP包头,上层协议(数据),IP包头,InterNet,隧道模式,ESP隧道模式优点和缺点,优点:
保护子网中的所有用户都可以透明的享受由安全网关提供的安全保护。
子网内部可以使用私有IP地址。
子网内部的拓扑结构受到保护。
缺点:
增大了安全网关的处理负荷,容易形成通信瓶颈。
对内部的诸多安全问题将不可控。
传输模式的协议栈少了一层隧道,即少了添加VPN网关IP这个子层;而隧道模式在协议栈中有这一层。
传输模式中,加密子层只对packet包的data字段加密,不对包头加密,否则数据在传输过程中,会因IP地址被加密而无法寻址。
隧道模式中,不存在这个问题,因为公网传输中用的VPN网关IP。
传输模式与隧道模式的区别:
1.2.2VPN类型,参与VPN连接的实体的常见类型有4种:
站点到站点VPN,远程访问VPN,防火墙VPN,用户对用户VPN,1、站点到站点VPN,在VPN网关之间使用隧道模式连接来保护两个或更多站点之间的流量。
站点到站点的连接通常称为局域网到局域网连接(L2L)。
对站点之间的流量进行了保护,包括位于两台VPN设备之间的传输网络。
对两个站点的终端用户的设备是透明的。
它们形成了一个企业的内部互联网络,公司总部和其分支机构、办公室之间建立的VPN,替代了传统的专线或分组交换WAN连接,公司总部,分支公司一,分支公司二,Internet,可以承担VPN网关角色的CISCO设备有:
VPN3000系列集中器,具有VPN软件的基于IOS的路由器,PIX和ASA安全设备,Cisco通常建议用路由器作为L2LVPN的解决方案。
与其他设备相比,Cisco产品的基本优点:
IOS路由器有先进的QoS、GRE隧道、路由选择以及扩展和先进的L2LVPN能力。
CiscoVPN3000集中器易于建立和故障诊断与排除。
PIX安全设备防火墙有先进的防火墙和安全特性,包括状态过滤、应用程序过滤和先进的地址转换能力。
2、远程访问VPN,移动用户或远程小办公室通过Internet访问网络中心。
连接单一的网络设备,客户通常需要安装VPN客户端软件,远程访问中,VPN端点或者客户端,连接到VPN网关需要两个IP地址:
一个是它自己的NIC地址,另外一个是内部地址,这个地址通常被称为虚拟的或者逻辑地址或者是被分配的IP地址。
总部,家庭办公,PSTN,安装了VPN客户端软件的移动用户,Internet,3、防火墙VPN,一个防火墙VPN本质上是一个带有增强的安全和防火墙功能的L2L或者远程访问VPN。
如果用Cisco设备来实施防火墙VPN,VPN网关设备通常可能是PIX或ASA安全设备。
4、用户到用户VPN,一个用户到用户VPN本质上是一个在两台设备之间的传输模式的VPN连接。
这两台设备可以是PIX设备和一台系统日志服务器、一台路由器和一台TFTP服务器、一个使用Telnet访问Cisco路由器的用户,或者许多其他的连接对等体。
Cisco官方不认为用户到用户是一种VPN。
1.2.3VPN分类,分类方式比较混乱。
不同的生产厂家在销售它们的VPN产品时使用了不同的分类方式,它们主要是按产品的角度来划分的。
一、按接入方式划分,
(1)专线VPN:
它是为已经通过专线接入ISP边缘路由器的用户提供的。
这是一种“永远在线”的VPN,可以节省传统的长途专线费用。
(2)拨号VPN(又称VPDN):
它是向利用拨号PSTN或ISDN接入ISP的用户提供的VPN业务。
这是一种“按需连接”的VPN,可以节省用户的长途电话费用。
需要指出的是,因为用户一般是漫游用户,是“按需连接”的,因此VPDN通常需要做身份认证(比如利用CHAP和RADIUS)。
二、按实现类型划分,这是VPN厂商和ISP最为关心的划分方式。
根据分层模型,VPN可以在第二层建立,也可在第三层建立(有人把更高层的一些安全协议也归入VPN协议。
),
(1)第二层隧道协议:
包括点到点隧道协议(PPTP)、第二层转发协议(L2F),第二层隧道协议(L2TP)、多协议标记交换(MPLS)等。
(2)第三层隧道协议:
包括通用路由封装协议(GRE)、IP安全(IPSEC),这是目前最流行的两种三层协议。
第二层和第三层隧道协议的区别主要在于用户数据在栈的第几层被封装,其中GRE、IPSec和MPLS主要用于实现专线VPN业务,L2TP主要用于实现拨号VPN业务(也可以用于实现专线VPN业务),当然这些协议之间本身不是冲突的,而是可以结合使用的。
三、按VPN的发起方式划分,这是客户和IPS最为关心的VPN分类。
VPN业务可以是客户独立自主实现的,也可以是由ISP提供的。
1)发起(基于客户的):
VPN服务提供的其始点和终止点是面向客户的,其内部技术构成、实施和管理对VPN客户可见。
需要客户和隧道(或网关)方安装隧道软件。
客户方的软件发起隧道,在公司隧道服务器处终止隧道。
此时ISP不需要做支持建立隧道的任何工作。
经过对用户身份符(ID)和口令的验证,客户方和隧道服务器极易建立隧道。
双方也可以用加密的方式。
隧道一经建立,用户就会感觉到ISP不在参与通信。
2)服务器发起(也称客户透明方式或基于网络的):
在公司中心部门或ISP处(POP、Pointofpresence)安装VPN软件,客户无须安装任何特殊软件。
主要为ISP提供全面管理的VPN服务,服务提供的起始点和终止点是ISP的POP,其内部构成、实施和管理对VPN客户完全透明。
目前MPLS只能用于服务器发起的VPN方式。
四、按VPN的服务类型划分,Intranet(企业内部虚拟网),这是企业的总部与分支机构之间通过公网构筑的虚拟网,这是一种网络到网络以对等的方式连接起来所组成的VPN。
ExtranetVPN(企业扩展虚拟网):
这是企业在发生收购、兼并或企业间建立战略联盟后,使不同企业间通过公网来构筑的虚拟网。
这是一种网络到网络以不对等的方式连接起来所组成的VPN(主要在安全策略上有所不同)。
这是企业员工或企业的小分支机构通过公网远程访问络的VPN方式。
远程用户一般是一台计算机,而不是网络,因此组成的VPN是一种主机到网络的拓扑模型。
需要强调的是AccessVPN不同于前面的拨号VPN,这是一个容易发生混淆的地方,因为远程接入可以是专线方式接入的,也可以是拨号方式接入的。
3.AccessVPN(远程访问虚拟网):
五、按承载主体划分,营运VPN业务的企业既可以自行建设他们的VPN网络,也可以把此业务外包给VPN商。
这是客户和ISP最关心的问题。
1)自建VPN:
这是一种客户发起的VPN。
企业在驻地安装VPN的客户端软件,在企业网边缘安装VPN网关软件,完全独立于营运商建设自己的VPN网络,运营商不需要做任何对VPN的支持工作。
企业自建VPN的好处是它可以直接控制VPN网络,与运营商独立,并且VPN接入设备也是独立的。
但缺点是VPN技术非常复杂,这样组建的VPN成本很高,QoS很难保证。
(2)外包VPN:
企业把VPN服务外包给运营商,运营商根据企业的要求规划、设计、实施和运维客户的VPN业务。
企业可以因此降低组建和运维VPN的费用,而运营商也可以因此开拓新的IP业务增值服务市场,获得更高的收益,并提高客户的保持力和忠诚度。
目前的外包VPN划分为两种:
基于网络的VPN和基于CE(用户边缘设备)的管理型VPN(ManagedVPN)。
基于网络的VPN通常在运营商网络的呈现点(POP)安装电信级VPN交换设备。
基于CE的管理型VPN业务是一种受信的第三方负责设计企业所希望的VPN解决方案,并代表企业进行管理,所使用的安全网关(防火墙、路由器等)位于用户一侧。
六、按VPN业务层次模型划分,根据ISP向用户提供的VPN服务工作在第几层来划分的(注意不是根据隧道协议工作在哪一层划分的)。
(1)拨号VPN业务(VPDN):
这是第一种划分方式中的VPDN(事实上是按接入方式划分的,因为很难明确VPDN究竟属于哪一层)。
(2)虚拟租用线(VLL):
这是对传统的租用线业务的仿真,用IP网络对租用线进行模拟,而从两端的用户看来这样一条虚拟租用线等价于过去的租用线。
(3)虚拟专用路由网(VPRN)业务:
这是对第三层IP路由网络的一种仿真。
可以把VPRN理解成第三层VPN技术。
(4)虚拟专用局域网段(VPLS):
这是在IP广域网上仿真LAN的技术。
可以把VPLS理解成一种第二层VPN技术。
1.3VPN组件,构成一个VPN的组件:
(其实一个VPN的实施包含部分或全部的下列组件),验证,封装方法,数据加密,数据包的完整性,抗抵赖性,应用程序和协议的支持,地址管理,密钥管理,1.3.1验证,设备,用户,一、设备验证,设备验证允许用户基于远程VPN设备提供的验证信息来限制到你的网络的VP访问。
两种验证方法:
预共享密钥(常用于小型网络),缺点:
管理复杂,增加新站点时,必须增加已经存在的密钥,在存在的站点上也须增加新站点的密钥。
数字签名或证书(常用于大型网络),数字证书由一个共同机构,即证书颁发机构(CA)来集中管理,使得添加和清除VPN设备成为一个简单的过程。
VPN设备可以访问证书颁发机构来确定其他设备的身份。
本地不需存放其他设备的验证信息。
缺点:
初始建立和实施证书服务是费时的。
二、用户验证,使用用户验证,用户必须提供一个用户名和口令。
这个口令可能是一个静态的口令或者是一次性的口令(通过使用令牌卡)。
VPN可能执行设备验证和用户验证这两种验证。
假设一个VPN中采用设备验证和用户验证两种方式,如某一员工丢失了他的笔记本,小偷就能使用存储在本地的验证信息,但此时还必须知道用户名和口令才能获取访问。
使用令牌卡,小偷必须知道用户的用户名,才能访问用户的令牌卡,还需知道用户的PIN(个人识别号码)。
1.3.2封装方法,VPN必须定义的另外一个组件就是封装方法:
用户信息,例如数据,是如何被封装并且在网络中传输的。
1.3.3数据加密,数据加密被用于解决窃听的问题。
数据加密理论上是将用户数据和密钥值通过一个加密算法运行。
产生看起来是随机字符串的字符。
只有拥有相同密钥值的设备可以解密它。
算法有:
DES、3DES、AES、RSA、RC4等,Diffie-Hellman密钥交换算法(DH)Diffie-Hellman算法常用做密钥的分配并满足:
baxmodp,A和B信道上交换密钥算法:
(1)A和B协商一个大素数p及p的本原根a,a和p可以公开;
(2)A秘密产生一个随机数x,计算X=axmodp,然后把X发送给B;(3)B秘密产生一个随机数y,计算Yaymodp,然后把Y发送给A;(4)A计算k=Yxmodp;(5)B计算k=Xymodp。
k和k是恒等的,因为:
kYxmodp=(ay)xmodp=(ax)ymodpXymodpk,
(1)二者协商后决定采用素数p=353及其本原根a=3;
(2)A选择随机数x=97,计算X=397mod353=40,并发送给B;(3)B选择随机数y=233,计算Y=3233mod353=248,并发送给A;(4)A计算k=Yxmodp=24897mod353=160;(5)B计算k=Xymodp=40233mod353=160。
k和k即为秘密密钥。
1.3.4数据包的完整性,加密对设备来说是非常消耗CPU的,攻击者知道正在VPN中使用加密,可以利用这一点来对VPN设备实施拒绝(DoS)攻击。
基本上,黑客可以使用带垃圾的假冒数据包,使用的IP地址是来自一个可信VPN源。
当VPN设备收到这个假冒数据包,将试图解密它。
把结果不成功的数据包丢掉。
但是这样会浪费CPU的运算时间来执行这个过程。
所以VPN实施一个执行数据包完整性检查的选择,即某些人通常所说的数据包验证。
使用数据包验证时,签名附着在数据包上。
签名是通过将数据包的内容和一个共享密钥等信息通过一个散列函数运算产生的,产生的是一个固定的输出,称为数字签名。
这个签名会被添加到原始的数据包的后面,并将这个修改后的数据包发送给目的地。
目的地会验证这个签名,如果有效的会解密内容。
这样会占用很少CPU运算时间。
两种函数常用于完整性算法:
SHA、MD5。
1.3.5密钥管理,密钥管理一般是每隔一定时间要改变一次加密和数据包完整性检查的密钥。
1.3.6抗抵赖性,对身份信息的一个确认。
证明一个事物在两方发生了。
抵赖包括个组件:
验证、计费(记录VPN会话),1.3.7应用程序和协议的支持,需要决定什么类型的流量要被保护。
如只保护IP流量、或IP和IPX流量等,VPN实施对它所封装的协议和应用程序是有限制的。
1.3.8地址管理,地址管理只在远程访问连接中是一个问题。
例如:
一个远程客户端会被分配一个内部地址。
1.4VPN设计,设计VPN必须考虑的问题:
连接类型考虑冗余,1.4.1连接类型,一、点对点:
两种类型的点对点连接:
设备对设备网络对网络,1.设备对设备连接设备对设备VPN连接就是一种用户对用户的VPN类型,在这里只有两台设备参与到VPN中。
(设备过多,导致负荷过大),.网络对网络连接网络对网络VPN连接可以被认为是L2LVPN类型的连接。
(用VPN网关设备来控制流量的开销和处理负荷。
),二、全网状,全网状的VPN网络将每台VPN设备或者网络都连接到其它的VPN设备或网络上。
(扩展性差),三、部分网状一个部分网状的VPN设计解决的是全网状VPN设计的缺点。
星型拓扑。
1.4.2VPN考虑,VPN考虑的因素:
被保护的流量与非保护的流量碎片应用程序的类型流量保护地址转换和防火墙,一、被保护的流量与非保护的流量(查看一下哪些流量需要保护,只保护需要保护的流量,提高性能,可以建立“分离隧道”特性)。
一般的WEB流量可以不需保护。
二、碎片,当我们查看和VPN实施相关的性能问题,第一件就是碎片问题。
管理员通常都会忘记将VPN添加到数据包中的开销这一因素,并且由于这种开销而导致了碎片问题。
MTU:
MTU是MaximumTransmissionUnit的缩写。
意思是网络上传送的最大数据包。
MTU的单位是字节。
大部分网络设备的MTU都是1500。
如果本机的MTU比网关的MTU大,大的数据包就会被拆开来传送,这样会产生很多数据包碎片,增加丢包率,降低网络速度。
把本机的MTU设成比网关的MTU小或相同,就可以减少丢包。
判定某个MTU值是最适合的(1480):
ping-f-l1480192.168.40.1返回信息:
Replyfrom192.168.40.1:
bytes=1280time1msTTL=255,ping-f-l1500192.168.40.1返回信息:
PacketneedstobefragmentedbutDFset,三、应用程序的类型,确定好什么样的流量需要保护,如:
SMTP、TFTP、FTP、TELNET等,像HPPTS、SSH就不需要保护,因为此类协议已经内置了加密保护功能。
四、流量保护,当决定什么样的流量需要被护之后,你需要决定它怎样被保护。
安全性能提高,处理开销越大,处理会延迟,总会有一下折衷。
对于延迟敏感的流量如语音、视频,要挑选和测试不同的VPN保护方法。
五、地址转换和防火墙,1.地址转换问题:
VPN对地址转换时可能出现问题,NAT:
网络地址转换,PAT:
端口地址转换,以IPSEC协议:
验证头(AH)、封装安全负载(ESP),封装在TCP或者UDP的段中,均无端口号,PAT转换时存在问题。
NAT穿越(NAT-T)封装在UDP段里的ESPIPSEC数据包;这是在RFC3947、3948里定义的一个开放的标准。
UDP上的IPSEC将ESPIPSEC的数据包封装在UDP的段里,这是CISCO私有的方法。
TCP上的IPSEC将ESPIPSEC的数据包封装在TCP的段里,这是CISCO私有的方法。
2.防火墙问题,一个有状态防火墙允许外出连接以及他们的返回流量,但通常拒绝从外面始发的连接。
1.4.3冗余,VPN设计的一个重要的组成部分是冗余。
站点A,站点B,站点C,站点D,1.5VPN实施,VPN实施种类:
GREIPSECPPTPL2TPSSL,1.5.1GRE通用路由封装协议,GRE是最早由CISCO开发的一种VPN技术。
是一个第3层协议,可以封装AppleTalk、BanyanVines、LAYER-2BRIDGEDTRAFFIC(第二层桥接流量)、CLNP、DECNET、IP、IPX这些协议。
GRE通常不能用做一个完整的VPN解决方案,但可以与其它VPN方案结合在一起使用,如:
IPSEC来产生一个极强大的、具有扩展性的VPN实施方案。
从Cisco产品的角度来说,只能在CISCO的IOS的路由器里工作。
缺少保护能力,即不能身份验证、加密、数据完整性检查。
1.5.2IPSEC,IPSEC:
(IPSecurity)是一个第三层的协议。
IPSEC只支持TCP/IP,但可以在IPSECVPN的连接之上部署GRE的隧道来保护非TCP/IP的流量。
被特别设计用来处理非常安全的网络上传输敏感数据。
负责处理以下3种问题:
数据完整性数据完整性负责检验数据包的内容是否被损害,通过MD5、SHA来实现。
数据机密性保护数据免受窃听,支持DES、3DES、AES的加密算法。
数据验证用于执行数据包和设备的验证。
设备验证用于控制哪一台远端设备允许建立到本地设备的IPSEC连接。
3种类型的设备验证:
预共享密钥、RSA加密的随机数和RAS签名(数字证书)。
对于远程序访问连接,通常都会采用用户验证。
IPsecVPN是最广泛和最普遍采用的,因为它是一组开放的标准。
1.5.3PPTP,点对点隧道协议(PPTP)由微软开发的。
PPTP主要是用于远程访问协议。
支持多种协议:
TCP/IP、IPX、NETBEUI。
CISCO产品中的IOS路由器、PIX防火墙、VPN3000集中器均支持PPTP。
PPTP是半开放标准。
即是正常运行于微软和微软紧密合作的厂商环境网络中。
通常不能正常运行于混合网络环境中。
1.5.4L2TP,L2TP是CISCOL2F和微软的PPTP联合开发,支持第3层协议。
通常