免费举办您自己的 CTF 💸(CTFd 设置指南)
背景故事
上周末,我镇上的一个小型网络安全俱乐部组织了他们的第一场线上 CTF 比赛。我主动提出负责基础设施建设,因为我已经研究CTFd几周了,出乎意料的是,一切都进展顺利!(除了两次服务器宕机,但时间不长😁)所以我在这里和大家分享我如何搭建、配置和监控一个可以同时处理150 多个用户的CTF 平台,而且完全免费💲
路线图🛣️
- 在云上创建并配置 Linux VM
- 使用 docker-compose 部署 CTFd
- 设置 CTFd 管理面板和设置
- 获取域名并将其与虚拟机关联
- 通过生成证书启用 HTTPS
⚠️ 开始之前,请确保您已拥有GitHub 学生包,因为这是免费获得所有这些福利的唯一途径。同时,请确保将Microsoft Azure链接到您的 GitHub 学生帐户。
第一步:云端 Linux 虚拟机!☁️
这一步相当简单。你只需创建一个新的实例/资源/linode/机器/虚拟机,无论你的提供商如何称呼它。就我而言,我在 Microsoft Azure 门户上创建了一个 Ubuntu Server 虚拟机。
⚠️ 此步骤中最重要的是:
- 选择一个强大的 SSH 密码并保密
- 为 HTTP 和 HTTPS启用入站端口80 和 443
完成此过程后,您将可以通过 SSH 访问您的虚拟机。接下来是快速完成,apt update && apt upgrade
然后进行精彩操作apt install docker.io docker-compose
。现在,您已准备好进行第二步!
第二步:使用 docker 部署 CTFd
我们首先克隆 CTFd github repo:git clone https://github.com/CTFd/CTFd.git
然后,您可以将此存储库中的某个主题添加到您的themes
文件夹中,让您的 CTF 闪耀时尚!✨
最后,继续运行以下命令来构建你的docker镜像:sudo docker-compose up
。这将需要一些时间,但到最后,你将启动并运行CTFd。
第三步:设置管理面板👔
这个过程非常简单。在浏览器中导航到你的虚拟机 IP,你会看到以下内容:
您只需按照屏幕上的说明操作即可。别忘了选择您在步骤 2 中上传的主题。
第四步:链接域名!🌐
信不信由你,这是本指南中最简单的步骤。从namecheap或其他为学生提供免费域名的提供商处申请到你喜欢的域名后,你只需在 DNS 设置中添加这些记录即可。
恭喜!现在,您无需在地址栏中输入 IP,只需输入新域名即可。💫
最后一步:启用 HTTPS
本文详细介绍了如何生成 SSL 证书以及如何配置您的域名和服务器。读完本文后,您的域名旁边会显示一个漂亮的绿色锁🔒。
这就是你免费举办自己的 CTF 比赛的方式!💸
作者: Jihed Kdiss •我的网站: jihedkdiss.tn
如果您遇到麻烦,请随时联系我。