基于PVE的中职网络攻防技术课程云实训平台的设计与实现

2021-04-20 13:48高安邦
广东教育·职教版 2021年3期
关键词:靶机攻击机IP地址

高安邦

一、引言

随着信息技术的发展,互联网已经渗透到我们社会生活的方方面面。互联网在给我们的工作、生活带来便利的同时,网络空间安全的形势也越来越严峻。尤其是最近几年,网络安全事件层出不穷,例如2013年的斯诺登事件、2017年的Wannacry勒索病毒,等等。这些网络安全事件给我们的隐私安全、社会安全带来了极大的威胁,同时也给我们的网络空间安全教育敲响了警钟。习近平总书记在2018年4月21日全国网络安全和信息化工作会议上指出,没有网络安全就没有国家安全,就没有经济社会稳定运行,广大人民群众利益也难以得到保障。2018年4月,教育部公布最新《学位授予和人才培养学科目录》增设“网络空间安全”一级学科。在此基础上,很多大学增设了网络空间安全学院,网络空间安全人才培养体系逐步完善,网络安全人才培养方兴未艾。

中职网络安全教育起步晚,基础薄弱,面临着教学内容繁復、实验条件缺乏等现实问题。中职网络攻防技术课程的主要内容涵盖:操作系统渗透测试及加固(Windows操作系统渗透测试及加固、Linux操作系统渗透测试及加固等)、Web应用渗透测试及加固(SQL注入、命令注入、文件上传等漏洞渗透测试及加固)、BT5和KaliLinux系统常见工具的使用等。在课程实训过程中,学生需要使用到WindowsXP、Windows2003、Windows7、Windows2008R2等Windows系列的操作系统,以及BackTrack5、Kali Linux、ubuntu、CentOS等Linux系列的操作系统。

相比于网络攻防技术课程对实训环境的较高要求,我们当前的单机实训方式已经显露出了很多缺陷和不足。然而,要购买公司全套安全产品建立网络安全实训室花费巨大(100万元左右)。基于以上原因,我们引入Proxmox VE(下文简称PVE)开源云计算平台,利用学校闲置计算资源,为网络攻防技术课程提供虚拟化实训环境,并探索该实训环境在网络攻防技术课程实训中的应用模式和应用策略,进而评价这种应用模式的效用,更好地变革我们的课程和实训模式。

本文从系统架构设计、系统实现、系统应用实践等角度分析了使用开源云计算系统ProxmoxVE搭建中职网络攻防技术课程云实训平台的必要性、可行性和效用性,对于解决当前中职学校网络攻防技术课程实训环境缺乏提供了一种可供借鉴的解决方案。

二、概念界定

1.PVE

PVE的全称为Proxmox Virtual Environment。它是一款完全开源的虚拟化和云计算平台,基于Debian Linux开发,涵盖了基于内核的虚拟机(KVM)和基于容器的虚拟化(LXC)两种虚拟化技术。PVE采用Web界面进行管理,不需要额外安装客户端程序就能够对虚拟化环境进行很好的管理。它具有以下优势:开源软件,无需购买;基于Linux内核,运行高效;支持多种硬件平台;快速安装和易于使用;基于Web管理界面;有社区支持;管理成本低,部署简单等特点。PVE在生产环境下的使用和部署丝毫不逊于VMware公司的VMware vSphere。

2.云实训

云实训,顾名思义是在云端开展实训,即通过云计算技术支持的环境进行实训学习。换句话说这是一种采用虚拟化和云计算技术为基础搭建起来的以支持学生学习与实训为目的的虚拟实训环境。相较于传统机房单机的实训环境,云实训只需要在有网络连接的环境下,登录浏览器就可以进入实训环境,因而具有安全便捷、突破时空等突出优点。

三、云平台系统架构

1.系统网络拓扑设计

我们采用3台普通台式机、1台惠普服务器以及1台千兆交换机完成整个系统的搭建,其网络拓扑图如图1所示。

其中3台主机安装PVE系统作为PVE服务器,构成PVE集群。惠普服务器安装Centos系统作为NFS服务器为PVE提供共享存储,用于存放虚拟机文件。1台物理交换机用于连接主机和校园网,提供在校园网环境下对云实训平台的访问和管理。虚拟交换机是PVE集群提供的用于在虚拟主机(包括KVM和LXC主机)之间提供通信连接的虚拟设备。值得一提的是,我们可以通过对虚拟交换机的设置决定一台虚拟机是否可以跟校园网直接通信。该功能能够为我们提供一个隔离的实训环境,方便我们做一些具有破坏性的攻防实验,相关设备的配置如表1所示。

2.系统IP规划

本系统中,3台PVE服务器和1台NFS存储服务器的IP地址采用校园统一分配的IP地址,以保证能够跟校园网互通,方便学生在校园任意机房都可以访问云实训平台。KVM虚拟机和LXC容器采用单独的IP地址规划,拟采用172.16.1.0/24(共计254个IP地址,并配置一台DHCP服务器用于分配IP地址,后期如果IP地址不够,可重新规划),具体的IP地址规划如表2所示。

四、攻击机和靶机设置

1.攻击机配置

基于PVE的云实训平台搭建完成之后,为了开展网络攻防实验,我们还需要准备好攻击机和靶机的模板。为了降低大量虚拟机运行对资源的消耗,我们的攻击机以PVE官网下载的Debian10的LXC镜像为基础,自行添加渗透测试工具。基于Debian10的LXC镜像仅有225MB大小,创建虚拟机之后仅需分配512MB的内存就可以流畅运行。此外,LXC虚拟机启动速度特别快,仅需几秒钟的时间就可以完成启动,大大降低了学生开启虚拟机所需要的等待时间。

网络攻防实验中可以选用的工具特别多,我们选取了其中比较经典的几款软件安装到Debian虚拟机,这些软件包括:nmap、p0f、arping、fping、hping3、ncat、nikto、sqlmap、crunch、medusa、ncrack、hydra、metasploit、weevely等。

攻击机配置完成之后,我们将该虚拟机转化成模板,然后使用shell脚本批量克隆略大于学生数量的虚拟机,使用的代码如表3所示。

另外,我们还可以下载专门的渗透测试操作系统,通过创建KVM虚拟机的方式制备攻击机模板,这些系统包括:KaliLinux、BT5、BlackArch、ParrotOS等。

2.靶机配置

网络攻防技术云平台的靶机资源主要有两种類型:Windows虚拟机和Linux虚拟机。Windows虚拟机的制备相对比较麻烦,Windows的系统版本包括Windows2000、WindowsXP、Windows2003和Windows7。这些系统安装完成之后需要关闭防火墙,无需安装安全补丁。此外,我们还要人为安装部署一些漏洞软件和网站。例如,我们在WindowsXP虚拟机上安装了office、flash、phpstudy、IE6、Serv-U等具有已知漏洞的软件,部署了DVWA、pikachu、wordpress、joomla等带有已知漏洞的渗透测试网站。

对于Linux系统,我们选用了业界比较出名的Metasploitable2作为渗透测试平台,该平台集成了弱口令、Samba、vsFTpd、PHP CGI、Druby等软件漏洞,以及几个Web渗透测试网站,如Mutillidae、DVWA、TWiki等。这里需要特别说明的是,Metasploitable2是以VMWare虚拟机的方式发行的,我们从网上下载打包文件,导入VMWare软件即可直接使用。但是如果需要将该文件导入PVE平台,我们首先需要从VMWare导出该虚拟机的OVF格式文件,然后使用UltraISO制备出该文件的iso文件,再利用PVE的web界面上传到PVE服务器,并最终使用qmimportovf命令还原成PVE平台的虚拟机。

五、云实训平台的应用

在完成了PVE云实训平台的搭建之后,我们可以使用自己创建的攻击机和靶机完成相应的渗透测试实验。PVE云实训平台除了可以支持单个学生自主训练网络攻防实验之外,还可以支持夺旗(CTF)、混战等相关实验。通过多种形式的攻防实训,不仅为学生提供了接近真实情形的训练环境,同时也增加了实训课程的趣味性。

测试发现,在同时提供100台Linux攻击机、100台WindowsXP靶机的实战场景下,PVE服务器集群的资源消耗分别为:CPU(41%)、内存(45%)、存储(6%)。其中100台攻击机使用的是LXC模板,每台给定内存为512MB,经测试可以流畅使用;100台WindowsXP虚拟机给定内存也是512MB,由于是作为靶机,只需要正常开机就可以了,不需要进行操作。因此,本云实训平台不仅可以满足两个班(每班50人)同时上课,还具有很大的扩展空间。经测试发现,本云实训平台能够有效支持学生开展网络攻防技术课程的相关实验条件,满足学生单兵作战、夺旗、混战等多种实训场景,其可行性、适用性和效用性符合预期。

责任编辑 何丽华

猜你喜欢
靶机攻击机IP地址
F117F攻击机
F/A-18战斗攻击机
高速像真无人靶机
靶机
《IP地址及其管理》教学设计
计算机的网络身份IP地址
轻松明白网络IP地址以及子网划分问题
“美洲虎”攻击机