운영체제를 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
프로그램이 실행한 명령의 숫자