Proteger GRUB con Contraseña

Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp
Share on telegram
Share on email

Es una buena medida de seguridad configurar una contraseña al servicio de grub para que ningún atacante pueda modificar la configuración de boot durante el reboot de un servidor.

A continuación, lo vamos a hacer en Linux RedHat 8.

Configurar la contraseña en grub

Para establecer una contraseña en grub, ejecutaremos el comando grub2-setpassword.

[[email protected] ~]# grub2-setpassword
Enter password: 
Confirm password: 
[[email protected] ~]# 

El comando anterior genera el fichero de seguridad para grub /etc/grub.d/01_users con el siguiente contenido:

HP Color Laser MFP 178nw 4ZB96A, Impresora Láser Color Multifunción, Imprime, Escanea y...
  • Imprime a doble cara manualmente, escanea y fotocopia documentos con negros nítidos y colores vibrantes; la velocidad de impresión es de 18 ppm en negro...
  • La bandeja de entrada cuenta con una capacidad de hasta 150 hojas, la bandeja de salida con una capacidad de hasta 50 hojas y un escáner de superficie...
  • Conectividad: Wi-Fi, Wi-Fi Direct, Fast Ethernet, Puerto USB 2.0 de alta velocidad, HP Smart App, Apple AirPrint y Mopria
[[email protected] grub.d]# cat 01_users 
#!/bin/sh -e
cat << EOF
if [ -f \${prefix}/user.cfg ]; then
  source \${prefix}/user.cfg
  if [ -n "\${GRUB2_PASSWORD}" ]; then
    set superusers="root"
    export superusers
    password_pbkdf2 root \${GRUB2_PASSWORD}
  fi
fi
EOF
[[email protected] grub.d]#

Como podemos observar, las tres últimas directivas están diciendo que solamente el usuario root puede editar la configuración de grub durante el arranque del sistema.

Esta sección también debe existir dentro del fichero /boot/grub2/grub.cfg, de lo contrario, no funcionará la solicitud de contraseña.

Configuracion grub.cfg para la solicitud de contraseña

A continuación eliminamos la siguiente línea del fichero /etc/grub.d/10_linux:

[[email protected] ~]# cat /etc/grub.d/10_linux |grep -i restri
CLASS="--class gnu-linux --class gnu --class os --unrestricted"
[[email protected] ~]# 

Aplicar la nueva configuración de grub

Una vez que ya hemos configurado grub, tenemos que aplicar la nueva contraseña. Dependiendo de si nuestro sistema usa BIOS o UEFI, el comando a ejecutar será uno o otro. Veamos un ejemplo:

  • BIOS:
[[email protected] ~]# grub2-mkconfig -o /boot/grub2/grub.cfg 
Generating grub configuration file ...
done
[[email protected] ~]#
  • UEFI: Con UEFI apuntaremos a otro path distinto:
grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg

Comprobar que se ha establecido correctamente la contraseña de grub

Para comprobar que la configuración aplicada es correcta, vamos a rebotar nuestro sistema e intentar editar la configuración de arranque:

Establecer contraseña a grub

Como vemos, nos ha pedido la contraseña.

Eliminar la contraseña de Grub

Para eliminar la contraseña de grub, tendremos que eliminar el fichero 01_users y volver a aplicar la configuración de grub.

[[email protected] grub.d]# rm 01_users 
rm: remove regular file '01_users'? y
[[email protected] grub.d]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
done
[[email protected] grub.d]# 

Te puede interesar

¿Te ha gustado? Compártelo

Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp
Share on telegram
Share on email
About Author

Contenido Relacionado

Artículos Recientes

Deja un comentario