文淑华,闫超阳,罗绪成,王瑞锦,朱相印,何中海,张萌洁,张 翔
基于云桌面的IPSec VPN实验设计
文淑华,闫超阳,罗绪成,王瑞锦,朱相印,何中海,张萌洁,张 翔
(电子科技大学 信息与软件工程学院,四川 成都 610054)
原有的实验环境要求学生自己搭建,实验环境的复杂导致花费不少时间,影响实验核心知识的掌握。使用云桌面技术来准备好实验环境,让学生直接进入核心实验步骤的操作。以IPSecVPN实验设计为例,阐述从云桌面的组网配置到IPSec的协议套件的配置的全过程,全面演示基于云桌面的网络安全协议实验的实施过程,对将云桌面技术应用到网络安全协议实验中去起到抛砖引玉的作用。
网络安全协议;IPSec VPN;云桌面
云桌面技术[1-4]又称为虚拟桌面[5-6]或者桌面云技术,它能够在服务器端运行操作系统或执行客户提交的相关任务来满足非本地客户的计算机远程桌面需求。客户可以通过用户端本地的浏览器或专门的应用程序向云桌面发送执行任务请求,而服务器端则根据用户任务请求在数据中心服务器端上运行相关操作系统或应用进程,完成对应的相关任务,并实时将云桌面的状态进行反馈与更新。云桌面技术有如下特点:
(1)采用云桌面进行实验课程管理有助于教师及时发现学生在实验过程中所遇到的问题,从而根据学生实验情况对教学计划作出针对性的调整;
(2)主要存储与处理过程在云桌面平台的服务器上实现,对物理主机的CPU、内存等资源消耗较少,对实验使用的物理主机性能要求容易达到;
(3)在教师完成实验环境配置后,学生可以通过登录自己的云桌面账号直接进行实验,减少了在与实验内容关系不大的步骤上所消耗的时间;
(4)操作界面简洁易用,且对实际物理实施环境有着较好的还原与仿真度,且功能覆盖面广,易于综合性实验的设计与实现。
IPSec VPN[7-9]综合型实验所联系的相关课程内容主要为IPSec协议套。该实验内容包括搭建基于虚拟机的IPSec VPN实验环境和配置基于预共享密钥[10-11]的IPSec的VPN,通过该实验让学生掌握基于IPSec的VPN中网关到网关的配置,并通过对抓取的数据包的分析,进一步理解IPSec协议套。模拟场景中处于不同网段的节点A与D不能进行网络连接与数据交互,其网络拓扑图如图1所示。
图1 A与D之间的网络关系拓扑图
由图1可知,A和D配置有1个网卡,而B和C配置有2个网卡。其中A的以太网0号网卡与B的以太网1号网卡在一个网段,B的以太网0号网卡与C的以太网0号网卡位于一个网段,C的以太网1号网卡与D的以太网0号网卡在同一个网段。不同网段的节点不能进行通信。IPSec VPN将B与C分别作为两个不同网段的网关,A与D则作为位于不同子网的用户。在配置VPN时,在A与D之间建立IPSec隧道,便可以使得A、D实现相互通信连接。
IPSec协议套包括多个安全协议,IPSec 在网络层上为不同地址间的安全通信提供了一个开放的标准,在网络层保证了通信过程中数据的可靠性、机密性、完整性。其中比较重要的有RFC2409 IKE(Internet Key Exchange)互联网密钥交换、RFC2401 IPSec协议、RFC2402 AH验证包头、RFC2406 ESP封装安全载荷等协议[12-13]。IPSec的密码学套件选择比较灵活,使用者可以根据自身情况选择不同的密码套件与加密方式。
IPSec协议套包括AH(认证头)协议,ESP(封装安全载荷)协议和IKE协议。AH为IP数据包提供无连接的数据完整性和数据源认证,数据完整性通过消息认证码(如MD5、SHA1)产生的校验值来保证;数据源认证通过在待认证的数据中加入一个共享密钥来实现。ESP为IP数据包提供数据的保密性(通过加密机制)、无连接的数据完整性、数据源认证以及防重放攻击[14-15]保护。AH和ESP可以根据需求的不同选择不同使用方式,通过对AH与ESP的选用配置不同的协议安全机制。密钥管理包括IKE协议和安全关联SA等部分。SA会把IKE密钥协商的结果(即IKE在通信双方之间建立安全关联,提供密钥确定、密钥管理机制,最终产生并交换的密钥素材与协商好的IPSec参数)保留下来,用于AH与ESP通信。
本地主机为Windows XP系统,并已安装Firefox浏览器,通过Firefox浏览器访问云桌面,并提前对云桌面进行相关配置,以满足学生实验要求。
教师需要提前登录云桌面教师账号,在学校的云桌面平台上完成对实验环境和场景的如下配置:
(1)将实验教学使用的实验指导书和实验讲义上传到云桌面的教学网盘中,用于共享给学生学习使用,学生只需要在远程桌面中下载使用;
(2)为学生分配账号,并设置账号的个人信息、权限以及访问控制等;
(3)创建IPSec VPN实验场景,创建新虚拟机A(Ubuntu),并克隆该虚拟机产生B和C,创建虚拟机D(Windows)。
学生在进行实验过程中,需要使用的工具包括Strongswan[16](用于实现IPSec的IKEv1和IKEv2)、tcpdump[17](用于网络抓包)和wireshark[18](用于对tcpdump的抓包得到的pcap文件进行分析)。
根据图1的网络拓扑图,在云桌面上进行组网操作。云桌面为学生提供可视化的组网界面,仿真度高,学生只需要拖动网络拓扑中的各个组件并连线,即可完成图1所示的拓扑结构。注意:A和D两台主机配置有单网卡,而B和C两台主机配置有双网卡,各个主机均采用Ubuntu操作系统[19]。
然后进行组网的相关配置,首先是对IP分配方式进行配置。由于IPSec的隧道模式的需要,需要把A和D的IP分配方式调整为静态IP,并设置其网关为B与C在同一网段内的IP地址。而B与C两台主机的网卡均采用DHCP的方式动态分配IP地址[20]。
由于B和C充当网关,因此还需要修改B与C中的/etc/sysctl.conf文件,使net.ipv4.ip_forward=1,打开B与C的转发功能。完成该步骤后,采用ping命令进行检查,保证任意两个位于同一网段的IP地址可以进行相互通信。完成组网步骤后如图2所示。
直接输入命令“sudo apt-get install strongswan- starter”即可。
(1)配置文件。psk的配置使用Pre-Shared-Key进行认证。这个预先设置好的key放在ipsec.secrets中。
图2 在云桌面上组网
①配置网关B。只需要把https://www.strongswan. org/testing/testresults/ikev1/net2net-psk/index.html上所提供的moon的ipsec.conf、ipsec.secrets和strongswan. conf 3个配置文件分别放到网关B的/etc/ipsec.conf、/etc/ipsec.conf和/etc/strongswan.conf的位置即可。
②配置网关C。同B,不过这次采用的是sun的配置文件。
③对B和C的strongswan.conf配置文件。里面要添加openssl支持,文件里没有openssl,这个是用来支持所需的密码算法。
(2)启动。启动之前,A与D分别在不同的子网下,可以先测试一下,预期结果为A不能ping通D主机。
①B主机启动ipsec,输入命令sudo ipsec start。
②C主机启动tcpdump,输入命令tcpdump -i ens33 -w ikev1-sun-capture.pcap,这里的ens33 是要监听的网卡,也就是IP为192.168.0.2的网卡。保存为拓展名为pcap的数据包,可以放到windows平台的wireshark进行分析。
③节点C运行ipsec,C主机重新打开一个新的终端,然后输入命令:sudo ipsec start或sudo ipsec restart,启动/重启StrongSwan。
④C主机打开名为net-net的链接,输入命令sudo ipsec up net-net,即开启名字为net-net的连接,net-net的具体配置在 ipsec.conf中。如果正常,命令过后会显示输出信息,最后一句为:connection "net-net" established successfully。表明所有配置正常。
⑤测试与分析。为了测试之前操作是否达到预期目的,用主机A去ping主机D,此时两者可以ping通。使用Wireshark对Tcpdump的抓包结果文件进行分析,说明协议的语法、语义和语序。
该步骤与5.3节中配置IKEv1的net2net-psk一致,不过配置文件有所不同。
(1)配置文件的下载网址为https://www.strongswan.org/testing/testresults/ikev2/net2net-psk/index.html。
(2)分别下载针对moon和sun节点的配置文件:ipsec.conf、ipsec.secrets、strongswan.conf,并将上述文件存储到/etc文件夹中。
(3)与IKEv1的操作过程一样,需要在strongswan.conf配置文件中添加openssl字段。
(4)在moon或者sun节点启动抓包tcpdump。比如:sudo tcpdump -i ens33 -w ikev2-moon-capture.pcap
(5)然后分别启动moon和sun的ipsec功能,如果显示connection建立成功,则从主机A去ping主机D,或者从主机A请求主机D的服务,比如访问网页。对抓包文件进行协议分析,列举出其中的关键信息。
通过对实验抓取的数据包的分析,学生可以对IPSec的语法语义有更好的理解。以下便是通过Wireshark软件抓包获取的实验结果的分析。
本实验分别采用了IKEv1和IKEv2两个版本进行配置,图3为使用IKEv1时所获取的实验结果。
图3 IKEv1下的抓包结果
图3中前6条为主模式下传输的报文,通过对这些报文内容的分析,可以知:1、2报文完成IKE SA的协商;3、4报文完成密钥交换;5、6报文完成身份认证。图3中接下来的3条为快速模式下的传输报文,使用第一阶段协商好的安全参数完成IPSec密钥协商。
学生也可以根据IKEv2下实验结果分析出IKEv2的IKE_SA_INIT,IKE_AUTH建立初始交换、CREATE_ CHILD_SA建立子SA交换以及信息交换的过程。
该实验的传统方法是让学生在物理机中下载操作系统镜像文件,及安装VMware、VisualBox等虚拟机工作站,并在上面创建新的虚拟机,该过程和实验核心理论关系较小;组网配置过程依赖于虚拟机工作站的相关功能模块,仿真度低,与实际的物理配置差距较大。使用云桌面技术来实施该实验,可以大大提升实验效率,有利于学生对核心知识的掌握。
[1] 黄国富,王海.基于SDN的高校实验室机房VDI云桌面设计[J].实验技术与管理,2018, 35(8): 243–245, 256.
[2] 王师,王成.高校云桌面与个人计算机的应用对比[J].科技创业月刊,2015, 28(4): 107–108.
[3] 熊志.云桌面技术管理多媒体教室之实践[J].计算机产品与流通,2017(10): 279.
[4] 黄金敢.高校教学环境中桌面云架构研究与实现[J].计算机技术与发展,2013, 23(12): 222–225.
[5] 林先津.桌面虚拟化技术在分布式设备管理中的研究与应用[J].实验技术与管理,2013, 30(4): 68–70.
[6] 任凤君,郑礼河,曾文玄.桌面虚拟化在高校信息化建设中的研究和实践[J].福建医科大学学报(社会科学版),2016, 17(2): 34–38.
[7] 杨礼.单机环境下GRE与IPSecVPN实验仿真与分析[J].实验室研究与探索,2018, 37(10): 142–145.
[8] 王丽娜,刘炎,何军.基于IPSec和GRE的VPN实验仿真[J].实验室研究与探索,2013, 32(9): 70–75.
[9] 仲光苹,刘金明.基于Packet Tracer的IPSec VPN实验教学设计[J].实验科学与技术,2012, 10(3): 51–53, 68.
[10] 肖跃雷,武君胜,朱志祥.基于预共享密钥的LAN安全关联方案改进与分析[J].计算机应用,2018, 38(11): 3246–3251.
[11] 张甲,程萃莘,郑辉. WIFI热点与预共享密钥安全性分析[J].信息安全与通信保密,2016(5): 100–103.
[12] 余俊丰.基于IPSec的VPN网关的体系结构设计与实现[D].武汉:华中科技大学,2005.
[13] 肖跃雷,武君胜,朱志祥.可信计算环境下的IKEv2协议扩展方案[J].微电子学与计算机,2018(12): 1–7.
[14] 费晓飞,胡捍英. IPsec协议安全性分析[J].中国安全生产科学技术,2005(6): 40–42.
[15] 李磊,陈静,张志鸿.一种FPGA上防重放攻击的远程比特流更新协议的分析改进[J].计算机科学,2013, 40(8): 149–150, 195.
[16] 蒋华,李康康,胡荣磊.一种基于strongSwan的IPSec VPN网关的实现[J].计算机应用与软件,2017, 34(7): 79–84.
[17] 朱莉,曾慧,代杰.基于Tcpdump命令网络抓包脚本工具的设计[J].指挥信息系统与技术,2011, 2(3): 53–57.
[18] 赵怡.利用Wireshark实现数据包分析的应用案例[J].电脑编程技巧与维护,2018(5): 106–108.
[19] 柴宝强,刘光明,李葆光,等.基于Ubuntu操作系统OpenStack虚拟化环境的部署[J].甘肃科技,2015, 31(23): 13–17.
[20] 邹承明,刘攀文,唐星. DHCP泛洪攻击在SDN网络中的实时防御[J/OL].计算机应用,[2018-12-21]. http://kns.cnki.net/kcms/ detail/51.1307.TP.20181203.1628.008.html.
Design of IPSec VPN experiment based on cloud desktop
WEN Shuhua, YAN Chaoyang, LUO Xucheng, WANG Ruijin, ZHU Xiangyin, HE Zhonghai, ZHANG Mengjie, ZHANG Xiang
(School of Information and Software Engineering, University of Electronic Science and Technology of China, Chengdu 610054, China)
The original experimental environment requires students to build their own environment, whose complexity needs a lot of time, and affects the mastery of the core knowledge of the experiment.It has become a hot topic recently to use cloud desktop technology to prepare the experimental environment for students to directly enter the operation of the core experimental steps. By taking the experimental design of IPSec VPN as an example, this paper expounds upon the whole process from the networking configuration of cloud desktop to the configuration of IPSec protocol suite, demonstrates comprehensively the implementation process of network security protocol experiment based on cloud desktop, and plays an important role in applying cloud desktop technology to network security protocol experiment.
network security protocols; IPSec VPN; cloud desktop
TP391.9-45
A
1002-4956(2019)07-0058-04
10.16791/j.cnki.sjg.2019.07.016
2018-12-25
教育部产学育人项目(201702178018,201702010025)
文淑华(1987—),女,湖南祁阳,硕士,实验师,研究方向为网络安全. E-mail: wensh@uestc.edu.cn