基于华为ECS弹性云服务器技术搭建CTFd动态靶场
【摘要】 基于华为ECS弹性云服务器搭建CTFd动态靶场
基于华为ECS弹性云服务器搭建CTFd动态靶场
弹性计算需求:华为云的弹性虚拟服务器(Elastic Virtual Server)可以用于部署CTFd平台的服务器实例。根据参赛人数的需求,弹性地调整服务器的规模和配置,确保平台在比赛期间能够处理高负载情况。
一.服务器
-
云服务器:华为云弹性云服务器 ECS
-
操作系统:Ubuntu 18.04 server 64bit with ARM(40GiB)
二.搭建
1.更新源
apt-get update
apt-get upgrade
2.安装环境
- 动态靶机是通过
docker
实现的,因此首先要准备安装一下docker
curl -fsSL https://get.docker.com | bash -s docker
- 安装
docker-compose
sudo pip3 install docker-compose -i https://pypi.tuna.tsinghua.edu.cn/simple
3.配置环境
- 插件使用的是集群的模式,这里要创建一个单个服务器的集群
docker swarm init
- 将该服务器加入集群
docker node update --label-add='name=linux-1' $(docker node ls -q)
给 docker
更换华为镜像源
,修改文件 /etc/docker/daemon.json
{
"registry-mirrors": [ "https://f4d0e153e5f349498b744bc6f9228fca.mirror.swr.myhuaweicloud.com" ]
}
重启服务
sudo systemctl daemon-reload
sudo systemctl restart docker
4.下载
- 下载CTFd
git clone https://github.com/Un1kTeam/CTFd --depth=1
5.配置
cd CTFd
nano conf/frp/frps.ini # token 一定要随机
nano conf/frp/frpc.ini # token 一定要随机
这里给出 frp
两个配置文件的内容
-
frps.ini
[common] bind_port = 7000 vhost_http_port = 9123 token = your_token subdomain_host = node.vaala.ink
-
frpc.ini
[common] token = your_token server_addr = 172.1.0.3 server_port = 7000 admin_addr = 172.1.0.4 admin_port = 7400
6.安装
- 安装插件并启动
git submodule update --init docker-compose up -d
查看是否有没有正确启动的镜像
docker ps -a
三.平台设置
- 访问
9124
端口进入平台,完成平台基本配置,然后进入后台,右上角的插件中进入Whale
设置,其中,左侧Docker
菜单栏如果没有特殊需求无需更改,只需更改左侧Frp
菜单栏中的内容
项 | 内容 |
---|---|
Http Domain Suffix | node.vaala.ink 这里填写使用http方式访问靶机的泛解析域名 |
Http Port | 9123 这里填写frps中的vhost_http_port,该端口为http方式靶机访问的端口 |
Direct IP Address | chive.vaala.cloud 这里填写服务器ip,用于显示Direct方式访问的题目的IP |
Direct Minimum Port | 9125 这里填写用于动态靶机Direct方式的开始端口 |
Direct Maximum Port | 9129 这里填写结束端口 |
最后点一下更新就可以保存配置了,填写完成后新建题目测试是否成功,按下表新建题目,表中没有提到的保持默认就好
项 | 内容 |
---|---|
Choose Challenge Type | Dynamic docker |
Name | test |
Category | test |
Docker Image | vaalacat/push_f12 |
Frp Redirect Type | Direct 或者 Http |
Frp Redirect Port | 80 |
Initial Value | 1 |
Decay Limit | 1 |
Minimum Value | 1 |
Score Type | dynamic score |
新建题目过后点击启动,然后等待靶机创建,可以在服务器中 docker ps -a
查看是否启动,若启动成功则搭建完成
三.访问
在浏览器中输入IP:9124即可访问
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)