CTFd-Whale 推荐部署实践 – 赵 (zhaoj.in)
(手把手教你如何建立一个支持ctf动态独立靶机的靶场(ctfd+ctfd-whale)_fjh1997的博客-CSDN博客
首先,服务器中需要已经安装docker和docker-compose,
docker 安装可以参照官方文档:Install Docker Engine on Debian | Docker Documentation
docker-compose 安装直接 sudo apt install docker-compose
即可。
主要技术:frp(fast reverse proxy),使docker容器中的内部网络穿透到外部网络中。
Frps服务:运行在服务器上的服务,用于将frpc的流量向外转发。
Frpc容器:与靶机容器同处在一个docker网络下,用于将靶机的流量发送到frps
ctfd-whale:作为ctfd的一个插件,它的作用是调用Docker的接口生成独立的靶机容器,同时控制frpc接口转发靶机端口。
cd
wget <https://github.com/fatedier/frp/releases/download/v0.36.2/frp_0.36.2_linux_amd64.tar.gz>
tar -zxvf frp_0.36.2_linux_amd64.tar.gz
cd frp_0.36.2_linux_amd64
sudo cp systemd/* /etc/systemd/system/
sudo mkdir /etc/frp
sudo cp frpc.ini frps.ini /etc/frp/
sudo cp frpc frps /usr/bin/
sudo chmod a+x /usr/bin/frpc /usr/bin/frps
sudo systemctl enable frps