一种基于动态域名的网络靶场场景隔离接入方法与系统
文献发布时间:2024-01-17 01:13:28
技术领域
本发明涉及一种基于动态域名的网络靶场场景隔离接入方法与系统,属于网络安全技术领域。
背景技术
网络靶场是通过虚拟化技术,模拟仿真出真实网络空间攻防作战环境,能够支撑作战能力研究和武器装备验证的试验平台。为了达到上述目的,在实际的训练或验证过程中,需要对不同场景提供隔离环境,并对不同的用户提供统一的接入方式。
如图1所示,一个典型的用户接入系统至少包括如下组件,客户端VPN,VPN服务端,靶机场景、VLAN交换机、靶场调度中心。各组件功能如下:VPN客户端:该客户端由接入用户安装,必须运行安装在接入用户系统上,运行后用户接入场景网络。VPN服务端:该服务端通过网络配置对不同的客户端提供接入不同场景的功能,包括限流,场景隔离等功能,占用大量资源。VLAN交换机:构建不同的网络隔离环境。靶机场景:待接入的目标环境,不同靶机场景应提供相对应的隔离,并使分配至该场景的用户接入。靶场调度中心:启动靶场中的靶机,构建交换机中的网络环境,并将靶机分配至不同的场景。
图1所示接入系统的接入步骤包括:1、靶场调度中心启动靶机,通过VLAN交换机构建网络隔离环境,将不同的靶机接入不同的场景当中。2、服务端VPN根据预定义的规则,开启服务接入,并在客户端接入时将用户分配到不同的网络环境。3、用户开启客户端通过VPN服务端接入不同的网络隔离环境。
现有用户接入系统存在如下问题:1、需要用户安装VPN客户端,客户端需匹配用户系统环境,非常用操作系统可能无法接入。2、VPN服务端承载流量过大,并发数量较多时用户接入存在延迟缓慢问题。3、VPN服务端需要针对不同的网络靶场场景环境进行网络配置,任务繁重,操作复杂,灵活度低。4、如果直接使用端口映射的方式接入,数量较少的公网IP会导致端口扫描,不同的用户会接入不同的场景,存在安全隐患问题。5、VPN客户端无法针对网络靶场进行防作弊限制,不同用户只需要交换VPN客户端配置文件,即可接入其他场景。
发明内容
发明目的:本发明目的在于提供一种基于动态域名的网络靶场场景隔离接入方法与系统,通过将场景分配至不同的三级或以上域名进行用户动态接入,无需使用VPN客户端,无需占用公网IP,具有配置简单、易扩展、支持高并发、运维成本低、安全性高等优点。
技术方案:为实现上述发明目的,本发明采用如下技术方案:
一种基于动态域名的网络靶场场景隔离接入方法,包括:
在用户通过浏览器请求开启靶场场景或查看场景靶机地址界面时,记录用户使用的请求地址;
在靶场场景启动时,为场景中的接入靶机动态生成全局唯一的字符串,并将其作为靶机接入域名地址中的三级或以上域名;同时记录该三级或以上域名与靶机真实地址的对应关系;
将靶机的接入域名地址反馈给用户,接收用户通过域名地址接入靶机的请求,获取用户接入请求的请求地址,与记录的请求地址进行一致性校验通过后,根据域名地址中的三级或以上域名,获取到靶机真实地址,将请求的域名地址与靶机真实地址绑定,代理域名地址的访问请求。
作为优选,对于多个用户接入场景中多个靶机的情况,为场景中的每个靶机动态生成一个或多个域名。
作为优选,在用户查看场景靶机地址页面时,将用户请求的地址写入靶机允许接入地址池;在用户通过域名接入靶机时查询请求地址是否在地址池中,如果不存在则拒绝接入,存在则进行对靶机真实地址的反向代理。
作为优选,对于以组为单位接入场景中靶机的情况,为靶机生成的域名包含用户所属组的识别信息。
作为优选,动态生成的三级或以上域名采用UUID字符串,或者包含UUID的字符串。
一种基于动态域名的网络靶场场景隔离接入系统,包括:
请求地址记录模块,用于记录用户开启靶场场景或查看场景靶机地址界面时使用的请求地址;
动态域名生成模块,用于在靶场场景启动时,为场景中的接入靶机动态生成全局唯一的字符串,并将其作为靶机接入域名地址中的三级或以上域名;同时记录该三级或以上域名与靶机真实地址的对应关系;
接入代理模块,用于接收用户通过域名地址接入靶机的请求,获取用户接入请求的请求地址,与记录的请求地址进行一致性校验通过后,根据域名地址中的三级或以上域名,获取到靶机真实地址,将请求的域名地址与靶机真实地址绑定,代理域名地址的访问请求。
一种计算机系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被加载至处理器时实现所述的基于动态域名的网络靶场场景隔离接入方法的步骤。
有益效果:与现有技术相比,本发明具有如下优点:1、无需安装额外的VPN客户端程序,用户接入靶场场景更加简便。2、接入服务配置简单,统一管理,能够快速拓展功能,高并发场景下能够快速添加设备,运维成本降低。3、隐藏靶场场景真实目标地址,防止用户对平台的破坏性操作,提高了抗风险能力。4、记录用户请求地址并联合域名校验,不同用户/战队无法通过同一域名地址接入靶机,有效防止用户作弊。5、域名动态生成,随机性强,用户无法通过扫描的方式暴力接入平台。
附图说明
图1为现有接入系统结构图。
图2为本发明实施例的方法流程示意图。
图3为本发明实施例中的动态域名接入示例图。
具体实施方式
下面将结合附图和具体实施例,对本发明的技术方案进行清楚、完整的描述。
如图2所示,本发明实施例公开的一种基于动态域名的网络靶场场景隔离接入方法,在用户通过浏览器请求开启靶场场景或查看场景靶机地址界面时,记录用户使用的请求地址;在靶场场景启动时,为场景中的接入靶机动态生成全局唯一的字符串,并将其作为靶机接入域名地址中的三级或以上域名;同时记录该三级或以上域名与靶机真实地址的对应关系;将靶机的接入域名地址反馈给用户,接收用户通过域名地址接入靶机的请求,获取用户接入请求的请求地址,与记录的请求地址进行一致性校验通过后,根据域名地址中的三级或以上域名,获取到靶机真实地址,将请求的域名地址与靶机真实地址绑定,代理域名地址的访问请求。
上述方案通过将场景中靶机分配至不同的三级或以上域名进行用户动态接入网络靶场中的场景,无需安装VPN客户端,直接使用标准的不同场景的接入方式,接入场景靶机即可。在不同的应用场景可以灵活配置,例如对于多个用户接入场景中多个靶机的情况,可以为场景中的每个靶机动态生成一个或多个域名,供用户接入。域名中也可以增加用户/用户组的标识信息,便于用户识别。
基于相同的发明构思,本发明实施例公开的一种基于动态域名的网络靶场场景隔离接入系统,包括:请求地址记录模块,用于记录用户开启靶场场景或查看场景靶机地址界面时使用的请求地址;动态域名生成模块,用于在靶场场景启动时,为场景中的接入靶机动态生成全局唯一的字符串,并将其作为靶机接入域名地址中的三级或以上域名;同时记录该三级或以上域名与靶机真实地址的对应关系;接入代理模块,用于接收用户通过域名地址接入靶机的请求,获取用户接入请求的请求地址,与记录的请求地址进行一致性校验通过后,根据域名地址中的三级或以上域名,获取到靶机真实地址,将请求的域名地址与靶机真实地址绑定,代理域名地址的访问请求。
基于相同的发明构思,本发明实施例公开的一种计算机系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被加载至处理器时实现所述的基于动态域名的网络靶场场景隔离接入方法的步骤。
下面结合图3示例,说明具体动态域名接入的流程。
1、用户通过浏览器接入平台(如竞赛平台、对抗平台等),当用户开启靶场场景时,记录下开启靶场场景时使用的请求地址。对于小规模的解题或实验场景中,可由用户自己开启场景,可以在用户开启场景时记录其请求IP地址,用于接入时对比判断是否具有接入权限(用于可以接入自己的场景,无法接入他人场景);对于大规模对抗场景,场景预先启动,平台可以记录用户登录查看场景靶机地址界面(用户可接入场景的权限由平台管理)时所使用IP地址,加入场景可接入地址池,当用户接入平台场景时比对接入场景地址是否在地址池中,判断用户是否拥有该场景的接入权限。
2、靶场调度中心启动场景之后动态生成域名分配至靶机,供靶机接入,动态生成的随机三级域名可以采用UUID+特殊标识的形式。
普通在线题目场景中,靶场生成场景之后分配内网地址至场景内的靶机,竞赛平台将内网靶机地址记录,并生成随机字符串,将随机字符串与平台域名合并生成该域名,并绑定靶机内网地址,将该键值对存储到数据库当中。供用户通过该域名接入使用。
在多组对抗的大型场景中,平台将大量的场景靶机分别分配随机字符串,并将该随机字符串与靶机内网地址作联合查询,大型场景将存在多个不同的域名指向同一场景内不同的靶机内网地址情况,由靶机内部作网络隔离,不受域名地址的影响,用户使用不同的域名地址接入时仅接入该域名所指靶机,靶机之间网络仅在场景中感知,用户不受影响。
当平台以战队形式进行靶机接入时,存在不同用户接入同一域名的情况,该情况下,该战队所有用户必须点击查看靶机地址界面,则平台记录点击查看靶机地址时用户所使用地址,并写入靶机允许接入地址池,在接入靶机时查询该地址池是否存在该地址,判断该用户为所属场景战队用户。
3、用户直接通过域名方式接入平台。
4、平台根据用户接入请求地址,联合请求靶机域名作校验,防止用户通过不同的请求地址接入靶机。
对于用户开启的场景,对比开启请求地址与接入靶机地址是否相同,相同则运行接入,开启反向代理;对于大规模场景,用户查看场景靶机地址时,所用网络地址被平台记录,并写入该靶机域名可接入地址池,用户通过靶机域名接入靶机时所用网络地址将与该靶机域名可接入地址池进行匹配,如不存在则拒绝该连接,如存在允许接入,开启对内网靶机的反向代理。
5.通过校验后,平台直接代理该域名绑定的后端地址。具体可以通过Nginx+Lua工具实现反向代理与负载均衡。
6.用户成功接入靶机。
当接入使用组以组为单位接入场景,如竞赛团队赛,一个组存在多个用户,多个用户允许接入同一地址,且同时对保留在现场环境下多用户接入同一地址的状态,接入系统仅针对靶机进行域名与靶机的双向匹配,不影响多用户接入情况,且在多用户情况下,域名可接入地址池可允许多个地址存在,当该组任一用户查看该题目则可接入该题,在团队赛中,域名生成可携带该组名称或对应识别码。域名组成部分携带部分用户可识别信息,帮助用户准确判断是否为所需场景靶机地址。
本发明方案中,用户无需使用专用客户端,仅使用标准服务接入方式即可直接接入靶机。不同用户/战队无法通过同一域名地址接入靶机。域名动态生成,用户无法用户扫描的方式,暴力接入平台。
- 一种网络靶场管理系统及其实现方法、装置、存储介质
- 一种基于场景的车内环境调控系统及场景调控方法
- 一种基于信任锚系统的互联网接入认证系统及方法
- 一种外部租户的专线网络接入方法及其系统
- 一种网络靶场攻防场景真实设备自适应接入方法与系统
- 一种网络靶场攻防场景真实设备自适应接入方法与系统