Born2beroot 문제 정리

김호·2021년 11월 5일
0

OS

  • OS는 안정적인 최신 버전의 Debian or CentOS를 선택해야 한다

  • 설치를 진행함에 있어 최소한의 서비스로 설치를 진행해야 한다(그래픽 인터페이스 같은 서비스는 설치 X)
    평가를 진행하면서

  • aptitude, apt의 차이점

  • SELinux, AppArmor의 차이점

평가 진행 사항

  • 자신이 선택한 운영체제에 맞는 개념을 평가자에게 설명해야한다.

LVM

  • LVM을 사용해 최소 2개 이상의 암호화된 파티션을 생성해야 한다.
    (예시 화면)

SSH

  • SSH 서비스의 포트는 4242번 포트에서만 사용되어야 한다.

  • SSH를 통한 root접근 권한이 없어야 한다.

UFW

  • SSH 연결을 위한 4242번만 포트가 열려 있어야 한다.

  • 가상 머신(서버)가 시작할 때 방화벽이 활성화되어 있어야 한다.

  • CentOS를 사용하는 경우 기본 방화벽 대신 UFW을 사용해야 한다.(DNF를 사용해야함)

User

  • 가상 머신(서버)의 hostname은 인트라넷ID+42로 설정되어야 한다.

  • 높은 보안 수준의 암호 정책을 구현해야 한다.

  • 엄격한 규칙에 따른 sudo를 설치하고 구성해야 한다.

  • root사용자 외 다른 사용자 이름으로 로그인한 사용자가 있어야 한다.(사용자는 user42 및 sudo 그룹에 속해야 한다)

암호 정책

  • 비밀번호는 30일마다 만료 되어야 한다

  • 비밀번호를 수정하기 전 허용되는 최소 일은 2일로 설정한다.

  • 사용자는 암호가 만료되기 7일 전 경고 메시지를 받아야 한다

  • 비밀번호는 10자 이상, 최소 1개이상 대문자, 소문자, 숫자가 포함되어야 하며, 동일 문자 3개 연속 되지 않아야 한다.

  • 암호에는 사용자 이름이 포함되면 안된다.

  • 이전 암호와 7이상 같으면 안된다.(root계정은 이 정책 제외)

평가 진행 사항

  • 평가를 진행하면서 새로운 사용자를 만들고, 그룹에 할당해야 한다.

  • 평가를 진행하면서 루트, 모든 사용자 계정의 비밀번호가 정책에 맞게 변경되는지 확인한다.

Sudo

  • sudo 그룹에 아래와 같은 설정을 구성해야 한다.

  • 암호가 틀린 경우 재 입력 기회를 3번으로 제한해야 한다.

  • 오류가 발생한 경우 선택한 사용자 지정 메시지가 표시되어야 한다.

  • sudo를 사용하는 작업은 입력과 출력 모두 로그파일로 보관해야 한다
    - 저장 경로는는 /var/log/sudo/ 폴더이다.

  • 보안상 이유로 tty모드를 활성화 해야 한다.

  • 보안상 이유로 sudo가 사용할 수 있는 경로를 제한해야 한다.
    - ex) /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin

Monitoring

  • monitoring.sh 스크립트를 만들어야 한다.(bash에서 개발)

  • 가상 머신(서버) 시작 시 스크립트는 10분마다 모든 터미널에 일부 정보(아래 이미지)를 표시해야 한다.(배너는 선택사항)

  • 스크립트는 아래와 같은 정보를 포함해야 한다.

  • 운영 체제 아키텍처 및 커널 버전

  • 물리적 프로세서의 수

  • 가상 프로세서의 수

  • 서버의 현재 사용 가능한 RAM 및 사용률(백분율)

  • 서버의 현재 사용 가능한 메모리 및 사용률(백분율)

  • 프로세서의 현재 사용률을 백분율로 표시

  • 마지막 재부팅 날짜 및 시간

  • LVM 활성화 여부

  • 활성 연결 수

  • 서버를 사용하는 사용자 수

  • 서버의 IPv4 주소 및 MAC주소

  • sudo 프로그램으로 실행된 명령의 수

모니터링 예시

모니터링에 필요한 정보를 볼 수 있는 파일

Bonus

보너스 과제는 mandatory가 완전히 수행되어야 검사한다.

파티션을 설정하여 아래와 비슷한 구조를 가지게 한다.

  • lighttpd, MariaDB 및 php 서비스를 사용하여 기능적인 WordPress 웹 사이트를 설정한다.

  • 유용하다고 생각되는 서비스를 선택(NGINX/Apache2 제외) 평가를 진행하며 선택한 서비스를 설명해야 한다.

  • 보너스 파트를 수행하며 필요한 포트는 UFW에 추가할 수 있다.

0개의 댓글