欢迎光临小豌豆知识网!
当前位置:首页 > 物理技术 > 教育印鉴> 实训靶场课程场景的快速切换系统与方法独创技术18339字

实训靶场课程场景的快速切换系统与方法

2021-02-19 09:41:46

实训靶场课程场景的快速切换系统与方法

  技术领域

  本发明涉及一种实训靶场课程场景的快速切换系统与方法,属于网络技术领域

  背景技术

  实训靶场,是集“学、练、测、评”一体化的网络安全实战训练平台。提供多类精品课程和海量练习资源,通过大数据精准分析,形成完整的人才能力评价体系,学员通过体系化的学习可快速提高安全技能,是各行业网络安全人才培养的“黄埔军校”。实训靶场通过设计各种丰富的课程场景使学员可以通过实践与课程理论相结合,更充分得掌握各种安全课程内容。

  实训靶场的部署图如图1所示。目前实训靶场课程场景切换的流程是:首先教师根据授课进度设定课程人数启动选定的课程场景。课程场景为一组网络拓扑信息,由网络节点、靶机节点、操作机节点、路由器节点组成。控制节点接收到课程场景信息,根据课程场景信息创建虚拟机、网络、路由器、端口,虚拟机对应靶机节点、操作机节点、网络对应网络节点、路由器对应路由器节点,端口负责将虚拟机、路由器连接到网络,完成课程场景的创建。然后教师和学员根据分配的操作机的IP通过SSH接入分配的操作机,教师指导学员进行课程实验。随着授课进度的推进,需要更换课程场景。为了保证新课程场景的资源,教师需要关闭原课程场景,控制节点接收到原课程场景关闭指令,对场景中的网络及虚拟机进行回收。教师再开启新课程场景,控制节点接收到新课程场景启动指令,根据新课程场景信息创建场景。最后课程结束,教师关闭场景,控制节点接收到关闭场景指令,对所有资源进行回收。

  现有实训靶场课程场景切换的方式主要存在如下两个问题,一是对于复杂的课程场景切换导致的原场景回收及新场景创建耗时较长,影响课程正常授课进度;二是课程场景切换导致教师和学员接入操作机的变更,无法保留操作记录。

  发明内容

  发明目的:针对上述现有技术存在的问题,本发明的目的在于提供一种实训靶场课程场景的快速切换系统与方法,以便老师在课堂中可以更快速地切换课程场景,更有效提高课堂质量,同时在一定程度上能保证学生、老师在操作机上的操作的可延续性。

  技术方案:为实现上述发明目的,本发明所述的一种实训靶场课程场景的快速切换系统,包括:场景合并模块,用于将多个局部课程场景进行合并生成全局课程场景,并生成全局课程场景状态表;所述局部课程场景为一组网络拓扑信息,包括网络节点、靶机节点、操作机节点和路由器节点;其中网络节点包含所配网段的网络地址,靶机节点和操作机节点包含镜像特征信息、连接网络节点信息、网络配置和资源配置信息,路由器节点包含路由表配置、连接网络节点信息和网络配置;对局部课程场景进行合并是将不同局部课程场景中可以合并的同种类的节点分别进行合并,所述全局课程场景状态表用于记录各局部课程场景与经合并处理后的所有靶机节点、路由器节点、操作机节点、网络节点、端口和路由表配置信息的对应关系; 所述端口用于将靶机节点、路由器节点、操作机节点与对应的网络节点进行连接,端口信息包括MAC地址及IP地址;

  以及,场景管理模块,用于在首次需要生成局部课程场景时,根据全局课程场景状态表生成所有的网络节点、路由器节点和端口,对局部课程场景非需要的端口进行禁用,生成局部课程场景需要的靶机节点及操作机节点;以及在切换局部课程场景时,根据全局课程场景状态表启用新局部课程场景需要的端口,并禁用新局部课程场景不需要的端口;计算需要新启动的操作机节点及靶机节点的资源配置额度,从新局部课程场景不需要的靶机节点及操作机节点根据合并节点数少优先休眠的原则进行休眠;对新局部课程场景需要的靶机节点及操作机节点进行生成或解除休眠。

  作为优选,不同局部课程场景靶机节点/操作机节点的合并条件是:当靶机节点/操作机节点满足镜像可合并、资源配置可合并两个条件时认定两个靶机节点/操作机节点可以合并,其中镜像可合并是指两个靶机节点/操作机节点的镜像的特征信息可以被镜像库中的某个镜像所包含,资源配置可合并是指两个靶机节点/操作机节点要求的两套资源配置可以被一套配置所包含。

  作为优选,不同局部课程场景网络节点的合并条件是网络地址相同。

  作为优选,不同局部课程场景路由器节点的合并方式是直接合并,合并后的路由器节点数是局部课程场景中最大数量的路由器节点数。

  作为优选,所述场景管理模块在空闲时间,对当前局部课程场景非需要的靶机节点及操作机节点根据合并节点数多优先缓存的原则进行生成,同时保证资源配置不会超出平台限额。

  作为优选,所述场景合并模块采用二分图最大匹配算法确定不同局部课程场景中靶机节点/操作机节点的合并方案。

  基于相同的发明构思,本发明所述的一种实训靶场课程场景的快速切换方法,包括如下步骤:

  步骤1:将接收到的多个局部课程场景进行合并生成全局课程场景,并生成全局课程场景状态表;所述局部课程场景为一组网络拓扑信息,包括网络节点、靶机节点、操作机节点和路由器节点;其中网络节点包含所配网段的网络地址,靶机节点和操作机节点包含镜像特征信息、连接网络节点信息、网络配置和资源配置信息,路由器节点包含路由表配置、连接网络节点信息和网络配置;对局部课程场景进行合并是将不同局部课程场景中可以合并的同种类的节点分别进行合并,所述全局课程场景状态表用于记录各局部课程场景与经合并处理后的所有靶机节点、路由器节点、操作机节点、网络节点、端口和路由表配置信息的对应关系; 所述端口用于将靶机节点、路由器节点、操作机节点与对应的网络节点进行连接,端口信息包括MAC地址及IP地址;

  步骤2:在首次接收到生成局部课程场景指令时,根据全局课程场景状态表生成所有的网络节点、路由器节点和端口,对局部课程场景非需要的端口进行禁用,生成局部课程场景需要的靶机节点及操作机节点;

  步骤3:在接收到切换局部课程场景指令时,根据全局课程场景状态表启用新局部课程场景需要的端口,并禁用新局部课程场景不需要的端口;计算需要新启动的操作机节点及靶机节点的资源配置额度,从新局部课程场景不需要的靶机节点及操作机节点根据合并节点数少优先休眠的原则进行休眠;对新局部课程场景需要的靶机节点及操作机节点进行生成或解除休眠。

  有益效果:本发明设计了场景合并模块,对课堂使用的课程场景元素进行合并生成全局课程场景状态表;场景管理模块根据全局课程场景状态表生成不同课程场景,根据合并节点数量多优先原则预先运行当前课程场景非需要的靶机节点及操作机节点,通过对网络端口的启用和释放来隔离当前课程场景及缓存的课程场景。本发明使得课堂中老师可以更快速地切换课程场景,更有效提高课堂质量;并且操作机在不同课程场景下的共用和不可共用下的休眠恢复机制很好保证了学生、老师在操作机上的操作的可延续性。

  附图说明

  图1为现有实训靶场的部署图。

  图2为本发明实施例在实训靶场中应用的结构示意图。

  具体实施方式

  下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅只是本发明的一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的其他所有实施例,都属于本发明保护的范围。

  如图2所示,本发明实施例公开的一种实训靶场课程场景的快速切换系统,主要包括场景合并模块和场景管理模块。其中,场景合并模块,用于将多个局部课程场景进行合并生成全局课程场景,并生成全局课程场景状态表;局部课程场景为一组网络拓扑信息,包括网络节点、靶机节点、操作机节点和路由器节点,对局部课程场景进行合并是将不同局部课程场景中可以合并的同种类的节点分别进行合并,全局课程场景状态表用于记录各局部课程场景与经合并处理后的所有靶机节点、路由器节点、操作机节点、网络节点、端口和路由表配置信息的对应关系;其中端口隶属于网络节点,用于将靶机节点、路由器节点、操作机节点与对应的网络节点进行连接,端口信息包括MAC地址及IP地址。

  场景管理模块,用于在首次需要生成局部课程场景时,根据全局课程场景状态表生成所有的网络节点、路由器节点和端口,对局部课程场景非需要的端口进行禁用,生成局部课程场景需要的靶机节点及操作机节点;以及在切换局部课程场景时,根据全局课程场景状态表启用新局部课程场景需要的端口,并禁用新局部课程场景不需要的端口;计算需要新启动的操作机节点及靶机节点的资源配置额度,从新局部课程场景不需要的靶机节点及操作机节点根据合并节点数少优先休眠的原则进行休眠;对新局部课程场景需要的靶机节点及操作机节点进行生成或解除休眠。

  基于相同的发明构思,本发明实施例公开的一种实训靶场课程场景的快速切换方法,包括如下步骤:

  步骤1:将接收到的多个局部课程场景进行合并生成全局课程场景,并生成全局课程场景状态表;

  步骤2:在首次接收到生成局部课程场景指令时,根据全局课程场景状态表生成所有的网络节点、路由器节点和端口,对局部课程场景非需要的端口进行禁用,生成局部课程场景需要的靶机节点及操作机节点;

  步骤3:在接收到切换局部课程场景指令时,根据全局课程场景状态表启用新局部课程场景需要的端口,并禁用新局部课程场景不需要的端口;计算需要新启动的操作机节点及靶机节点的资源配置额度,从新局部课程场景不需要的靶机节点及操作机节点根据合并节点数少优先休眠的原则进行休眠;对新局部课程场景需要的靶机节点及操作机节点进行生成或解除休眠。

  结合具体应用场景,采用本发明的实训靶场课程场景切换的流程如下:

  (1)教师选定课程人数及课堂需要使用的所有课程场景及当前需要使用的课程场景。课程场景为一组网络拓扑信息,由网络节点(包含所配网段的网络地址)、靶机节点(包含镜像特征信息、连接网络节点信息、网络配置、资源配置信息)、操作机节点(包含镜像特征信息、连接网络节点信息、网络配置、资源配置信息)、路由器节点(包含路由表配置、连接网络节点信息、网络配置)组成。

  (2)控制节点接收到多个课程场景信息,由控制节点内的场景合并模块对课程场景进行合并成全局课程场景,每个课程场景作为全局课程场景的局部课程场景。

  (3)对课程场景的元素进行编号。对课程场景内的网络节点、靶机节点、操作机节点、路由器节点进行编号,如课程场景编号:CJ1、CJ2,靶机节点编号:CJ1-B1、CJ1-B2、CJ2-B1、CJ2-B2,路由器节点编号:CJ1-R1、CJ1-R2、CJ2-R1、CJ2-R2,网络节点编号:CJ1-N1、CJ1-N2、CJ2-N1、CJ2-N2,操作机节点编号:CJ1-O1、CJ1-O2、CJ2-O1、CJ2-O2。

  (4)场景合并模块采用二分图最大匹配算法逐一对课程场景进行靶机节点合并,相同场景内的靶机节点不能合并。按靶机节点数量从多到少对课程场景排序,第一个课程场景与第二个课程场景合并,合并结果与第三个课程场景合并,以此类推将所有课程场景的所有靶机节点完成合并。当靶机节点满足镜像可合并、资源配置可合并两个条件时认定两个靶机节点可合并,镜像可合并是指两个靶机节点的镜像的特征信息可以被镜像库中的某个镜像所包含,如CJ1-B1的镜像的特征信息包含centos7、jdk1.8,CJ2-B2的镜像特征信息包含centos7、nginx1.8,镜像库中存在镜像特征信息包含centos7、jdk1.8、nginx1.8,则表示CJ1-B1与CJ2-B1满足镜像可合并;资源配置可合并是指两个靶机节点要求的两套资源配置可以被一套配置所包含,如CJ1-B1要求资源配置1核CPU/2G内存/10G硬盘,CJ2-B1要求资源配置2核CPU/1G内存/20G硬盘,则CJ1-B1与CJ2-B1资源配置可合并为2核CPU/2G内存/20G硬盘,当处于两个课程场景的靶机节点满足镜像可合并及资源配置可合并时,则两个靶机节点可合并,如上面的CJ1-B1与CJ2-B2将合并为CJ1-B1/CJ2-B1,镜像特征为centos7、jdk1.8、nginx1.8,资源配置为2核CPU/2G内存/20G硬盘。将两个课程场景的靶机节点作为二分图两边的节点,两边的节点可合并则表示可匹配,通过二分图最大匹配算法(如匈牙利算法、Hopcroft-Krap算法等)可以找到合并程度最大的合并方案,并记录合并后的靶机节点信息(包含已合并靶机节点、已合并靶机节点数、镜像特征信息、资源配置、连接网络节点信息、网络配置)。两个靶机节点的连接网络节点信息和网络配置信息的合并方式是直接取并集。具体的靶机节点信息合并情况如表1所示。

  表1 靶机节点合并示例

  

  (5)场景合并模块采用二分图最大匹配算法逐一对课程场景进行网络节点合并,相同场景内的网络节点不能合并。网络节点的合并条件是网络地址相同,如CJ1-N1的网络地址为192.168.10.1/24,CJ2-N1的网络地址为192.168.10.1/24,则可以合并为CJ1-N1/CJ2-N1。

  (6)场景合并模块对路由器节点直接合并,以子场景内中最大数量的路由器节点数作为合并后场景的路由器节点数量即可,并记录合并后的路由器节点信息(包含路由表配置、连接网络节点信息、网络配置)。具体的路由器节点信息合并情况如表2所示。

  表2 路由器节点合并示例

  

  (7)场景合并模块对操作机节点进行合并,操作机节点的合并与靶机节点合并方式相同,不同课程场景的靶机节点如果满足镜像可合并及资源配置可合并,则直接合并,并记录合并后的操作机节点信息(包含已合并操作机节点、已合并操作机节点数、镜像特征信息、资源配置、连接网络节点信息、网络配置)。

  (8)场景合并模块根据合并后的靶机节点、路由器节点、操作机节点包含的连接网络节点信息及网络配置信息,将靶机节点、路由器节点、操作机节点创建可连接到对应网络节点的端口(即虚拟网卡,隶属于网络节点、包含全局唯一的MAC地址及网络节点网段的IP地址,当靶机节点、路由器节点、操作机节点通过该端口接入网络节点时,靶机节点、路由器节点、操作机节点将同步生成虚拟网卡且网络配置与端口上的MAC地址及IP地址保持一致)信息,这些记录形成了全局课程场景的所有创建信息。

  (9)场景合并模块将全局课程场景信息整理成全局课程场景状态表,状态表格式:横轴为场景,如场景CJ1、场景CJ2等,纵轴为经过合并处理的所有靶机节点、路由器节点、操作机节点、网络节点、端口、路由表配置,内容为是否需要,由场景管理模块进行保存。具体示例如表3。

  表3 全局课程场景状态表部分示例

  

  (10)场景管理模块根据全局课程场景状态表生成所有的网络节点、路由器节点、端口,对当前课程场景非需要的端口进行禁用,生成当前课程场景需要的靶机节点及操作机节点,对非需要的靶机节点及操作机节点根据合并节点数多优先缓存的原则进行生成,同时保证资源配置不会超出平台限额。

  (11)教师和学员根据分配的操作机的IP通过SSH接入分配的操作机,教师指导学员进行课程实验。

  (12)随着授课进度的推进,需要更换课程场景,教师直接切换场景。

  (13)控制节点接收到的场景切换指令,由场景管理模块根据全局课程场景状态表启用新课程场景需要的端口,并禁用新课程场景不需要的端口;计算需要新启动的操作机节点及靶机节点的资源配置额度,从新课程场景不需要的靶机节点及操作机节点根据合并节点数少优先休眠的原则进行休眠;对新课程场景需要的靶机节点及操作机节点进行生成或解除休眠,已运行的继续保持即可。

  (14)课程结束,教师关闭场景,控制节点接收到关闭场景指令,对所有资源进行回收。

《实训靶场课程场景的快速切换系统与方法.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)