Born2beRoot
가상 머신, 리눅스 기초
VirtualBox를 사용하여 Linux 가상 환경을 띄운 후, 그 환경에서 사용자 관리, 보안 정책, 서비스 설정 등 서버 운영에 필요한 구성을 직접 수행하는 과제이다.
- 과정: 42 Seoul Inner Circle
- 언어: Shell / Linux Configuration
- GitHub: https://github.com/Budnarae/42_innercircle_course/tree/main/Born2beRoot
개요
단순히 서버를 설치하는 것에 그치지 않고, 최소 권한 원칙에 따라 사용자와 권한을 설계하고 외부 공격 경로를 줄이기 위한 보안 설정을 단계적으로 적용한다. 최종적으로 구성된 서버가 정해진 보안 기준을 충족하는지 평가받는다.
이 과제는 42 Seoul 인트라넷 환경에서만 테스트 가능하므로 별도의 실행 파일을 제공하지 않는다.
구현 내용
가상 머신 환경 구축
VirtualBox에 Debian을 설치하고, LVM(Logical Volume Manager)을 사용하여 파티션을 구성한다.
사용자/그룹/권한 정책
루트 계정의 직접 사용을 제한하고, 별도의 사용자 계정과 그룹을 생성하여 권한을 분리한다.
sudo 정책 설정
sudo 사용 시 비밀번호 재입력 횟수 제한, 허용 명령어 제한, 로그 기록 등의 세부 정책을 /etc/sudoers에 설정한다.
SSH 설정
기본 포트를 변경하고, 루트 계정으로의 SSH 직접 접속을 차단한다.
UFW(Uncomplicated Firewall) 설정
허용할 포트만 명시적으로 열고 나머지는 차단하는 방화벽 규칙을 구성한다.
비밀번호 정책
만료 기간, 최소 길이, 복잡도 요건 등 강화된 비밀번호 정책을 시스템에 적용한다.
모니터링 스크립트
시스템 정보(CPU, 메모리, 디스크 사용량, 활성 연결 수 등)를 주기적으로 출력하는 shell 스크립트를 작성하고, cron으로 자동 실행되도록 설정한다.