分享
 
 
 

利用IKE构建企业虚拟网(一)

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

目前,互联网通信面临的风险主要包括两个方面:1.信息在传输时被偷看或非法修改;2.公网对内部网的非法访问和攻击。在这样的情况下,VPN技术脱颖而出,它可以很好地解决利用互联网传输的安全问题。

IPSec是被广泛接受用来实现VPN的技术,在企业中得到广泛应用。IPSec在IP层上对数据包进行保护,它可提供数据源验证、无连接数据完整性、数据机密性、抗重播和有限业务流机密性等安全服务,可以在相当程度上降低互联网通信的风险。

IKE(Internet Key Exchange)是IPSec中至关重要的一个协议,因为IPSec需要使用它协商某些与IPSec安全有关的安全参数,包括计算机信任、加密密钥和安全方法。IKE的主要功能就是安全联盟(SA)的建立和维护。

本文主要从IPSec及IKE简介、Linux VPN运行环境组建和IKE配置等三个方面进行描述,并给出利用IKE构建VPN应用的实例。

IPSec及IKE简介

1.IPSec简介

IPSec协议由一组协议组成,其中包括AH、ESP、IKE及加密和验证算法。ESP用于确保IP数据包的机密性(未被别人看过)、数据的完整性及对数据源的身份验证。此外,它还要负责对重播攻击的抵抗。AH也提供了数据完整性、数据源验证及抗重播攻击的能力,但不能用它来保证数据的机密性。

IPSec的安全服务是由通信双方建立的安全联盟(SA)来提供的。SA表示了策略实施的具体细节,包括源/目的地址、应用协议、SPI(安全策略索引)、所用算法/密钥/长度,它们决定了用来保护数据安全的IPSec协议、模式、算法/密钥、生存期、抗重播窗口及计数器等。

每一个IPSec节点都包含有一个安全策略库(SPD)。SPD决定了整个VPN的安全需求。在SPD这个数据库中,每个条目都定义了要保护的是什么通信、怎样保护它,以及和谁共享这种保护。IPSec系统在处理输入/输出IP流时必须参考该策略库,并根据从SPD中提取的策略对IP流进行不同的处理:拒绝、绕过或进行IPSec保护。

IPSec协议(包括AH和ESP)有传输模式和通道模式两种工作模式。传输模式用来保护上层协议;而通道模式用来保护整个IP数据报。在传输模式中,IP头与上层协议头之间需插入一个特殊的IPSec头;而在通道模式中,要保护的整个IP包都需封装到另一个IP数据报里,同时在外部与内部IP头之间插入一个IPSec头。

2.IKE简介

用IPSec保护一个IP包之前,必须先建立一个SA。IKE用于动态建立SA。IKE代表IPSec对SA进行协商,并对SADB和SPD数据库进行填充。

IKE利用PF_KEY接口与内核进行交互,以便更新内核的SPD和SADB。SADB是一个存在于内核中的逻辑实体,用来存储、更新、删除安全协议的安全联盟数据。安全协议(如IPSec)利用内核中的逻辑接口来请求和获取SA。

IKE规定了协商的两个独立阶段。第一阶段目的是通信各方彼此间建立一个通过身份验证和安全保护的通道IKE SA。对该阶段来说,IKE采用的是身份保护交换,以及根据基本ISAKMP文档制定的野蛮交换法,即“主模式”和“野蛮模式”。它们各自做的都是建立一个保密和验证无误的通信信道(IKE SA),并建立验证过的密钥,为双方的IKE通信提供机密性、消息完整性及消息源验证服务。

IKE SA提供了各种各样的参数,这些参数称为“保护套件”,包括加密算法、散列算法、验证方法及Diffie-Hellman组。还有一些可选属性,它们可作为保护套件的一部分进行协商。在这些可选属性之前,必须加上一个“存活时间”(有效期)。

对第二阶段来说,IKE定义了一种快速模式交换。在第一阶段建立IKE SA后,就可以利用它加密地进行IPSec SA的参数协商,如加密算法、验证算法、密钥和存活时间等。

Linux VPN运行环境组建

1.升级到内核2.6.0

目前发行的各种Linux版本基本都是采用2.4.x内核,Linux VPN实现大都采用Freeswan软件。现在2.6.0内核的协议栈嵌入了IPSec处理代码,将内核升级到2.6.0,可以利用其固有的IPSec功能。本文描述的Linux VPN实现基于Red Hat 9.0。

介绍如何将内核升级到2.6.0的文章较多,这里仅简单列出升级内核的基本步骤。

(1)首先从www.kernel.org网站下载2.6.0内核,将它放到/usr/src目录下。

(2)将内核源码释放到/usr/src/目录下。

#tar -zxvf linux-2.6.0.tar.gz

#cd linux-2.6.0

#make mrproper

#make menuconfig

注意,为了保证与内核2.4.x中文件系统兼容,必须将文件系统ext3改为必选项。并在网络选项中选择以下四项,使系统内核能够支持IPSec。

<* PF_KEY sockets

<* IP: AH transformation

<* IP: ESP transformation

<* IP: IPComp transformation

重新使用内核2.6.0启动系统。

#make; make bzImage

#make modules; make modules_install

#make install

(3)安装IPSec手工配置工具。

从http://ipsec-tools.sourceforge.net/下载源码ipsec-tools-0.2.2.tar.gz,按照帮助文件提示进行编译。

#./configure

#make; make install

这样有了应用程序sekey,就可用它手工配置SPD和SA。

ipsec-tools自带的IKE进程racoon运行时不能自动执行通道模式下的协商过程,必须由内核发起SA请求来触发,所以必须事前手工输入安全策略。这给VPN应用带来了很大不便,因此这里将采用后文描述的isakmpd进程。

2.安装IKE相关应用程序

本文介绍的IKE支持预共享密钥和X.509两种认证模式。为了支持X.509证书认证,必须首先安装keynotes。

安装keynotes的步骤如下:

(1)从 http://www1.cs.columbia.edu/~angelos/keynote.html获取源码keynote.tar。

(2)将其解压并编译。

#tar -xvf keynote.tar

#./configure

#make

注意,编译isakmpd时,需要keynotes的文件头和库libkeynotes.a。

现在可以安装isakmpd了。isakmpd最早运行在OpenBSD上,由Thomas Walpuski将其移植到Linux平台,所以在源码里会看到OpenBSD的痕迹。

安装isakmpd的步骤如下:

(1)从http://bender.thinknerd.de/~thomas/IPsec/isakmpd-linux.html获取源码isakmpd.tgz。

(2)解压缩并编译。

#tar -zxvf isakmpd.tzg

修改文件GNUmakefile,将OS改为Linux。

修改文件isakmpd/sysdep/linux/GNUmakefile.sysdep,将内核2.6.0和keynotes的头文件加入编译路径。

#make

(3)装备运行目录。

#mkdir /etc/isakmpd

存放配置文件和策略文件。

#mkdir /etc/isakmpd/ca

存放CA X.509证书。

#mkdir /etc/isakmpd/certs

存放本机和其它主机X.509证书。

#mkdir /etc/isakmpd/private

存放本机的私钥。

#cp isakmpd /usr/sbin/.

至此,支持IPSec和IKE的Linux运行环境组建完成。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有