본문으로 건너뛰기

GRUB파일 수정 접근 제한 - Ubuntu,Rocky

iwinv 가상서버 중 Linux 운영체제를 사용하실때 싱글 모드 접근시 GRUB 파일 수정에 대한 접근을 제한하는 방법입니다.

가이드 안내

가이드
  • iwinv 가상서버는 웹에서 콘솔 서비스를 제공하기 때문에 웹 계정을 도용당하게 될 경우 가상서버 보안에 취약할 수 있습니다.
  • GRUB Password를 설정하면 GRUB 진입시 패스워드가 필요하기 때문에 가상서버 도용을 방지할 수 있습니다.
  • 해당 내용은 가상서버 뿐만 아니라 물리서버에서도 적용가능한 방법입니다.

테스트 환경 : Ubuntu24.04 (Redhat), Rocky Linux10 (CentOS)

주의사항

주의사항
  • 리부팅 작업이 동반되므로 서버가 정상적으로 올라오지 않는 경우가 발생할수 있으니 유의해야 합니다.
  • 작업 전 가상서버 이미지 생성 백업을 권장드립니다.
  • 반드시 서버를 사용하지 않거나 접속자가 없는 시간을 선택해서 해당 작업을 진행합니다.
  • 리부팅 과정에서 서버가 정상적으로 부팅되지 않을수도 있습니다.

00_header 파일 수정을 통한 GRUB 파일 진입 제한 (Ubuntu Linux만 적용)

  1. iwinv 콘솔 화면에서 설정 버튼을 클릭합니다.

grub진입제한 header파일수정 접근1

  1. [VNC 바로가기]를 클릭합니다.

grub진입제한 header파일수정 접근2

  1. 본인 서버의 계정으로 접속 후 아래의 과정을 진행합니다.

grub진입제한 header파일수정 접근3

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진입제한 header파일수정 접근4

  1. grub 명령어를 통해 설정을 적용시킨 후 Send CtrlAltDel을 클릭하여 리부팅합니다.
# OS나 버전에 따라 명령어가 다를 수 있습니다.
grub2-mkconfig -o /boot/grub2/grub.cfg 또는
grub-mkconfig -o /boot/grub2/grub.cfg

grub진입제한 header파일수정 접근5

  1. 아래와 같은 화면이 나오면 키보드에서 ESC를 누릅니다.

grub진입제한 header파일수정 접근6

  1. grub파일 수정을 위해 키보드에서 'e'를 입력합니다.

grub진입제한 header파일수정 접근7

  1. 파일에 바로 접근되지 않고 진입이 제한되는 것을 확인할 수 있습니다.

이제 3번 항목에서 입력하였던 계정 ID와 PASSWORD를 입력합니다.

/etc/grub.d/00_header 파일에서 입력했던 아이디와 패스워드를 입력해줍니다.

grub진입제한 header파일수정 접근8

  1. grub 파일에 접근이 가능해진 것을 확인할 수 있습니다.

grub진입제한 header파일수정 접근9


HASH 값을 통한 계정 GRUB 파일 진입 제한 (Ubuntu Linux, Rocky Linux적용)

  1. 아래의 명령어를 입력 후 패스워드를 입력하면 위 그림과 같이 해시 코드가 생성됩니다.

나온 결과 중 grub으로 시작하는 곳 부터 끝까지 복사해둡니다.

grub-mkpasswd-pbkdf2

grub진입제한 hash값 접근1

  1. 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진입제한 hash값 접근2

  1. grub 업데이트를 해주고 리부팅하면 grub 파일 진입 시도시 계정과 패스워드를 묻습니다.
grub2-mkconfig -o /boot/grub2/grub.cfg

grub진입제한 hash값 접근3

작업 후 확인 사항

확인사항
  • 로그인이 정상적으로 되는지 확인합니다.
  • 시스템 리부팅 후 서비스나 서버에 문제가 없는지 점검합니다.
노트
  • OS나 버전에 따라 명령어의 차이가 있을 수 있습니다.