메뉴 닫기

CTF 사이트&문제 서버 설정 팁

ctf 운영을 하다보면 서버가 죽는상황이 가끔 생기는데(ㅜㅜ) 그걸 조금이나마 예방하는 방법을 적어보자 합니다..

1. 일단 서버를 사면 리눅스 커널 업데이트부터 하자. (커널"만" 업데이트 가능!)

    어디서 서버를 사는지에 따라 다를 것 같긴 하지만, 구버전 커널이 설치되어 있는 경우가 많다.

    일단 서버를 구매하면 커널 업데이트 부터 하자.

    https://extrememanual.net/9318 이 게시글에  방법이 잘 정리되어 있다.

2. 도커도 최신버전을 쓰고, 도커로 돌릴 수 있는 문제는 도커로 돌리자.

    도커로 돌리면 루트가 따여도 도커 안에서 따이기 떄문에 안전하다고 생각할 수 있는데 업데이트 안하면 docker escape 당할 수 도 있다. 꼭! 최신버전 사용하자.

    문제별로 도커를 돌리면, 환경 옮길때도 너무 편하다. 서버 문제로 각자 서버에 문제 환경을 구축하고, 서버가 나오면 환경을 옮기는 경우가 많은데, 이럴때 도커를 쓰면 ㄹㅇ루 편하다.

    아래 게시글에 ctf문제용 도커 만드는법이 잘 정리되어 있다.

    https://blog.kshgroup.kr/18th-poc-hacking-camp-cntdic-1/

    아래 사진은 19회 해킹캠프 서버에서 돌아갔던 도커들인데, 이렇게 해두면 관리도 편하고 정말 좋다,,

   

3. iptables사용해서 사용하지 않는 포트는 닫아두자.

    이건 도커가 iptables로 포트포워딩을 하기 때문에 대부분 기본적으로 다 되어있다.

4. fail2ban 꼭 셋팅하고, phpmyadmin은 되도록이면 외부접속을 차단하고, 꼭 필요하면 관리자 ip만 허용시키자.

    중국 친구들이 특히 포트스캔후 phpmyadmin, ssh 로그인 브포를 말도안되게 많이 한다.

    특히 이런거나,,,

   

이런거,,,

   

    이런거 맞으면 서버 죽기 딱 좋다. (사실 이 블로그 돌아가는 서버도 그냥 냅두니까 이틀에 한번씩 죽어서 중국 아이피 전체차단 + fail2ban 설치 이후 괜찮아 졌다.)

    아래 게시글들을 참고해서 fail2ban을 설정해주자.

    sshd용 : https://www.lesstif.com/pages/viewpage.action?pageId=43843899.

    apache용 : https://devops.ionos.com/tutorials/set-up-fail2ban-to-protect-an-apache-web-server/

    사실 해킹캠프 ctf플랫폼은 node.js로 만들어졌기 때문에, 아파치가 딱히 필요없었지만, phpmyadmin 사용을 위해 냅뒀는데, 외부접속을 열어뒀더니 브포가 미친듯이 들어와서 ,, 아파치 서비스를 껏다.(ㅜㅜ)

 

 

 

 

 

 

1 Comment

다이어리에게 댓글 남기기 댓글 취소

이메일은 공개되지 않습니다.