最近玩了一下网上的在线 ctf ,基本上都是使用者点击一个链接后会启动一个虚拟环境给用户使用,这个虚拟环境可以更新、销毁,有的还有使用时间限制,到了时间就自动销毁了,想自己搭一个在公司内部使用,然后现在就卡在怎么才能通过用户点击页面上的链接去启动虚拟机呢?因为公司电脑性能不咋地,开了几个虚拟机就有点卡,所以就想着不用的虚拟机置于关闭状态,用户使用时在启动虚拟机。有了解的大佬可以指点一下思路吗?谢谢!
1
scal Apr 19, 2023
貌似不是有开源的平台么
|
2
unnamedhao Apr 19, 2023
k8s ?
|
3
scal Apr 19, 2023
他后台也不是虚拟机 应该是个容器 沙盒吧
|
4
scal Apr 19, 2023
|
5
dushixiang Apr 19, 2023
我自己写了一个,后台启动的是 docker 容器,跑虚拟机太费资源了,如果你非要用虚拟机,调用 libvirt 的接口就行。
我的环境: https://cyberpoc.typesafe.cn/ |
7
xxoxx OP @FreeEx 谢谢回复,自己也用 ubuntu 启动了 docker 容器,用虚拟机是因为在 vulnhub 下了几个测试环境,那个是 ova 格式的,只能用虚拟机导进 vmware 。你的环境写的很好,给大佬点赞,私下问一句:开源不?
|
8
BurYiA Apr 19, 2023
ctfd + CTFd-Whale
[参考赵总博客]( https://www.zhaoj.in/read-6333.html) |
10
dushixiang Apr 19, 2023
@xxoxx vmware 不好控制,还是要转换成 qcow2 格式当 kvm 虚拟机进行控制
|
11
yw9381 Apr 20, 2023
你应该也用过我们的平台,CTFHub ,我是站长 /开发者
CTFHub 这使用的是 K8S 做调度的,用户点击启动以后,后端生成出这个 pods 的启动 yaml ,调用 K8S 的 api 完成 pod 的创建和服务检测,对外暴露用的是我们自己开发的一套类似 ingress 的东西,实现了 3 层和 7 层转发 你的这个需求应该可以用 ctfd 完成,我印象这个也是支持直接启动环境的,可能需要自己在搭建一个 harbor 镜像仓库 |