웹사이트 검색

CentOS 7에서 단일 사용자 모드를 비밀번호로 보호하는 방법


이전 기사 중 하나에서 CentOS 7에서 단일 사용자 모드로 부팅하는 방법을 설명했습니다. 이는 "유지 관리 모드"라고도 알려져 있으며, Linux는 기본 기능을 위해 몇 가지 서비스만 시작합니다. 단일 사용자(일반적으로 슈퍼유저)는 fsck를 사용하여 손상된 파일 시스템을 복구하는 등의 특정 관리 작업을 수행합니다.

단일 사용자 모드에서 시스템은 로그인 자격 증명(사용자 이름 및 비밀번호) 없이 명령을 실행할 수 있는 단일 사용자 셸을 실행하며, 전체 파일 시스템에 액세스할 수 있는 제한된 셸로 바로 이동됩니다.

이는 침입자가 쉘에 직접 액세스할 수 있게 하므로(그리고 전체 파일 시스템에 대한 액세스도 가능하므로) 엄청난 보안 허점입니다. 따라서 아래 설명처럼 CentOS 7에서 단일 사용자 모드를 비밀번호로 보호하는 것이 중요합니다.

CentOS/RHEL 7에서 rescueemergency target(단일 사용자 모드이기도 함)은 비밀번호입니다. 기본적으로 보호됩니다.

예를 들어 systemd를 통해 target(runlevel)을 rescue.target(또한 >emergency.target), 다음 스크린샷과 같이 루트 비밀번호를 묻는 메시지가 표시됩니다.

systemctl isolate rescue.target
OR
systemctl isolate emergency.target

그러나 침입자가 서버에 물리적으로 액세스할 수 있는 경우 e 키를 눌러 첫 번째 부팅 옵션을 편집하면 grub 메뉴 항목에서 부팅할 커널을 선택할 수 있습니다.

“linux16“로 시작하는 커널 라인에서 ro 인수를 “rw init=/sysroot/bin/sh ” 로 변경할 수 있습니다. SINGLE=/sbin/sushell 줄이 로 변경되더라도 시스템에서 루트 비밀번호를 묻지 않고 CentOS 7에서 단일 사용자 모드로 부팅합니다. >SINGLE=/sbin/sulogin 파일 /etc/sysconfig/init.

따라서 CentOS 7에서 단일 사용자 모드를 비밀번호로 보호하는 유일한 방법은 다음 지침에 따라 비밀번호로 GRUB를 보호하는 것입니다.

CentOS 7에서 Grub을 비밀번호로 보호하는 방법

먼저 표시된 대로 grub2-setpassword 유틸리티를 사용하여 강력한 암호화된 비밀번호를 만듭니다.

grub2-setpassword

비밀번호의 해시/boot/grub2/user.cfg에 저장되며 사용자는 ”root ”/에 정의됩니다. boot/grub2/grub.cfg 파일에서 표시된 대로 cat 명령을 사용하여 비밀번호를 볼 수 있습니다.

cat /boot/grub2/user.cfg

이제 /boot/grub2/grub.cfg 파일을 열고 비밀번호로 보호하려는 부팅 항목을 검색하세요. 메뉴 항목으로 시작됩니다. 항목을 찾으면 항목에서 --unrestricted 매개변수를 제거하세요.

파일을 저장하고 닫은 후 CentOS 7 시스템을 재부팅하고 e 키를 눌러 부팅 항목을 수정하면 표시된 대로 자격 증명을 제공하라는 메시지가 표시됩니다.

그게 다야. CentOS 7 GRUB 메뉴를 성공적으로 비밀번호로 보호했습니다.