CentOS 7에서 단일 사용자 모드를 비밀번호로 보호하는 방법
이전 기사 중 하나에서 CentOS 7에서 단일 사용자 모드로 부팅하는 방법을 설명했습니다. 이는 "유지 관리 모드"라고도 알려져 있으며, Linux는 기본 기능을 위해 몇 가지 서비스만 시작합니다. 단일 사용자(일반적으로 슈퍼유저)는 fsck를 사용하여 손상된 파일 시스템을 복구하는 등의 특정 관리 작업을 수행합니다.
단일 사용자 모드에서 시스템은 로그인 자격 증명(사용자 이름 및 비밀번호) 없이 명령을 실행할 수 있는 단일 사용자 셸을 실행하며, 전체 파일 시스템에 액세스할 수 있는 제한된 셸로 바로 이동됩니다.
이는 침입자가 쉘에 직접 액세스할 수 있게 하므로(그리고 전체 파일 시스템에 대한 액세스도 가능하므로) 엄청난 보안 허점입니다. 따라서 아래 설명처럼 CentOS 7에서 단일 사용자 모드를 비밀번호로 보호하는 것이 중요합니다.
CentOS/RHEL 7에서 rescue 및 emergency 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 메뉴를 성공적으로 비밀번호로 보호했습니다.