
본 Subject의 개요
가장 최신 버전의 CentOS 또는 Debian을 최소한으로 설치 (GUI 금지)
SELinux(CentOS), AppArmor(Debian)는 시작 시 실행되어야 한다.
최소한 2개 이상의 LVM을 사용한 암호화된 파티션을 생성해야 한다.
ex)

Defense 시에 선택한 운영체제에 대한 질문을 받을텐데 aptitude와 apt의 차이점, SELinux와 AppArmor가 무엇인지 등을 설명할 수 있어야 한다.
SSH 서비스는 4242 포트만 사용해야하며 이러한 이유로 SSH를 root로 연결할 수 없어야 한다?
Defense 시 SSH로 새 계정을 세팅해야하기 때문에 SSH가 어떻게 작동하는지 이해하고 있어야 한다.
UFW 방화벽을 이용해야하기 때문에 4242 포트만 열어놔야 한다.
Virtual machine을 실행할 때 방화벽이 활성화 되어 있어야 한다. CentOS의 경우 기본 방화벽 대신 UFW를 사용해야 한다. (설치하려면 아마 DNF가 필요할 듯)
Virtual machine의 hostname은 42로 끝나야 한다. ex) keokim42
강력한 암호 정책을 구현해야 한다. (sudo 설치 및 사용)
root user 외에도 username으로 로그인한 user가 있어야 한다? (이 사용자는 user42와 sudo groups에 속해있어야 함)
Defense 시에 새로운 사용자를 생성하고 그룹에 등록해야 한다.
강력한 비밀번호 정책
sudo group에 대한 강력한 구성을 설정하기 위한 준수 사항
/var/log/sudo폴더에 저장되어야 한다.TTY모드를 활성화해야 한다.마지막으로 monitoring.sh라는 간단한 스크립트를 만들어야 하는데 bash에서 만들어야 한다.
서버 시작 시 스크립트는 10분마다 모든 터미널에 대한 아래 정보들을 표시한다. (배너는 옵션, 에러가 보이면 안됨)
Defense 시 스크립트의 내용이 어떻게 작동하는지 설명할 수 있어야 한다. 또한 수정하지 않고 일시 정지할 수 있어야 한다.
스크립트 작동 예제

주제의 일부 요구 사항을 확인하는 데 사용할 수 있는 두 가지 명령
CentOS :

Debian :

파티션 설정을 통해 아래와 같은 구조를 갖는다 :

lighttpd, MariaDB, PHP 서비스를 사용하여 기능적인 WordPress 웹 사이트를 설정한다.
유용하다고 생각되는 서비스를 선택적으로 설정한다. (NGINX / Apache2 제외) Defense 시 선택을 정당화할 수 있어야 한다.
Bonus part를 수행하기 위해 추가적으로 서비스를 설정할 수 있다. 이 경우 필요에 맞게 포트를 더 열 수 있다. 물론 UFW 규칙에 따라야 한다.