GRUB파일 수정 접근 제한 - Ubuntu,Rocky
iwinv 가상서버 중 Linux 운영체제를 사용하실때 싱글 모드 접근시 GRUB 파일 수정에 대한 접근을 제한하는 방법입니다.
가이드 안내
가이드
- iwinv 가상서버는 웹에서 콘솔 서비스를 제공하기 때문에 웹 계정을 도용당하게 될 경우 가상서버 보안에 취약할 수 있습니다.
- GRUB Password를 설정하면 GRUB 진입시 패스워드가 필요하기 때문에 가상서버 도용을 방지할 수 있습니다.
- 해당 내용은 가상서버 뿐만 아니라 물리서버에서도 적용가능한 방법입니다.
✅ 테스트 환경 : Ubuntu24.04 (Redhat), Rocky Linux10 (CentOS)
주의사항
주의사항
- 리부팅 작업이 동반되므로 서버가 정상적으로 올라오지 않는 경우가 발생할수 있으니 유의해야 합니다.
- 작업 전 가상서버 이미지 생성 백업을 권장드립니다.
- 반드시 서버를 사용하지 않거나 접속자가 없는 시간을 선택해서 해당 작업을 진행합니다.
- 리부팅 과정에서 서버가 정상적으로 부팅되지 않을수도 있습니다.
00_header 파일 수정을 통한 GRUB 파일 진입 제한 (Ubuntu Linux만 적용)
- iwinv 콘솔 화면에서 설정 버튼을 클릭합니다.
- [VNC 바로가기]를 클릭합니다.
- 본인 서버의 계정으로 접속 후 아래의 과정을 진행합니다.
vi /etc/grub.d/00_header
# 양식
cat<<EOF
set superusers="계정명"
password 계정명 비밀번호
EOF
------------------------
# 예시
cat<<EOF
set superusers="iwinv24"
password iwinv24 dkdldb123!
EOF
참고
- GRUB이란 Grand Unified Bootloader의 약자로서 Linux가 부팅할때 담당하는 프로그램이며 이는 MBR(Master Boot Record)에 저장됩니다.
- /etc/grub.d/00_header 파일은 GRUB2 부트로더의 설정을 /etc/default/grub 파일에서 로드하는 역할을 합니다.
즉, 시스템 부팅 방식을 제어하는 데 중요한 역할을 합니다.
변경 후에는 grub2-mkconfig /boot/grub2/grub.cfg 명령어를 사용하여 변경 사항을 GRUB 설정 파일에 반영해야 합니다.
- grub 명령어를 통해 설정을 적용시킨 후 Send CtrlAltDel을 클릭하여 리부팅합니다.
# OS나 버전에 따라 명령어가 다를 수 있습니다.
grub2-mkconfig -o /boot/grub2/grub.cfg 또는
grub-mkconfig -o /boot/grub2/grub.cfg
- 아래와 같은 화면이 나오면 키보드에서 ESC를 누릅니다.
- grub파일 수정을 위해 키보드에서 'e'를 입력합니다.
- 파일에 바로 접근되지 않고 진입이 제한되는 것을 확인할 수 있습니다.
이제 3번 항목에서 입력하였던 계정 ID와 PASSWORD를 입력합니다.
/etc/grub.d/00_header 파일에서 입력했던 아이디와 패스워드를 입력해줍니다.
- grub 파일에 접근이 가능해진 것을 확인할 수 있습니다.
HASH 값을 통한 계정 GRUB 파일 진입 제한 (Ubuntu Linux, Rocky Linux적용)
- 아래의 명령어를 입력 후 패스워드를 입력하면 위 그림과 같이 해시 코드가 생성됩니다.
나온 결과 중 grub으로 시작하는 곳 부터 끝까지 복사해둡니다.
grub-mkpasswd-pbkdf2
- vi 편집기를 통해 /etc/grub.d/40_custom 파일을 열고 아래와 같이 설정 값을 넣어줍니다.
superusers와 hash값을 넣어줍니다.
vi /etc/grub.d/40_custom
# 양식
set superusers=”name”
password_pbkdf2 name [long string from earlier]
# 예시
set superusers="root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.799A22C262DAEDDF32207AC6A380CE83A43FACA3E4CE27AB8788C...(중략)
- grub 업데이트를 해주고 리부팅하면 grub 파일 진입 시도시 계정과 패스워드를 묻습니다.
grub2-mkconfig -o /boot/grub2/grub.cfg
작업 후 확인 사항
확인사항
- 로그인이 정상적으로 되는지 확인합니다.
- 시스템 리부팅 후 서비스나 서버에 문제가 없는지 점검합니다.
노트
- OS나 버전에 따라 명령어의 차이가 있을 수 있습니다.