网络安全(九)
本章要点:
VPN的基本概念和特点;VPN采用的主要技术;第二层VPN协议的机制和功能;第三层的一种VPN协议的机制和功能。
第九章 VPN
VPN概述
VPN概念
- VPN是Virtual Private Network的缩写,是将物理分布在不同地点的网络通过公用骨干网,尤其是Internet连接而成的逻辑上的虚拟子网
- 为了保障信息的安全,VPN技术采用了鉴别、访问控制、保密性、完整性等措施,以防止信息被泄露、篡改和复制
VPN类型
-
这3种类型的VPN分别对应于传统的远程访问网络、企业内部的Intranet以及企业和合作伙伴的网络所构成的Extranet
-
Access VPN(远程访问VPN)
- 即所谓的移动VPN,适用于企业内部人员流动频繁或远程办公的情况
- Access VPN通过拨入当地的ISP进入Internet再连接企业的VPN网关,在用户和VPN网关之间建立一个安全的“隧道”,通过该隧道安全地访问远程的内部网
-
Intranet VPN(企业内部VPN)
- 如果要进行企业内部异地分支机构的互联,可以使用Intranet VPN方式,这是所谓的网关对网关VPN
- Intranet VPN在异地两个网络的网关之间建立了一个加密的VPN隧道,两端的内部网络可以通过该VPN隧道安全地进行通信,就好像和本地网络通信一样
-
Extranet VPN(企业扩展VPN)
- 如果一个企业希望将客户、供应商、合作伙伴或兴趣群体连接到企业内部网,可以使用Extranet VPN
- Extranet VPN其实也是一种网关对网关的VPN,与Intranet VPN不同的是,它需要在不同企业的内部网络之间组建,需要有不同协议和设备之间的配合和不同的安全配置
VPN优点
- 降低成本
- 易于扩展
- 保证安全
VPN技术
密码技术
-
密码技术是实现VPN的关键核心技术之一
-
分类
- 对称密钥加密——适用于大量通信
- 非对称密钥加密(公钥加密)——适用于管理分发对称密钥
身份认证技术
-
VPN需要解决的首要问题就是网络上用户与设备的身份认证,如果没有一个万无一失的身份认证方案,不管其他安全设施有多严密,整个VPN的功能都将失效
-
分类
-
非PKI体系
-
采用UID+PASSWORD模式
- PAP口令认证协议
- CHAP询问握手认证协议
-
-
PKI体系
- 采用SSL安全通信协议的身份认证、Kerberos等
- 目前常用的方法是依赖于CA所签发的符合X.509规范的标准数字证书
-
隧道技术
-
隧道技术通过对数据进行封装,在公共网络上建立一条数据通道(隧道),让数据包通过这条隧道传输
-
生成隧道的协议有两种
-
第二层隧道协议
-
在数据链路层进行的
-
先把各种网络协议封装到PPP包(点对点协议)中,再把整个数据包装入隧道协议中,这种经过两层封装的数据包由第二层协议进行传输
-
协议种类
- L2F
- PPTP
- L2TP
-
-
第三层隧道协议
-
在网络层进行的
-
把各种网络协议直接装入隧道协议中,形成的数据包依靠第三层协议进行传输
-
协议种类
- IPSec(是目前最常用的VPN解决方案)
- GRE
-
-
密钥管理技术
-
在VPN应用中密钥的分发与管理非常重要
-
分发方法
-
通过手工配置的方式
- 手工配置的方法要求密钥更新不要太频繁,否则管理工作量太大,因此只适合于简单网络的情况
-
采用密钥交换协议动态分发
- 密钥交换协议采用软件方式动态生成密钥,保证密钥在公共网络上安全地传输而不被窃取,适合于复杂网络的情况
- 密钥可快速更新,可以显著提高VPN应用的安全性
- 目前主要的密钥交换与管理标准有SKIP和ISAKMP/Oakley
-
第二层隧道协议——L2F、PPTP和L2TP
概述
- 第二层隧道协议用于传输第二层网络协议,它主要应用于构建Access
VPN
隧道协议的基本概念
-
数据包格式组成
-
乘客协议
- 指用户要传输的数据,也就是被封装的数据,它们可以是IP、PPP等。这是用户真正要传输的数据,如果是IP协议,其中包含的地址有可能是保留IP地址(非路由地址)
-
封装协议
- 用于建立、保持和拆卸隧道。即将讨论的L2F、PPTP、L2TP、GRE就属于封装协议
-
传输协议
- 乘客协议被封装之后应用传输协议
-
根据隧道的端点不同分类
-
自愿隧道(Voluntary Tunnel)
- 最普遍使用的隧道类型
- 用户端计算机作为隧道的客户方成为隧道的一个端点
- 为了创建自愿隧道,工作站或路由器上必须安装隧道客户软件,并创建到目标隧道服务器的虚拟连接
- 创建自愿隧道的前提是客户端和服务器之间要有一条IP连接(通过局域网或拨号线路)
-
强制隧道(Compulsory Tunnel)
-
强制隧道由支持VPN的拨号接入服务器来配置和创建
-
由位于客户计算机和隧道服务器之间的拨号接入服务器作为隧道客户端,成为隧道的一个端点
-
能够代替客户端计算机来创建隧道的网络设备包括支持PPTP协议的FEP(Front-End Processor,前端处理器)、支持L2TP协议的LAC(L2TP
Access Concentrator,L2TP接入集中器)或支持IPSec的安全IP网关-
比较
- 自愿隧道技术为每个客户创建独立的隧道,而强制隧道中FEP和隧道服务器之间建立的隧道可以被多个拨号客户共享,而不必为每个客户建立一条新的隧道
-
-
-
-
L2F二层转发协议
-
可以支持多种传输协议,如IP、ATM等
-
过程
- 首先,远端用户通过任何拨号方式接入公共IP网络,例如,按常规方式拨号到ISP的NAS(Network Access Server),建立PPP连接
- 然后,NAS根据用户名等信息,发起第二重连接,通向企业的本地L2F网关服务器,这个L2F服务器把数据包解包之后发送到企业内部网上
-
在L2F中,隧道的配置和建立对用户是完全透明的
PPTP点到点隧道协议
-
该协议将PPP数据包封装在IP数据包内通过IP网络(如Internet或Intranet)进行传送
-
PPTP协议可看作是PPP协议的一种扩展,它提供了一种在Internet上建立多协议的VPN的通信方式,远端用户能够通过任何支持PPTP的ISP访问公司的专用网络
-
PPTP协议提供了PPTP客户端和PPTP服务器之间的加密通信
-
PPTP客户端和服务器之间的报文种类
-
控制报文
- 负责PPTP隧道的建立、维护和断开
-
数据报文
- 负责传输用户的真正数据
-
L2TP第二层隧道协议
-
可以让用户从客户端或访问服务器端发起VPN连接
-
已经成为二层隧道协议的工业标准,并得到了众多网络厂商的支持。
-
L2TP客户端是使用L2TP隧道协议和IPSec安全协议的VPN客户端,而L2TP服务器是使用L2TP隧道协议和IPSec安全协议的VPN服务器
-
客户端和服务器进行VPN通信的前提是二者之间有连通且可用的IP网络,也就是说,L2TP客户端必须可以通过IP网络访问L2TP服务器
-
术语
-
LAC:L2TP Access Concentrator,L2TP访问集中器,它为用户通过PSTN/ISDN提供网络接入服务
-
LNS:L2TP Network Server,L2TP网络服务器
-
L2TP客户端和服务器之间的报文种类
- 控制报文
- 数据报文
- 这两种报文均采用UDP协议封装和传送PPP帧。PPP帧的有效载荷即用户传输数据,可以经过加密和/或压缩
-
PPTP和L2TP的比较
-
相同
- PPTP和L2TP都使用PPP协议对数据进行封装,然后添加附加包头用于数据在互联网络上的传输
-
不同
- PPTP要求互联网络为IP网络,L2TP只要求隧道媒介提供面向数据包的点对点的连接。L2TP可以在IP(使用UDP)、帧中继永久虚拟电路(PVCs)、X.25虚拟电路(VCs)或ATM VCs网络上使用
- PPTP只能在两端点间建立单一隧道。L2TP支持在两端点间使用多隧道
- L2TP可以提供包头压缩。当压缩包头时,系统开销占用4个字节,而PPTP协议下要占用6个字节
- L2TP可以提供隧道验证,而PPTP则不支持隧道验证。但是当L2TP或PPTP与IPSec共同使用时,可以由IPSec提供隧道验证,而不需要在第二层协议上验证隧道
第三层隧道协议——GRE通用路由封装协议
用于传输第三层网络协议
GRE(Generic Routing Encapsulation,通用路由封装协议)支持全部的路由协议(如OSPF等),用于在IP包中封装任何协议的数据包,包括IP、IPX、AppleTalk、DECnet等
在GRE中,乘客协议就是上面这些被封装的协议,封装协议就是GRE,传输协议就是IP
具体地说,路由器接收到一个需要封装和路由的原始数据包(比如IP包),先在这个数据包的外面增加一个GRE头部构成GRE报文,再为GRE报文增加一个IP头,从而构成最终的IP包
这个新生成的IP包完全由IP层负责转发,中间的路由器只负责转发,而根本不关心是何种乘客协议
GRE只提供封装,既不进行加密,也不进行验证,因此通常与其他安全协议结合使用
GRE VPN适合一些小型点对点的网络互联、实时性要求不高、要求提供地址空间重叠支持的网络环境
XMind: ZEN - Trial Version
- 第九章 VPN
- VPN概述
- VPN技术
- 第二层隧道协议——L2F、PPTP和L2TP
- 第三层隧道协议——GRE通用路由封装协议
- 用于传输第三层网络协议
- GRE(Generic Routing Encapsulation,通用路由封装协议)支持全部的路由协议(如OSPF等),用于在IP包中封装任何协议的数据包,包括IP、IPX、AppleTalk、DECnet等
- 在GRE中,乘客协议就是上面这些被封装的协议,封装协议就是GRE,传输协议就是IP
- 具体地说,路由器接收到一个需要封装和路由的原始数据包(比如IP包),先在这个数据包的外面增加一个GRE头部构成GRE报文,再为GRE报文增加一个IP头,从而构成最终的IP包
- 这个新生成的IP包完全由IP层负责转发,中间的路由器只负责转发,而根本不关心是何种乘客协议
- GRE只提供封装,既不进行加密,也不进行验证,因此通常与其他安全协议结合使用
- GRE VPN适合一些小型点对点的网络互联、实时性要求不高、要求提供地址空间重叠支持的网络环境