특정한 규칙을 가진 VirtualBox (또는 UTM) 머신을 만들어보는 프로젝트
- 최소한의 적은 갯수로 서비스를 설치 (gui 금지)
- 사용 운영체제로는 Debian의 stable 버젼 또는 centOS 최신 stable버전중 하나를 선택해서 사용
- KDump설정은 필요없음 하지만 SELinux는 시작시 구동되어야 하고 설정되어야함, Debian의 AppArmor역시 시작시 구동
- LVM을 이용하여 최소 2개의 암호화된 파티션을 생성
- aptitude와 apt의 차이, SELinux 또는 AppArmor가 무엇인지, apititude와 apt의 차이점을 알고있어야함
- SSH서비스는 포트4242에서만 작동, 또한 ssh를 이용한 root연결을 허용하면 안됨
- UFW방화벽을 이용하여 운영체제를 설정 (DNF 필요)
- 로그인 호스트 이름은 로그인아이디+42로 끝나야 하며 변경할 수 있어야함
- 강한 비밀번호 체계를 도입
- 비밀번호는 30일마다 소멸
- 비밀번호 변경시 최소 이틀은 기다려야 함
- 비밀번호 소멸 7일전 경고 메시지를 받아야함
- 최소 10글자이상, 대문자와 숫자를 포함, 같은글자 3번연속 금지
- 비밀번호에 유저명 포함 금지
- 변경시 이전에 사용한 비밀번호에 포함되지않는 문자를 최소 7개 포함 (루트는 불포함)
- 루트 권한 비밀번호또한 같은 규칙을 따라야 함
- 엄격한 규칙으로 sudo를 설치하고 설정
- sudo인증시 비밀번호가 틀렸을때에는 3번의 기회만 주어져야함
- sudo권한 사용중에는 비밀번호가 틀렸을 때 설정한 오류메시지를 출력
- sudo권한을 이용해 수행한 명령어들은 입출력 모두 /var/log/sudo/폴더에 log파일로 저장되어야 함
- 보안상의 문제때문에 TTY모드는 활성화되어 있어야 함
- sudo권한으로 이용할 수 있는 폴더 경로는 반드시 제한되어야 함
ex: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin- 루트사용자 이외에 로그인 아이디를 유저명으로 사용하는 유저가 있어야하며 이 유저는 user42와 sudo그룹에 포함
- 유저를 생성하고 그룹에 배정할 줄 알아야함
- 루트계정을 포함한 머신내의 모든 계정에 대한 비밀번호를 바꿀 줄 알아야함
- monitoring.sh 스크립트를 작성하고 bash환경에서 작동해야함
- 서버가 시작될 때 스크립트는 모든터미널에 아래정보들을 10분에 한번씩 보여줘야함. 배너는 선택사항이고 오류가 보이면 안됨.
- 사용하는 운영체제의 아키텍쳐와 커널버젼
- 물리 프로세서의 개수
- 가상 프로세서의 개수
- 서버내의 사용가능한 램과 가동률을 백분율로 표시
- 서버내에서 사용가능한 메모리와 가동률을 백분율로 표시
- 프로세서들의 가동률을 백분율로 표시
- 마지막 부팅 시간과 날짜
- LVM이 활성화 되었는지 여부
- 활성화된 연결의 수
- 서버를 사용하고 있는 유저의 수
- 서버의 IPv4주소와 MAC주소
- sudo로 실행된 커맨드의 수