CTFd 구축후기
예전 글 캡쳐
예전부터 CTF 운영을 해보고 싶은 생각은 꾸준하게 있었다. 그동안 이런저런 이유로 못하게 되었지만 얼마 전 아는 형한테 연락했다가 한번 만들어 보는게 어떠냐는 말을 들었고 마침 내가 자주 하던 CTF 사이트가 없어져 내가 공부하기로 위해서라도 하나 만들어야겠다는 생각이 들었다.
그래서 당장 구축을 시작했다. 사실 아는 게 전혀 없고 내가 잘하는 것도 없는데 할 수 있겠느냐는 두려움이 약간은 있었지만 그래도 해보기로 했다.
우선 도커에 운영을 시작했다. 원래는 VM에 우분투 설치해서 그 안에 도커 설치하고 그렇게 했는데 너무 비효율적인 거 같아서 도커 데스크탑을 설치하고 진행했다.
그 전에 플랫폼을 선정해야 했다. 물론 내가 직접 0부터 99까지 다 스스로 개발할 수도 있지만 보통은 오픈 소스 플랫폼(CTFd, FBCTF 등)을 사용한다. 그 뒤 필요한 서버, 데이터베이스, 기타 인프라를 설정하고 구축하면 된다.
내가 구축한 방법
-
Docker 설치 확인 터미널에서
docker --version
를 실행하여 Docker가 제대로 설치되었는지 확인합니다. - CTFd Docker 이미지 받기
터미널에서 다음의 명령어를 입력하여 CTFd의 Docker 이미지를 받습니다.
bash Copy code docker pull ctfd/ctfd
- CTFd 컨테이너 실행
아래의 명령어를 통해 CTFd 컨테이너를 실행시킵니다.
arduino Copy code docker run -p 8000:8000 -it ctfd/ctfd
위의 명령어는 8000번 포트에 CTFd를 구동시킵니다. 원하는 다른 포트에 구동하고 싶다면 -p 옵션 뒤의 숫자를 바꿔주면 된다.
- 브라우저에서 CTFd 접속 브라우저를 열고 http://localhost:8000으로 접속하면 CTFd 초기 설정 페이지가 나타납니다. 이곳에서 필요한 설정을 진행하면 된다.
테마
테마는 공식 페이지에 있는 테마를 사용했으며 디자인은 드라큘라 테마로 진행 했다. https://draculatheme.com
마무리 하며
아직 문제가 많이 만들어 진것도 아니고 정식으로 출시 하지도 않았다. 그러나 꾸준하게 진행 하여 빠르게 완성하고 싶다.
구축한 모습
그리고 구축한 게 문제가 아니다 구축하고 어느 정도 보안 설정하는 건 정말 쉽지만, 문제는 문제를 만드는 게 문제다. 사실, 문제를 만들어서 공유하는 게 가장 어렵다. 이번에 느낀 거지만 혼자서 운영하는 건 조금 어려울 수도 있겠다는 생각이 있다.
그래도 이렇게까지 하고 싶은 이유는 나의 욕심도 있고 공부하겠다는 의지도 있고 예전에 CTF 운영할 때 제대로 해내지 못한 아쉬움이 남아서 그럴 수도 있다는 생각이 든다.
혹시라도 같이 운영하고 싶거나 문제를 기부해 주실 분은 연락 주세요. 감사합니다.
댓글남기기