GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo proteger con contraseña el cargador de arranque Grub en Linux

Si usted es un administrador de sistemas Linux, es posible que no desee que otros en su departamento de TI tengan acceso físico a la servidor, cambie cualquier cosa del menú del cargador de arranque GRUB que se muestra durante el inicio del sistema.

GRUB es la tercera etapa en el proceso de arranque de Linux que discutimos anteriormente.

Las características de seguridad de GRUB le permiten establecer una contraseña para las entradas de grub. Una vez que establece una contraseña, no puede editar ninguna entrada de grub ni pasar argumentos al núcleo desde la línea de comandos de grub sin ingresar la contraseña.

Se recomienda enfáticamente configurar la contraseña de GRUB en cualquier sistema de producción crítico como se explica en este artículo.

1. Use el comando de contraseña de grub en grub.conf

En un sistema donde GRUB no está protegido con la contraseña, se mostrará el siguiente mensaje justo debajo del menú de GRUB durante el inicio del sistema.

Como puede ver en este mensaje, cualquiera que esté frente a la consola reiniciando el servidor puede editar los comandos de grub o incluso modificar los argumentos del núcleo, lo que probablemente causará problemas, si alguien que no sabe lo que está haciendo, juega con esto en los sistemas de producción.

Use the up-arrow and down-arrow keys to select which entry is highlighted. 
Press enter to boot the selected OS,
'e' to edit the commands before booting, 
'a' to modify the kernel arguments before booting, or
'c' for a command-line

/boot/grub/grub.conf contiene información sobre las entradas que se muestran en el menú de GRUB durante el inicio del sistema. En algunos sistemas, /etc/grub.conf es un enlace simbólico a /boot/grub/grub.conf

Agregue la siguiente línea de "contraseña" al archivo grub.conf.

$ cat /etc/grub.conf
default=0
timeout=15
password GrbPwd4SysAd$
..

Una vez que se agrega el comando "contraseña" a grub.conf, se mostrará el siguiente mensaje justo debajo del menú de GRUB durante el inicio del sistema.

Como puede ver en este mensaje, sin ingresar la contraseña de GRUB que proporcionó en grub.conf, nadie puede editar los comandos de grub o modificar los argumentos del kernel. Todo lo que pueden hacer es seleccionar una de las entradas mostradas y arrancar desde aquí.

Use the up-arrow and down-arrow keys to select which entry is highlighted. 
Press enter to boot the selected OS or
'p' to enter a password to unlock the next set of features.

2. Cifre la contraseña de grub usando grub-crypt

Mientras leía la entrada anterior, probablemente pensó:Sí, el grub está protegido por una contraseña. Pero, la contraseña en sí está en texto sin cifrar en el archivo grub.conf, lo que anula el propósito.

Puede usar la utilidad grub-crypt para crear una contraseña cifrada.

grub-crypt obtendrá la contraseña de texto claro del usuario y mostrará la contraseña cifrada como se muestra a continuación.

# grub-crypt
Password: GrbPwd4SysAd$
Retype password: GrbPwd4SysAd$
^9^32kwzzX./3WISQ0C

Modifique el archivo grub.conf, agregue la entrada "contraseña" con el argumento -encrypted como se muestra a continuación. Simplemente copie el resultado del comando grub-crypt y péguelo después del argumento “–encrypted” en la entrada de la contraseña.

$ cat /etc/grub.conf
default=0
timeout=15
password --encrypted ^9^32kwzzX./3WISQ0C
..

De forma predeterminada, el comando grub-crypt cifra la contraseña mediante el algoritmo SHA-512. También puede cifrar la contraseña con algoritmos SHA-256 o MD5 como se muestra a continuación.

# grub-crypt --sha-256
# grub-crypt --md5

También puede usar md5crypt para cifrar la contraseña. En ese caso, debe usar "contraseña –md5 contraseña cifrada" en su archivo grub.conf.

Dentro de la sección de script de su archivo grub.conf, si especifica "bloquear", grub ejecutará el resto de los comandos en esa sección de la entrada del menú solo si el usuario está autenticado.

3. Cargue un archivo diferente para el menú Grub

De forma predeterminada, las entradas en el menú de GRUB durante el inicio del sistema se toman del archivo grub.conf. es decir, basado en la línea que comienza con la entrada "título" del archivo grub.conf.

Si está probando alguna variación de un nuevo kernel, es posible que desee crear un archivo de menú grub separado que contenga las entradas de menú personalizadas. Durante el inicio del sistema, por defecto mostrará solo las entradas de grub.conf. Sin embargo, cuando ingresa una contraseña, puede indicarle a grub que cargue sus entradas de menú personalizadas.

Esto se logra pasando el nombre del archivo del menú personalizado al comando de contraseña como se muestra a continuación en el archivo grub.conf.

En el siguiente ejemplo, cargará y mostrará las entradas del menú de grub desde /etc/mymenu.lst cuando proporcione la contraseña durante el inicio del sistema.

$ cat /etc/grub.conf
default=0
timeout=15
password --encrypted ^9^32kwzzX./3WISQ0C /etc/mymenu.lst
..

Linux
  1. Cómo administrar la contraseña de la cuenta en Linux

  2. Cómo cambiar la contraseña en Linux (comando passwd)

  3. Linux:¿cómo cambiar la contraseña de root olvidada?

  4. Linux – ¿Cómo desinstalar Grub?

  5. ¿Cómo comprobar la contraseña con Linux?

Cómo proteger con contraseña una carpeta en Linux

Cómo agregar una contraseña para proteger un archivo Vim en Linux

Cargador de arranque GRUB

¿Cómo proteger GRUB con contraseña en Linux?

Cómo proteger con contraseña GRUB2 en Oracle Enterprise Linux 7

CentOS / RHEL 6:cómo proteger con contraseña grub (arranque protegido con contraseña)