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.
[root@localhost ~]# grub2-setpassword
Enter password:
Confirm password:
[root@localhost ~]#
El comando anterior genera el fichero de seguridad para grub /etc/grub.d/01_users con el siguiente contenido:
[root@localhost 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
[root@localhost 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.
A continuación eliminamos la siguiente línea del fichero /etc/grub.d/10_linux:
[root@localhost ~]# cat /etc/grub.d/10_linux |grep -i restri
CLASS="--class gnu-linux --class gnu --class os --unrestricted"
[root@localhost ~]#
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:
[root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
done
[root@localhost ~]#
- 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:
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.
[root@localhost grub.d]# rm 01_users
rm: remove regular file '01_users'? y
[root@localhost grub.d]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
done
[root@localhost grub.d]#
Te puede interesar
- Limitar el uso de CPU y memoria desde Grub
- Encriptación de discos en Linux (LUKS)
- Conexiones seguras con SSH
Mi pasión por la tecnología me lleva constantemente a explorar las últimas tendencias y aplicaciones, buscando siempre formas de implementar soluciones innovadoras que mejoren la eficiencia. En puerto53.com comparto contenido valioso para ayudar a otros profesionales y entusiastas de la informática a navegar y dominar el complejo mundo de la tecnología. Mi especialidad en Linux RedHat.
Más sobre mí en el este enlace,
Muy interezante todo lo de Linux RedHat.
Puedo instalar RedHat Linux en una laptop LENOVO T460s, que quiero usar con linux? Y si es asi, de donde se puede bajar el redhat?
Gracias
Hola Luís, en https://access.redhat.com/downloads/ puedes descargarte cualquier distribución de RedHat, incluidas las versiones «Live». Te recomiendo que pruebes una versión live en tu ordenador antes de instalar el sistema en el disco duro.
También tienes otras alternativas, como instalar RedHat en una maquina virtual de VMWare, por ejemplo, o, incluso, otra distribución de Linux basada en RedHat, como CentOS, la cuál, utilizo mucho en proyectos.
Un saludo.