1. 项目概述
作为一名网络安全从业者,我经常需要练习各种CTF(Capture The Flag)挑战来提升技能。但依赖在线平台总有不方便的时候:网络延迟、题目更新不及时、隐私顾虑等等。于是决定在本地搭建一个完整的CTF训练环境,这样不仅可以随时练习,还能自定义题目,甚至用于内部团队培训。
经过对比多个开源框架,最终选择了CTFd作为基础平台。它基于Python Flask开发,支持Docker部署,拥有完善的用户管理和题目系统。配合CTFTraining的题库资源,可以快速搭建出功能完备的靶场。下面我就把整个搭建过程详细记录下来,包括那些官方文档没提到的坑和技巧。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备
2.1 虚拟机配置
我选择在VMware Workstation上创建CentOS 7虚拟机作为基础环境。相比直接使用物理机,虚拟机有快照功能,随时可以回滚到干净状态,特别适合做各种实验。
创建时几个关键配置点:
- 内存至少4GB(运行Docker容器需要足够资源)
- 硬盘空间50GB以上(题库和Docker镜像会占用不少空间)
- 网络选择NAT模式(方便主机访问)
- 安装带GUI的桌面环境(新手友好)
提示:虽然服务器通常用最小化安装,但作为练习环境,GUI可以简化很多操作。等熟悉后可以改用命令行管理。
安装完成后,记得先更新系统:
bash复制sudo yum update -y
sudo reboot
2.2 Python环境升级
CentOS 7自带的Python 2.7已经过时,我们需要安装Python 3.9:
bash复制# 安装编译依赖
sudo yum install gcc openssl-devel bzip2-devel libffi-devel -y
# 下载源码包
wget https://www.python.org/ftp/python/3.9.7/Python-3.9.7.tgz
tar xzf Python-3.9.7.tgz
cd Python-3.9.7
# 编译安装
./configure --enable-optimizations
make altinstall
# 设置默认Python版本
sudo alternatives --install /usr/
