운영체제를 Debian과 CentOB 중 하나를 골라야한다. 둘다 최신 stable버전
Debian이 더 쉽다
Debian은 시작 시에 AppArmor가 실행 되어야 한다.
LVM을 사용해서 2개의 encrypted partition을 최소 2개 만들어야 한다
내가 선택한 OS에 대한 설명을 할 수 있어야 한다.
aptitude와 apt의 차이점SELinux와 AppArmor의 차이점Debian과 CentOS의 차이점SSH는 4242 포트에서만 작동해야 한다.
SSH에 연결이 되어선 안된다새로운 계정으로 SSH를 사용할 것이기 때문에 확실하게 동작 원리를 이해해야 한다.
운영체제에서 UFW 방화벽을 설정하고 4242 포트만 열어 놓아야 한다.
virtual machine이 실행될 때 방화벽이 작동하고 있어야 한다.
CentOS는 기본 방화벽 대신 UFW를 사용해야 한다.UFW를 설치하기 위해선 DNF가 필요하다.가상 머신의 hostname은 로그인아이디 + 42여야 한다. → yooh42
강력한 비밀번호 정책을 사용해야 한다.
strict rules를 따르는 sudo 를 설치하고 설정해야 한다.
root 유저 말고도 yooh42 계정도 존재해야 한다.
이 유저는 user42 그룹과 sudo 그룹에 속해 있어야 한다.
디펜스 동안, 새로운 유저를 만들고 그룹에 소속 시켜야 한다.
강력한 비밀번호 정책을 위해 아래의 내용들을 충족시켜야 한다.
root 비밀번호에는 해당 되지 않는다. root 비밀번호는 최소 7글자이고, 이전 비밀번호와 겹치면 안된다.설정 파일을 세팅한 뒤에 root를 포함한 virtual machine의 모든 계정의 비밀번호를 바꿔야 한다.
sudo 그룹에 강력한 구성을 설정하기 위해, 아래의 조건들을 따라야한다.
잘못된 비밀번호 상황에서 sudo 인증은 3회로 제한 된다.
sudo를 사용할 때 잘못된 비밀번호로 인한 에러 메시지를 커스텀해야 한다.
sudo를 사용하는 모든 행동들, 입력과 출력 기록은 모두 기록되어야 한다
log file은 /var/log/sudo/ 폴더에 저장되어야 한다.
보안 문제로 TTY 모드가 가능해야 한다.
보안 문제로 sudo가 사용하는 경로는 제한되어야 한다.
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
끝으로, monitoring.sh 라는 간단한 스크립트를 작성해야 한다.
👿서버가 시작할 때, 스크립트는 아래의 내용들을 10분마다 모든 터미널에 표시하도록 한다. 배너는 선택 사항이고, 에러가 있어선 안된다.
sudo 프로그램이 실행한 명령의 숫자