메뉴 닫기

GRUB파일 수정시 계정 진입 제한하는 법

 

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

iwinv 가상서버는 웹에서 콘솔 서비스를 제공하기 때문에 웹 계정을 도용당하게 될 경우 가상서버 보안에 취약할 수 있습니다.

GRUB Password를 설정하면 GRUB 진입시 패스워드가 필요하기 때문에 가상서버 도용을 방지할 수 있습니다.

해당 내용은 가상서버 뿐만 아니라 물리서버에서도 적용가능한 방법입니다.

 

방법은 두가지가 있으며 원하는 방식을 선택하여 진행하시면 됩니다.

※ 적용방법은 Ubuntu Linux, Rocky Linux 동일합니다.

 

⑴ GRUB파일의 header 파일 수정을 통해 진입 제한하는 방법

 

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

 

2. [VNC Console 접근]을 클릭합니다.

 

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

 

① /etc/grub.d/00_header 파일을 vi 편집기로 연 후 Shift + g 를 통해 파일의 맨 아랫 부분으로 이동 후 아래 양식을 참고해 내용을 추가해줍니다.

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을 클릭하여 리부팅합니다.

# grub 명령어는 운영체제 이미지의 grub 환경에 따라 grub or grub2 명령어가 있을 수 있습니다.

 

grub2-mkconfig -o /boot/grub2/grub.cfg      OR

grub-mkconfig -o /boot/grub2/grub.cfg

 

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

 

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

 

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

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

 

⑥ 파일에 접근이 가능해진 것을 알 수 있습니다.

 

 

 

⑵ HASH값을 통해 진입 제한하는 방법

 

Ubuntu Linux

 

① 아래의 명령어를 입력하면 위 그림과 같이 해시 코드가 생성됩니다.. grub 부터 끝까지 복사해 두도록 합니다.

# grub-mkpasswd-pbkdf2
Enter password:
Reenter password:

 

② vi 편집기를 통해 /etc/grub.d/40_custom 파일을 열고 아래와 같이 설정 값을 넣어줍니다.

vi /etc/grub.d/40_custom

 

③ supersusers와 hash 값을 넣어줍니다.

# 양식

set superusers=”name”
password_pbkdf2 name [long string from earlier]

 

# 예시

set superusers=”root”
password_pbkdf2 root grub.pbkdf2.sha512.10000.799A22C262DAEDDF32207AC6A380CE83A43FACA3E4CE27AB8788C…(중략)

 

④ grub 업데이트를 해주고 리부팅하면 grub 파일 진입 시도시 계정과 패스워드를 묻습니다.

update-grub

 

 

Rocky Linux

 

① 아래 명령어 입력후 계정의 비밀번호를 입력하면 /boot/grub2/user.cfg 파일이 생기고 HASH값이 생성됩니다.

(해당 명령어는 OS나 버전에 따라 grub2가 아니라 grub으로 시작할 수도 있습니다.)

grub2-setpassword

 

② cat 명령어를 통해 해시값을 확인할 수 있습니다.
cat /boot/grub2/user.cfg

 

③ grub 업데이트를 통해 변경한 내용을 적용해줍니다.

grub2-mkconfig -o /boot/grub2/grub.cfg

 

④ 위의 내용까지 적용 후 VNC 콘솔 상에서 SendCtrlAltDel을 눌러 가상 서버를 리부팅 합니다.

 

⑤ 리부팅 후 나온 커널 선택 화면에서 키보드에서 e를 입력합니다.

 

⑥ 계정 ID와 PassWord를 입력합니다.

 

⑦ 위에서 계정 아이디와 비밀번호 입력 후 grub 파일에 진입이 가능한 것을 확인할 수 있습니다.

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x