Поиск по сайту:

Как защитить паролем однопользовательский режим в CentOS 7


В одной из наших предыдущих статей мы описали, как загрузиться в однопользовательском режиме в CentOS 7. Он также известен как «режим обслуживания», когда Linux запускает только несколько служб для обеспечения базовых функций, позволяющих один пользователь (обычно суперпользователь) выполняет определенные административные задачи, например, использует fsck для восстановления поврежденных файловых систем.

В однопользовательском режиме система выполняет однопользовательскую оболочку, в которой вы можете запускать команды без каких-либо учетных данных (имени пользователя и пароля), вы сразу попадаете в ограниченную оболочку с доступом ко всей файловой системе.

Это огромная дыра в безопасности, поскольку она дает злоумышленникам прямой доступ к оболочке (и, возможно, доступ ко всей файловой системе). Поэтому важно защитить паролем однопользовательский режим в CentOS 7, как описано ниже.

В CentOS/RHEL 7 спасение и чрезвычайные цели (которые также являются однопользовательскими режимами) являются паролем. защищено по умолчанию.

Например, когда вы пытаетесь изменить target (runlevel) через systemd на rescue.target (также emergency.target), вам будет предложено ввести пароль root, как показано на следующем снимке экрана.

systemctl isolate rescue.target
OR
systemctl isolate emergency.target

Однако, если злоумышленник имеет физический доступ к серверу, он или она может выбрать ядро для загрузки из пункта меню grub, нажав клавишу e для редактирования первого варианта загрузки.

В строке ядра, которая начинается с “linux16“, он/она может изменить аргумент ro на “rw init=/sysroot/bin/sh ” и загрузиться в однопользовательском режиме на CentOS 7 без запроса системы на ввод пароля root, даже если строка SINGLE=/sbin/sushell изменена на >SINGLE=/sbin/sulogin в файле /etc/sysconfig/init.

Таким образом, единственный способ защитить паролем однопользовательский режим в CentOS 7 – это защитить GRUB паролем, используя следующие инструкции.

Как защитить паролем Grub в CentOS 7

Сначала создайте надежный зашифрованный пароль с помощью утилиты grub2-setpassword, как показано.

grub2-setpassword

Хеш пароля хранится в /boot/grub2/user.cfg, а пользователь, т. е. «root», определяется в / boot/grub2/grub.cfg, вы можете просмотреть пароль с помощью команды cat, как показано.

cat /boot/grub2/user.cfg

Теперь откройте файл /boot/grub2/grub.cfg и найдите загрузочную запись, которую вы хотите защитить паролем. Она начинается с menuentry. Как только запись будет найдена, удалите из нее параметр --unrestricted.

Сохраните файл и закройте его, теперь попробуйте перезагрузить систему CentOS 7 и изменить загрузочные записи, нажав клавишу e, вам будет предложено ввести учетные данные, как показано.

Вот и все. Вы успешно защитили паролем свое меню GRUB CentOS 7.