您的当前位置:首页正文

基于Linux的VPN安全网关的研究

2024-02-13 来源:个人技术集锦
第33卷(2005)第11期󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂计算机与数字工程󰀂󰀂󰀂󰀂󰀂

󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂41󰀂󰀂󰀂

基于Linux的VPN安全网关的研究

王艳涛󰀂刘建辉󰀂曹󰀂辉

(辽宁工程技术大学󰀂阜新󰀂123000)

摘󰀂󰀂要

󰀁

由于Internet的不安全性,许多团体和组织为了在这个全球性的开放网络上进行安全的内部通信,开发并采用了虚拟专用网络技术。首先介绍了VPN的概念以及IPSEC体系结构及实现方法,全面分析和比较了目前的VPN技术,同时研究了通用安全网关的实施架构和功能,本着高效、安全的原则提出了一个基于Linux的VPN安全网关的解决方案,具体实施借鉴了双宿主防火墙的架构,在IPSEC模块的基础上添加了防火墙模块和网络地址转换模块,最后在基于Linux定制的操作系统上进行整合。

关键词:网络安全协议󰀂网关󰀂防火墙󰀂网络地址翻译中图分类号:TP393.04

ResearchofVPNSafeGatewayBasedonLinux

WangYantao󰀂LiuJianhui󰀂CaoHui(LiaoningTechnicalUniversity,Fuxin󰀂123000)

Abstract:BecauseoftheunsafetyofInternet,alotofgroupsandorganizations,inordertocommunicatesafelyintheseglobalopennetworks,havedevelopedandadoptedtheVirtualPrivateNetworktechnology.Thistextintroducestheconcept,IPSECsystemstructureandimplementationmethodofVPNatfirst,analyzesandcomparespresentVPNtechnologyinanall-roundway,studiesimplementationbuildingupandfunctionofthesafegatewayincommonuseatthesametime,putsforwardasolutionbasedonLinuxinlinewiththeprincipleofthehigh-efficiencyandsecurity,referencespairsofhostframeworkoffirewalltoim󰀁plementconcretely,addsfirewallmoduleandnetaddresstranslationmoduleonthebasisofIPSECmodule,combinesonthebasisofLinuxcustomizedoperatingsystemfinally.

Keywords:IPSEC,gateway,firewall,netaddresstranslationClassnumber:TP393.04

0󰀂引言

VPN(VirtualPrivateNetwork)技术可以使企业采用廉价的Internet公共网络组建自己的企业VPN,使用隧道技术对传输的数据进行严格的保

护。虚拟专用网(VPN)企业网在Internet网等公共网络上的延伸,通过一个私用的通道来创建一个安全的私有连接,虚拟专用网络通过安全的数据通道将远程用户、公司分支机构、公司的业务合作伙伴等跟公司的企业网连接起来,构成一个扩展的公司企业网。在中国,VPN存在广泛且持续的市场要求,企业、政府信息化建设需要VPN,许多跨区

收到本文时间:2005年3月3日域发展的大型企业,要实现资源的集中管理需要

VPN,网上传输的内容从语音、文本发展到图像、视频和三维等都需要VPN。这些都意味着,VPN将给中国企业带来崛起的机会。

1󰀂VPN原理

VPN属网关型安全设备,架构于局域网和路由器之间,无需改变网络原有配置,即可无缝接入公共网络;它根据用户设定的安全策略有选择地对从局域网发出的IP数据包进行安全加密,构成安全通信隧道,有效保证数据的完整性和机密性。1.1VPN的概念

󰀁󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂基于Linux的VPN安全网关的研究󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂第33卷42

VPN即虚拟专用网,现代意义上的VPN,普遍被认为是一种基于数字网络的安全技术。随着Internet的日渐普及,人们开始尝试在Internet上架构自己的专用网络,但这首先要解决的问题就是安全,因为Internet本身是开放式的,并不能提供任何安全保障。使用现代密码技术,可以克服安全因素造成的障碍,从而造就了现在所谓的 虚拟专用网!。 虚拟!的含义是指在开放、不安全的网络环境中利用加密技术构建专用、安全的通信通道,从而模拟出一个 专用!的网络。由于这种 虚拟!的方法在安全意义上是高可信的,又节省了构建专用网络的物理线路成本,因此已经成为了一种具有很高应用价值的技术。

1.2VPN的优缺点

企业界采用一种新的技术,首要的考虑往往是降低成本,但和传统的专用网络相比,虚拟专用网络的优点包括:省去了租用线路的成本、节省了端用户的成本、节省了电信开销、不再需要复杂的网络拓扑结构设计、管理更容易、扩展性更好。

当然,VPN技术也有一些局限,尤其是当VPN的概念应用到实际的IP网络上时,VPN可能的缺点有:用户需要一定的安全知识、维护和管理开销大和服务质量下降等。

[3]

(Transport)和隧道模式(Tunnel)。两种模式的区别在于隧道模式保护整个IP数据包,传输模式只是保护IP包内的数据载荷而不保护IP协议头部,

更重要的一点是,在网关上实施的IPSEC隧道模式,不但能保护网络通信数据,而且能对外屏蔽内部子网的拓扑结构,使得外部的网络看到的只是网关,从而增强了通信子网的保护2.2IPSEC体系结构

[4]

IPSEC组件包括安全协议验证头(AH)和封装安全载荷(ESP)、安全关联(SA)、密钥管理(IKE)及加密和验证算法等。图1显示了IPSEC的体系结构、组件及各组件间的相互关系。

2󰀂IPSEC体系结构及实现方案

2.1IPSEC协议概述2.1.1IPSEC协议简介

IPSEC协议即IP层安全协议,它是基于IP层

的,提供对IP及其上层协议的保护。IPSEC协议是IETF的IPSEC工作组1998年提出的将安全机制引入IP层的一系列的协议标准。

IPSEC协议族能够提供基于IP网络环境的主机到主机、主机到网关、网关到网关的数据通信保护。这些安全保护主要有如下的安全协议和算法来实现:ESP(EncapsulatingSecurityPayload,封装安全载荷)、AH(AuthenticationHeader,认证报头)、IKE(InternetKeyExchange,因特网密钥交换)、加密算法和验证算法。在IPSEC协议套件中,有两种具体的安全封装处理协议:封装安全载荷(ESP)和认证报头(AH),AH可提供数据的发源地身份认证、保障数据的完整性和防止IP数据包重播攻击;ESP除了具有以上功能外,还可以提供数据机密性保护功能。2.1.2IPSEC协议的封装模式

IPSEC实现有两种封装模式:传输模式图1󰀂IPSEC的体系结构

2.3IPSEC的实施

IPSEC的实施有两种方式:第一种是将IPSEC插入IP层与数据链路层之间,称为堆栈中的块(BITS,BumpInTheStack);第二种是与操作系统集成,即将IPSEC插入IP层[1]。2.3.1IPSEC传统的实现方案

IPSEC传统的实现方案就是将IPSEC插入IP层与数据链路层之间。2.3.2传统方案的优缺点

优点:IPSEC处理模块独立于内核,IPSEC处理程序几乎对内核没有进行修改。

缺点:多次重复处理IP包,大大增加了IP包在IP层的处理时间,极大地影响了IP包处理的效率,这对于业务繁忙的网关,将影响正常的通讯,成为通讯的瓶颈。

2.3.3新方案的提出(体系结构)

鉴于传统方案的缺点,本方案采用了与操作系

第33卷(2005)第11期󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂计算机与数字工程󰀂󰀂󰀂󰀂󰀂

󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂43󰀂󰀂󰀂

统集成的方案,并在网络层添加了防火墙模块和网络地址翻译模块(如图2),我们采用的方案是IP+IPSEC+Firewall+NAT,修改内核的标准IP处理

程序,将IP、IPSEC、Firewall和NAT处理程序捆绑,形成新的IP层处理。来提高网关的效率和网络的安全等级,使网关成为通信瓶颈的可能性大大降低。

理模块、IPSEC协议引擎、IPSEC基本协议及密码算法)、双向NAT模块和防火墙模块。

3.1.2主要模块功能描述

IPSEC处理模块:VPN网关的核心处理模块之一,主要完成IP数据包的AH、ESP封装、数据认证、数据加密和解密等操作,在网络传输上,依据传输方向有两种不同的数据操作,对进入的IP数据包的IPSEC处理操作和对外出的IP数据包的IPSEC处理操作。

防火墙模块:作为进入IP包的一个先期判决处理,实现一个基本的包过滤防火墙,根据用户自定义的过滤规则过滤掉来自不安全网段的IP包,同时也丢弃内部网用户对敏感站点的访问,这样可以减轻后续的IPSEC处理模块的工作负荷,提高系统的吞吐量。

双向NAT模块:在IP包进入和外出网关时,对源地址和目标地址进行实时地址转换,对外出包,源地址改为网关IP地址,对于进入包则还原为其内部网主机的IP地址,这样可以使多个内部地址共享一个外部IP地址,节省企业的IP地址资源,还可以隐藏内部网的IP地址,提高网络安全等级。

由于VPN网关系统的实现有多个模块相互调用,并且跨越了操作系统应用层和内核层,必须为相应的模块提供明确的调用接口,主要有:

(1)处于应用层的SAD手工注入接口模块和密钥管理程序模块与处于系统内核的SAD管理模块通信的接口,根据RFC2367,该接口采用PF_Key的协议族的socket接口。

(2)内核层中的IPSEC模块中的各子模块之间采用函数调用,全局变量实现数据交互。(3)IPSEC处理模块、防火墙模块和双向NAT模块三者之间的接口。

3.2IPSEC+IP的设计思路和具体实现

3.2.1IPSEC+IP实现的总体思想

在基于IPSEC技术的VPN网关的实现中,IPSEC协议主要是按照安全联盟的协定来完成对IP数据包的封装和加密以及认证操作。因为是对IP数据包的操作,故而IPSEC协议的实现应该在IP网络层,对上层协议透明,在Linux操作系统中,IP网络层协议的实现模块是在系统内核当中完成的,所以,首先IPSEC协议的实现应该定位在Linux操作系统的内核当中,另外对于密钥协商和管理协议IKE的实现、对IPSEC的安全策略的配置和管理的实现都应该在应用程序模块来实现。图2󰀂传统的实现方法到新方案的过渡

基于以上的分析,VPN网关的体系结构可抽

象为三层:管理系统层、IP+IPSEC+Firewall+NAT层和操作系统内核层。如图3所示:

用户内核

管理系统层

IP+IPSEC+FW+NAT层

操作系统内核层

图3󰀂VPN网关的体系结构

2.3.4新方案的优点

(1)处理效率高,IPSEC处理与IP处理融合在一起,提高了网关的处理效率,极大地提高了IP包在IPSEC网关上的传递速度,使IPSEC网关成为瓶颈的可能性大大降低;

(2)由于添加了防火墙模块,对进入IP层的IP包进行先期判决处理,根据用户自定义的规则,过滤掉不安全网段的IP包,同时也丢弃了内部网用户对敏感站点的访问,减轻了后续的IPSEC处理模块的工作负荷,提高了系统的吞吐量和安全性;

(3)因为在原来的基础上还添加了NAT处理模块,在IP包进入和外出网关时进行地址转换,可以有效隐藏内部网的IP地址,提高了网络的安全等级。

3󰀂基于Linux的VPN安全网关的实现

3.1VPN安全网关系统的总体框架

3.1.1总体框架

VPN网关系统从软件结构上分为应用层模块和内核层模块,运行在应用层的软件模块有:SAD手工注入接口模块和密钥管理程序模块;运行在内核层的软件模块有IPSEC处理模块(包括策略管󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂基于Linux的VPN安全网关的研究󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂󰀂第33卷44

Linux操作系统提供了很好的模块化的内核实现,并且具有很好的可读性,便于在其上进行改造和二次开发。我们的VPN网关的IPSEC协议的实现是将IPSEC模块和Linux操作系统的内核源代码一起编译,生成一个新的Linux操作系统内核,这样,IPSEC处理模块就存在于操作系统的内核映像当中了,随着Linux的启动,自动随着操作系统的内核初始化过程加载进入内存。3.2.2基于Linux操作系统的定制

对于IPSECVPN网关来说,制作操作系统的过程就是对现有的网关的操作系统进行功能定制、系统裁剪,最后在另一个存储设备(硬盘或者其它的启动设备)上生成一个新的更精炼的Linux操作系统,并作为安全网关的外部存储设备和操作系统设备。

制作微操作系统的过程主要分为三个大的步骤:生成Linux新内核、创建微操作系统的根文件系统、生成系统盘BOOTDISK。3.3本系统方案的创新点

(1)无缝嵌入操作系统。直接关系到操作系统内核的IP层加密和认证技术,分析和修改操作系统内核的源代码,将安全模块无缝地嵌入到操作系统,重构操作系统内核。

(2)VPN网关操作系统是基于Linux操作系统定制的专用微操作系统,具有良好的运行特性、

[2]

精炼、体积小和运行速度快等优点。

(3)针对网关的特点,在IP层的基础上添加了防火墙模块和NAT模块,并将其无缝整合到网络内核,提高了网关的吞吐量和系统的安全性。

(4)该安全网关结合防火墙功能于一体,包过滤功能较强,既可以做到所有的IP包的允许和禁止,也可以实现ICMP包和传输层的TCP、UDP包的过滤,VPN功能实现了机密性、认证和完整性检查。

4󰀂结束语

通过对传统实施方案的分析,本着高效、安全的原则提出了一个基于Linux的VPN安全网关的解决方案,即在IPSEC模块的基础上添加了防火墙模块和网络地址转换模块,集网关和防火墙于一体,提高了网关的吞吐量和系统的安全性。

参考文献

[1]CarltonR.Davis著,周永彬,冯登国,徐震,李德全等译.IPSEC:VPN的安全实施[M].清华大学出版社,2002[2]陈莉君著.Linux操作系统内核分析[M].人民邮电出版社,2000

[3]戴宗坤,唐三平.VPN与网络安全[M].电子工业出版社,2002

[4]GleanHerrin.LinuxIPNetworking-AGuidetotheIm󰀁plementationandModificationoftheLinuxProtocolStack[M].2000,5

(上接第33页)

串联,这对仿真结果影响较大。

参考文献

[1]王正中.现代计算机仿真技术及其应用[M].北京:国

防工业出版社,1991

[2]AbrahamIPressman.SwitchingPowerSupplyDesign

[M].NewYork:McGraw-Hill,1991

[3]王留芳.电流型双端反激式开关电源的研究[D].南京:东南大学,1999

[4]RaymondSRamshaw,DereckCSchuurmann.PSPICESimulationofPowerElectrioncsCircuits[M].London:ChapmanandHall,1997

因篇幅问题不能全部显示,请点此查看更多更全内容