◆王庆刚 向 文
关于高校网络中VPN技术的探究
◆王庆刚1向 文2
(1.西南石油大学网络与信息化中心 四川 610500;2.西南石油大学电气信息学院 四川 610500)
本文系统研究了VPN技术和VPN隧道技术,首先从分析VPN技术产生的背景入手,重点阐述VPN技术的定义和分类;然后对目前流行包括L2TP、GRE、IPSEC、SSL在内的多种VPN隧道协议进行了详细深入的研究;最后对SSL VPN在高校网络中的部署及应用做出具体分析和研究。
VPN技术;隧道协议;高校网络;SSL VPN
随着教育网络和信息化的不断推进,各高校中对网络信息化的应用也越来越广泛。经过大约二十年的努力与发展,当前全国各大高校的校园网络带宽和信息化系统已基本能够较好满足校园内师生办公和学习的需求。然而,近五年来伴随着移动互联网的高速发展,教师和学生访问校园网资源的需求不再仅仅局限于高校内部,他们更希望通过手机等移动网络或者在家中就可以方便的接入校园网资源,在校外同样可以完成自己的工作或学习任务,这就给高校网络的服务提出了更高的要求。
目前,可以实现内部网络远程访问的一种技术是专线,通常应用于公司子机构与公司总部之间的安全通信,通过专线用户可以安全、稳定的访问内部资源,但部署专线需要向ISP提出申请必然费用也是十分昂贵的,所以给每一位师生专门开通一条专线是不切实际的,并且它并不适用于移动网路的远端移动接入方式。另一种非常流行的技术就是VPN隧道技术,只需要在校园网内部部署一台VPN服务器,就能够实现师生通过远程接入或移动网络等方式远程访问校园网资源的需求,不但节约了投入成本,还可以提供高质量的用户体验。
VPN全称是Virtual Private Network,即虚拟私用网络,是通过封装协议技术在公共网络上建立一条私有的数据通道,实现将本地内网和对端局域网连接起来,构成一个专用的、具有一定安全性和服务质量保证的私人网络。
VPN中常用的技术包括隧道技术、加解密技术、数据认证、身份认证和密钥管理技术。隧道技术用于实现数据通道的建立,完成网络之间数据的传输;由于数据在公网中传输,因此还需要其他几种技术保障这些数据的安全性。加解密技术通过对传输的数据进行加解密可以保证数据不被非法窃取;数据认证是在发送方和接收方对数据运用散列算法(MD5、SHA-1等)求值,以验证数据是否被非法篡改;身份认证通常采用“用户名+密码”等方式认证接入VPN用户身份的合法性;密钥管理技术主要用于维护密钥的安全性,保证密钥在传输过程中不被窃取。隧道技术与安全技术相结合,保证了VPN隧道是一条安全、高可靠性的数据传输通道。
(1)Access VPN:主要用于满足企业内部员工在外部远程或移动办公的需要,当员工出差时,就可以利用当地运营商提供的VPN服务,远程接入企业的VPN网关建立隧道连接,实现内网资源的访问。
(2)Intranet VPN:用于实现大中型企业各分支机构与公司总部之间的通信,以及各分支机构之间的互联。通过在本地网关与远程网关之间建立VPN隧道进行数据通信,相比传统的专线网络,可以大大降低企业运行成本。
(3)Extranet VPN:为供应商和客户提供的安全访问服务。通过VPN技术建立的Extranet,既可以向其他企业、客户提供有效的信息服务,又可以保证企业自身内部网络的安全运行。
(1)L2VPN:即二层VPN技术,工作在协议栈的数据链路层,主要包括PPTP VPN、L2TP VPN等。
(2)L3VPN:即三层VPN技术,它工作在协议栈的网络层,目前流行的的VPN技术有GRE VPN和IPSec VPN。
(3)SSL VPN:不同于L2VPN和L3VPN,SSL VPN工作于协议栈的传输层与应用层之间,可为基于TCP的应用层协议提供安全链接。
隧道技术是VPN中最关键的技术,是指在隧道的两端通过封装和解封装技术在公网线路中建立一条私用的数据传输通道,通过它进行数据报文的传输。
隧道是基于隧道协议建立的,隧道协议传统上分为二层隧道协议和三层隧道协议。与VPN依据网络层次的分类一致,二层隧道协议可对数据链路层协议进行封装传输,主要的隧道协议有L2F、PPTP、L2TP等,而L2TP协议是结合了L2F和PPTP两种协议的优点,是目前LETF关于二层隧道协议的工业标准;三层隧道协议可对网络层协议封装传输,目前流行的隧道协议有GRE和IPSEC。二层和三层的本质区别是用户的数据在隧道中被封装成不同类型的数据包进行传输,另一方面,前者主要用于构建Access VPN,而后者主要用于构建Intranet VPN和Extranet VPN。SSL VPN隧道的建立是基于SSL协议,具体包括SSL握手协议、密码变化协议、警告协议和记录协议。
(1) L2TP隧道协议
L2TP协议提供了对PPP数据链路层数据包的通道传输支持,允许二层链路端点和PPP会话点驻留在不同设备上,并且能够采用数据包交换网络技术进行信息的交互,从而扩展了PPP模型。从某种角度来说,L2TP实际上是一种PPPoIP的应用,利用PPP协议的一些特性,解决IP网络本身存在的不足。
L2TP协议封装结构如下:
表1 L2TP协议封装结构
首先用户将用PPP协议封装的原始数据包发送给LAC(L2TP接入集中器),LAC对收到的PPP报文进行再次封装,加上L2TP头、UDP头和公网IP头,L2TP头中包含了隧道ID和回话ID,并且L2TP协议在UDP头中注册使用UDP的1701端口,IP头则指明了数据在公网中传输的公用IP;然后LAC将再次封装后的数据发送给LNS(L2TP网络服务器);当LNS接收到LAC发送的报文时,根据接收数据的UDP头中封装了1701端口辨别出这是一个L2TP报文,则将数据报文转到L2TP处理模块进行解封装,最终获得一个包含私有IP的普通报文,并将该报文转送上层模块或者直接进行路由处理。
(2)GRE隧道协议
GRE全称为通用路由封装,可以对某些网络层协议(如IPX)的报文进行封装,并且封装后的报文可以继续在网络层的另一种协议(如IP)中传输。
GRE协议封装结构如下:
表2 GRE协议封装结构
GRE的实现是由tunnel接口完成,tunnel接口是一种仅支持点到点连接的虚拟接口,它提供了一条通路,封装后的数据报文能够在这条通路上传输。Tunnel端口在定义时,需要指定源地址、目的地址、封装协议、tunnel端口的IP地址,源地址和目的地址分别是隧道两端的源IP和目的IP,封装协议部分可以通过指定协议号47实现对GRE协议的调用,tunnel端口配置IP地址后该端口才能启用生效。
GRE隧道建立成功后,私网数据报文要通过隧道传输,首先查询私网路由表或转发表分析报文的出接口是否指向tunnel接口,符合则将报文转到隧道模块进行封装传输,当隧道远端接收到数据报文后,分析IP头获知目的地址为自己,且协议号为47,则将报文交给GRE模块进行解封装处理,去掉IP头和GRE头,即可得到原来的私网数据报文。
(3)IPSEC隧道协议
IPSEC协议是一个网络安全协议族,主要包括AH协议、ESP协议和IKE密钥交换协议。IPSEC协议是通过在通信双方的网络层上进行数据加密和数据源认证等操作,从而保证网络传输过程中数据的机密性、完整性、真实性和防重放。
IPSEC隧道封装协议有AH(报文头验证协议)和ESP(封装安全载荷协议)两种,其中在IP报文头中,AH协议号为51,ESP协议号为50。另外IPSEC协议封装模式也有传统模式和隧道模式两种,相比传统模式,隧道模式可以隐藏数据报文的原始IP头信息,具有更好的安全性,但同时传输过程中也会占用更多带宽。
采用隧道模式,AH协议封装结构如下:
表3 AH协议封装结构
将AH头封装在原IP头和新IP头之间,可以对包括新IP头在内的整个报文进行数据验证,实现了对数据的完整性、真实性和防重放的保护,但是AH协议不能完成对数据的加密工作。
采用隧道模式,ESP协议封装结构如下:
表4 ESP协议封装结构
ESPH报头位于原IP头和原始报文之间,同时在数据部分之后添加一个对称的ESP尾,并将报文的验证结果放在报文的最后。采用ESP协议,可以完成报文从ESPH到ESP尾的数据验证,并实现对原始数据和ESP尾部数据的加密保护。
与GRE VPN类似,IPSEC VPN借助AH或ESP协议在隧道两端的通过封装和解封装技术完成数据通道的建立,并在通道中进行私网数据的传输。
(4)SSL VPN隧道协议
SSL VPN是以SSL/TLS协议为基础,利用标准浏览器内置支持SSL/TLS的优势,对其应用功能进行扩展的新型VPN。SSL协议可以提供身份认证、机密性、完整性等安全技术,与IPSEC安全协议不同的是,SSL协议只对双方传输的应用数据进行加密,而不是对全部数据都进行加密处理。
SSL协议结构如下:
表5 SSL协议结构
底层为SSL记录协议是用于交换应用数据,主要负责对上层的数据进行分块、压缩、计算并添加MAC、加密等,最后把记录块传输给对方。
上层包括SSL握手协议(SSL Handshake Protocol)、SSL密码变化协议(SSL Change Cipher Spec Protocol)和SSL警告协议(SSL Alert Protocol)。
(1)握手协议:客户端和服务器通过握手协议建立一个会话,完成会话参数的配置,包括会话ID、对方的证书、加密算法列表、压缩算法以及主密钥等。当SSL客户机和服务器第一次开始通信时,协议版本确定后,选择加密算法和认证方式,并使用公钥来生成共享密钥。
(2)密码变化协议:客户端和服务器端通过密码变化协议通知接收方,随后的报文都将使用新协商的加密算法列表和密钥进行保护和传输。
(3)警告协议:用于表示发生错误或两个主机之间的会话终止时,向对方报告警告信息,消息中包含警告的严重级别及其描述等。
SSL VPN主要功能包括虚拟网关、Web代理、文件共享、端口转发、网络扩展、用户安全控制和完善的日志功能等。虚拟网关可以实现针对不同需求的用户部署不同应用资源的模块化管理;Web代理实现了无客户端的页面访问方式,充分体现了它的易用性。与传统的L2TP VPN、GRE VPN、IPSEC VPN等相比,SSL VPN的众多优势主要可以概括为以下三点:
(1)可以通过各种标准浏览器直接访问VPN服务器,而不需要用户安装特定的VPN客户端并进行复杂的配置;
(2)当用户需要访问内网应用资源时,必须通过SSL VPN接入访问,对应用层资源起到了有效的安全保护;
(3)SSL VPN对有效认证用户的访问不局限于时间和空间,可以极大提升企业延展的效率。
对于高校师生来说,他们对VPN的需求集中体现在两个方面,一是可以通过手机、笔记本等移动设备或移动网络随时随地的接入内网资源;二是在一些特别时期和特定环境时,如放假后离校、下班后回到家里,可以正常的访问校内资源,而不影响自身的学习或办公。SSL VPN的特点很好地满足了高校师生的以上需求,下面我们以某一高校为例来说明SSL VPN在高校网络中具体的应用和部署。
部署SSL VPN的网络拓扑结构图如下图1:
SSL VPN服务器旁挂在校园网出口防火墙上,需要为SSL VPN配置一个固定的内网IP地址,并在出口防火墙通过NAT技术将服务器映射到公网中,然后将允许外网访问的资源添加到VPN服务器的资源组中。当外部用户需要访问内部资源时,用户只需要在本地浏览器中输入SSL VPN映射到公网的IP地址登录VPN服务器,并通过Radius服务器的协同身份认证后,即可安全访问VPN服务器授权范围内的校园内部资源。
图1 SSL VPN网络拓扑结构图
VPN隧道技术已经成为一种流行的网络安全技术,一方面能够为用户在企业或高校外部访问内部资源提供了极大便利,同时也保障了数据传输过程中的安全性。SSL VPN作为一种新型的VPN技术,避免了用户使用VPN时对客户端的复杂配置,可以有效地促进VPN技术的推广和使用。随着移动互联网的高速发展和信息化应用的广泛推进,VPN技术必将在远程移动办公和资源外网访问等领域发挥重要作用,为用户的学习和工作提供更优质的服务。
[1]周树清.VPN技术综述[J].电信快报,2005.
[2]蒋东毅,吕述望.VPN的关键技术分析[J].计算机工程与应用,2003.
[3]何宝宏,田辉.IP虚拟专用网技术第2版[M].北京:人民邮电出版社,2008.
[4]尹淑玲.SSL VPN技术及应用研究[J].计算机技术与发展,2013.
[5]张媛媛,李盛.VPN技术在现代企业网中的应用[J].电子技术,2017.