Búsqueda de sitios web

Cómo proteger con contraseña el modo de usuario único en CentOS 7


En uno de nuestros artículos anteriores, describimos cómo iniciar en modo de usuario único en CentOS 7. También se conoce como "modo de mantenimiento", donde Linux solo inicia un puñado de servicios para que la funcionalidad básica permita un único usuario (normalmente un superusuario) realiza determinadas tareas administrativas, como utilizar fsck para reparar sistemas de archivos dañados.

En el modo de usuario único, el sistema ejecuta un shell de usuario único donde puede ejecutar comandos sin ninguna credencial de inicio de sesión (nombre de usuario y contraseña), y accede directamente a un shell limitado con acceso a todo el sistema de archivos.

Este es un enorme agujero de seguridad ya que brinda a los intrusos acceso directo a un shell (y posible acceso a todo el sistema de archivos). Por lo tanto, es importante proteger con contraseña el modo de usuario único en CentOS 7 como se explica a continuación.

En CentOS/RHEL 7, los objetivos de rescate y de emergencia (que también son modos de usuario único) son contraseña protegido por defecto.

Por ejemplo, cuando intentas cambiar el destino (runlevel) a través de systemd a rescue.target (también emergency.target), se le pedirá una contraseña de root como se muestra en la siguiente captura de pantalla.

systemctl isolate rescue.target
OR
systemctl isolate emergency.target

Sin embargo, si un intruso tiene acceso físico a un servidor, puede seleccionar un kernel para iniciar desde el elemento del menú de grub presionando la tecla e para editar la primera opción de inicio.

En la línea del kernel que comienza con “linux16“, puede cambiar el argumento ro a “rw init=/sysroot/bin/sh ” e iniciar en modo de usuario único en CentOS 7 sin que el sistema solicite una contraseña de root, incluso si la línea SINGLE=/sbin/sushell se cambia a SINGLE=/sbin/sulogin en el archivo /etc/sysconfig/init.

Por lo tanto, la única forma de proteger con contraseña el modo de usuario único en CentOS 7 es proteger GRUB con contraseña siguiendo las siguientes instrucciones.

Cómo proteger con contraseña Grub en CentOS 7

Primero cree una contraseña cifrada segura usando la utilidad grub2-setpassword como se muestra.

grub2-setpassword

El Hash de la contraseña se almacena en /boot/grub2/user.cfg y el usuario, es decir, "root" se define en / boot/grub2/grub.cfg, puede ver la contraseña usando el comando cat como se muestra.

cat /boot/grub2/user.cfg

Ahora abra el archivo /boot/grub2/grub.cfg y busque la entrada de inicio que desea proteger con contraseña, comienza con menuentry. Una vez ubicada la entrada, elimine el parámetro --unrestricted.

Guarde el archivo y ciérrelo, ahora intente reiniciar el sistema CentOS 7 y modifique las entradas de inicio presionando la tecla e; se le pedirá que proporcione las credenciales como se muestra.

Eso es todo. Ha protegido con éxito con contraseña su menú GRUB de CentOS 7.