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 el modo de usuario único en CentOS 7. También se conoce como " modo de mantenimiento ", donde Linux solo inicia un puñado de servicios de funcionalidad básica para permitir un solo usuario (normalmente un superusuario) realiza ciertas tareas administrativas, como usar fsck para reparar sistemas de archivos dañados.

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

Este es un agujero de seguridad masivo, ya que brinda a los intrusos acceso directo a una 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 , rescue y objetivos de emergencia (que también son modos de usuario único ) son contraseñas Protegido por defecto.

Por ejemplo, cuando intenta cambiar el destino ( nivel de ejecución ) 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ú grub presionando la tecla e para editar la primera opción de inicio.

En la línea del núcleo que comienza con “linux16“ , él/ella puede cambiar el argumento ro a “rw init =/sysroot/bin/sh” y arranque 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 a GRUB con una contraseña mediante las siguientes instrucciones.

Cómo proteger Grub con Grub en CentOS 7

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

# grub2-setpassword

El Hash para la contraseña se almacena en /boot/grub2/user.cfg & amp; el usuario, es decir, "raíz" se define en el archivo /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 arranque que desea proteger con contraseña, comienza con menuentry . Una vez que se localice la entrada, elimine el parámetro --nrestricted .

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. Ha protegido con contraseña su CentOS 7 GRUB-menu.