IPSec VPN及其在校园网中的应用
2012-04-29杜家严卢朝晖
杜家严 卢朝晖
摘要:VPN是隧道技术和加密技术相结合的产物,它能够确保私有数据在共享网络基础设施上安全传输。介绍了IPSec和IPSec VPN的相关概念和基本原理,接着简要介绍IPSec VPN在校园网上的应用——配置Windows 2003网关实现局域网间的安全互连。关键词:虚拟专用网络;VPN;IPSec;IPSec VPN;隧道技术;Windows 2003
中图分类号:TP393文献标识码:A文章编号:1009-3044(2012)01-0007-03
IPSec VPN and Its Application on Campus Network
DU Jia-yan1,LU Zhao-hui2
(1. Finance Department , Hainan Normal University, Haikou 571158, China;2. Network Center Hainan Normal University, Haikou 51158, China)
Abstract: VPN is a technology which integrates tunneling with encrypting , so it can ensure private data to be transmitted securely on the shared network infrastutctures.This paper introduces the correlative concepts and basic principles of IPSec and IPSec VPN,then briefly presents an application of IPSec VPN on campus network. The application is that secure connections among LANs are implemented by configuring windows 2003 gateways.
Key words: virtual private network;VPN;IPSec;IPSec VPN;tunneling;Windows 2003
VPN(Virtual Private Network)[1]中文译为“虚拟专用网络”,是指利用某种技术在共享网络基础设施上安全地传输私有数据,从而形成不受地域限制,仅受统一策略管理和控制的专用网络。VPN作为一种灵活的远程接入解决方案,既解决了数据传输的安全问题,又降低了跨广域网的专网联网成本,因而具有较好的应用前景。本文主要讨论基于IPSec[2]的VPN技术。
1 IP安全协议
TCP/IP协议在开发之初的设计重点是建立一个可靠的而不是安全的网络,所以IP包本身并不继承任何安全特性。为此,IETF提出了一个开放、标准的安全体系结构——IPSec,其目的是通过定义OSI模型第三层的数据包格式和相关基础结构,为IP通信提供透明的端对端安全服务。
1.1 IPSec的安全体系
IPSec实际上是一套协议包,它主要包括如下几个组件:
1)验证头协议(AH)提供数据源认证服务、数据完整性服务和反重放服务,但不能保证数据包的机密性(未被别人看过)。具体做法如图1所示。在IP包头之后,并在要保护的数据之前,插入一个AH标识。其中,“验证值”由杂凑算法(HMAC_MD5或HMAC_SHA)对整个数据包进行计算(也称为签名)而得。
2)封装安全载荷协议(ESP)除了能提供AH所支持的服务外,还可用于保证数据包的机密性。ESP的工作流程与AH很相似,但在标识的放置上有所不同,如图2所示。此外,ESP不对整个数据包进行签名,但会采用以“加密算法块链(CBC)”模式工作的加密算法(DES、3DES等)对受保护数据和部分ESP标识进行加密处理。
3)密钥分配协议(IKE)主要用于对IPSec通讯双方的密钥交换进行自动管理,其具体实施可分为两个阶段:(阶段一)主要使用一个Diffle-Hellman交换和预先设置好的验证方法(预共享密钥、数据签名标准DSS和RSA公共密钥算法等)来创建两个通信实体之间的安全连接,即IKE安全联盟(IKE SA);(阶段二)在第一阶段的基础上,通信双方协商安全协议(AH、ESP)、密钥生存期等安全参数以及生成新的公共密钥,建立“IPSec安全联盟(简称SA)”。
4)IPSec安全联盟是两个IPSec通讯实体之间的一个逻辑连接,它能向其上的数据传输提供双方达成一致的IPSec安全保障。首先SA是单向的。例如A、B两台主机进行安全通信,那么主机A就必须有两个不同的SA,其中SA(Out)用来处理外发的数据包,SA(In)用来处理进入的数据包,而且主机A的SA(out)、SA(in)将分别和主机B的SA(in)、SA(out)共享相同的加密参数(比如密钥等);其次SA是“与安全协议相关”的,也就是说每种协议都要构建一个SA。任何IPSec实施方案都会构建一个SA数据库(SADB)来维护由三元组<安全索引参数,目标地址,安全协议>唯一标识的SA记录。
5)安全性策略是尚未成为标准的一个重要组件,它是系统管理员出于安全考虑,在IP流量中限制其流量的位置、加密方法以及是否允许访问等。简单地说,安全策略决定了一个包提供的安全服务。在具体实施中,策略将会保存到安全策略数据库(SPD)中。
1.2 IPSec的基本工作原理
IPSec可以看作是包过滤防火墙的一种扩展。当接收到一个IP包时,包过滤防火墙使用其头部在一个规则表中进行匹配,当找到一个相匹配的规则时,就按照该规则指定的方法对接收到的IP包进行处理——丢弃或转发。与此流程相似,IPSec通过查询SPD决定对接收到的IP包进行何种处理——丢弃、绕过IPSec直接转发或IPSec处理。IPSec处理是指使用安全协议(AH、ESP)对IP包进行认证和加密,正是这种新添功能提供了比包过滤防火墙更进一步的安全性。
为了满足不同的安全需求,IPSec提供了两种工作模式:一种是适用于端到端安全保障的传输模式;另一种是适用于安全保护能力需由安全网关(主机或路由器)来提供的隧道模式。传输模式下,AH或ESP所保护的数据仅仅是上层协议(TCP、UDP或ICMP等),而源地址、目标地址及所有IP包头的内容都不加密。在隧道模式下,AH或ESP所保护的数据是整个IP包,而且IP包在传输过程中会出现两个IP头——其中内部头由源主机创建,外部头是由安全网关添加。
2 IPSec VPN
2.1隧道技术
隧道技术是实现VPN的基础,其工作流程可描述如下:封装——要传输的负载(数据帧或数据包)在进入互联网之前,由隧道协议(PPTP、L2F或L2TF等)在这些负载前添加新的数据帧或数据包首部(Header);路由——新的首部负责提供路由信息,从而使封装后的负载能够通过互联网传递;解包——当封装负载到达互联网的另一个端点时,再由相同的隧道协议将它们解包并转发到最终的目的地。封装负载在互联网上传输时,所经过的逻辑路径就称为隧道。如果隧道协议遵循IPSec标准对隧道中传输的负载进行加密,那么由隧道连接起来的网络就称为IPSec VPN。
2.2与IPSec有关的两个隧道协议
1)L2TP/IPSec
L2TP(层2隧道协议)是把链路层PPP帧封装在公共网络设施(如IP、ATM、X .25或帧中继)中进行传输的隧道协议。在IP网络上,L2TP使用UDP来封装、传送L2TP控制消息和PPP帧,其包格式如图3所示。
在安全方面:L2TP虽然继承了PPP的用户认证模式(PAP、CHAP),但是不能实现基于机器级身份的认证;其次,L2TP仅定义了控制包的加密传输方式,而没有对传输中的数据进行加密。为了弥补这些不足,可以在L2TP封装基础上启用ESP的传输工作模式再次对数据包进行封装,以实现端对端的安全连接。这也就是所谓的L2TP/IPSec。L2TP/IPSec的IP包格式如图4所示。
L2TP/IPSec有如下的特点:支持多种协议和动态寻址;解决了多个PPP链路的捆绑问题;可以应用于拨号VPN和专线VPN。
2)IPSec隧道
IPSec隧道是启用IPSec通道工作模式,把IP包封装在IP网络中进行传输的隧道协议。其数据包格式如图5所示。
IPSec隧道协议有如下的特点:只能对IP数据进行保护;只支持网关到网关、主机到主机以及主机到网关的隧道环境,不支持拨号VPN。
2.3一个应用实例
近年来,高校优势互补大合并或入住大学城建设新校区,使得跨校区办学成为高校普遍的运作方式[3]。在这种格局之下,如何解决财务数据等敏感信息跨校区安全共享和交流是学校信息化建设所亟待解决的问题之一。如图所示,某高校由地理位置分散的主校区、农学院、艺术学院、成教学院和职教学院五个校园网互联组成。众所周知,校园网是一个开放的网络环境,如果不采取任何安全措施,就让各校区财务处在该网络平台上直接进行数据互传,那么就有可能出现财务数据被泄露或被篡改的问题。考虑本校的具体情况——各校区财务局域网都是通过Windows 2003(以下简称W2K)网关接入校园网、财务数据在传输时要求绝对的安全性但对实时性要求不高、投资新硬件和专线的经费有困难等等,我们决定采用W2K所提供的IPSec VPN解决方案[4]来改造校园网,即将主校区财务局域网跟其它校区的财务局域网通过安全隧道互联起来,从而形成一个覆盖整个校园的财务子网。互联拓扑图如图6所示,其中虚线连接代表VPN连接。
下面以主校区财务处局域网CWnet1(网关为GW1)和职教学院财务处局域网CWnet2(网关为GW2)的IPSec VPN互联为例,简要介绍在W2K网关上进行IPSec隧道设置的步骤。
1)创建IPSec策略。如果W2K网关是一个域的成员,那么就需要在活动目录(Active Directory)中创建组织单元(Organizational Unit)并把W2K网关设为该组织单元的成员,然后对组织单元的组策略对象(Group Policy Object)指定安全性策略。一般情况下,W2K网关不是域的成员,那么只需要创建一个本地安全性策略即可。注意:一台计算机只能指定一个安全性策略。
2)对每条VPN连接,创建两个筛选器列表:一个匹配流入的数据包,另一个匹配流出的数据包。在CWnet1的网关GW1中创建两个筛选
列表:GW1_GW2_Out用于匹配从CWnet1流向CWnet2的数据包;GW1_GW2_In用于匹配从CWnet2流入CWnet1的数据包。在筛选器列表GW1_GW2_Out的创建过程中需要设置如下参数:“筛选器列表的名字”设为“GW1_GW2_Out”;“源地址”设为一个特定的IP子网(IP地址为192.168.1.0、掩码为255.255.255.0);“目标地址”设为一个特定的IP子网(IP地址为192.168.2.0、掩码为255.255.255.0);“选择协议类型”设为“任意”(IPSec隧道不支持基于具体协议或具体端口的过滤器);“激活“镜像”。GW1_GW2_In的设置依此类推,唯一不同之处是源地址和目标地址互换。
同理,设置CWnet2的网关GW2。
3)对所创建的每个筛选器列表指定安全规则。给筛选列表GW1_GW2_Out指定安全规则需要设置如下参数:“隧道终点由此IP地址指定”设为“210.40.2.8”;连接类型设为“所有网络连接”;创建一个名为“GW1_GW2_Out筛选器操作”的筛选器操作,其中激活“协商安全”、清除“接受不安全的通讯,但总是用IPSec响应”、“安全措施”设为“高(ESP)”;在身份验证方法标签中,如果隧道两个端点属于同一个域,那么就选择“Kerberos V5”,否则就选“CA凭证验证”或“预共享密钥”(注意:两个隧道的身份验证方法必须一致)。筛选列表GW1_GW2_In的设置依此类推,不同之处仅仅是“隧道终点由此IP地址指定”设为“210.40.1.8”。
同理,设置CW_net2的网关GW2。4)将新策略指派给W2K网关。
3结束语
本着够用、易用、实用的原则,针对学校的实际情况和有限的资金投入,利用IPsec VPN技术解决了财务子网跨校区安全传输的问题,有效解决了人员往返主校区进行报账的模式,既有效节约交通经费,又明显改善了财务处的办事效率和服务质量。
参考文献:
[1]钟建平.高校财务信息化建设中VPN技术的应用[J].会计之友, 2007,(5):45-47.
[2] Stephen Kent.Security Architecture for the Internet Protocol[s].IETF RFC 2401,1998.
[3] lu zhaohui, du jiayan.The Application of DirectAccess in Finance Subnet Across multi-school Distric,2001 3rd World congress in Ap? plied Computer Science,and Computer Engineering Advances in communication Technology ,Vol.1-4,2011,7.
[4] Microsoft Inc..How To Configure IPSec Tunneling in Windows Server 2003.http://support.microsoft.com/kb/816514,2007.