Cómo y por qué proteger el GRUB


En esta ocasión te muestro cómo agregarle a tu sistema operativo un escalón más de seguridad.

Como todos sabemos, las distribuciones GNU/Linux cuentan con uno de los sistemas más seguros e implementan sus propias reglas al igual que otros sistemas operativos. Una de esas reglas es el de nivel de acceso que tienen los usuarios al sistema de archivos, así como las acciones que pueden realizar.

Todo esto es funcional cuando el sistema se ha iniciado y se han cargado estas políticas de seguridad. Pero mientras esto no haya ocurrido, cualquier usuario tiene acceso a ficheros críticos mientras se está iniciando el sistema.

¿Qué es GRUB?

GRUB es el gestor de arranque por defecto de la casi totalidad de las distribuciones GNU/Linux, así como también de UNIX, permite el acceso a estos ficheros del sistema incluso a usuarios sin privilegios de administración.

Igualmente este gestor de arranque nos permite seleccionar entre iniciar nuestra distribución preferida de Linux u otro sistema operativo que se haya instalado en nuestro ordenador.

Para impedir el acceso a estos ficheros o el inicio de otro sistema operativo con el cual pudieran acceder a nuestra información, existe la posibilidad de añadirle una contraseña al gestor de arranque GRUB.

GRUB a prueba de balas

Conociendo esto y sabiendo qué versión de GRUB se ejecuta en nuestro PC (pues existen dos versiones: GRUB Legacy y GRUB 2) estamos listos para entrar en materia.

Lo primero que haremos será abrir una terminal, conocida como consola en los sistemas GNU/Linux, utilizando un usuario con privilegios administrativos. No importa cuál de las dos versiones de GRUB esté presente en nuestro sistema, este paso es común para ambas. Teclea en la consola el comando su

Hecho esto, se nos indicará que introduzcamos la contraseña del usuario root, que es el usuario con máximos privilegios en el sistema. Luego, realiza una de las siguientes instrucciones en dependencia de la versión de GRUB que tengas.

GRUB Legacy

Teclea en la consola:

grub-md5-crypt

Introduce la clave que deseas para el GRUB:

Password:
Retype password:

Del comando anterior se obtiene como resultado la contraseña cifrada:

$1$492A/1$V/L6GPZ2NAGMQodID/yLc1

Abre el archivo /boot/grub/menu.lst:

nano /boot/menu/menu.lst

Al principio del mismo añade la siguiente línea:

password --md5 $1$492A/1$V/L6GPZ2NAGMQodID/yLc1

Después de hecho esto, solo se podrán ejecutar comandos en el prompt de GRUB pulsando la tecla P y escribiendo la contraseña.

No obstante

Los usuarios aún pueden arrancar otros sistemas operativos desde el menú de arranque. Para prevenirlo, añade la palabra lock en cada sección del archivo menu.lst para impedir que se arranque sin introducir la contraseña. Las secciones empiezan con la palabra title y van seguidas del texto que aparece en el menú de GRUB. Por ejemplo:

title Red Hat 9   
kernel (hd0,4)/vmlinuz root=/dev/sda7 vga=791   
initrd (hd0,4)/initrd
lock

Para terminar de editar el archivo menu.lst y grabar los cambios, pulsa la combinación de teclas CONTROL+K+X. Después de reiniciar el sistema, al seleccionar la entrada Red Hat 9 en el menú de arranque, aparecerá el mensaje de error

Error 32: Must be authenticated

Pulsa la tecla Entrar para acceder al menú. Acto seguido pulsa P para obtener un indicador donde introducir la contraseña. Después de introducirla y de pulsar Entrar, debería arrancar el sistema operativo seleccionado (Red Hat 9 en este caso).

Pasos para proteger GRUB 2

Teclea en la consola

grub2-mkpasswd-pbkdf2

Introduce la clave que quieres para GRUB

Enter password: 
Reenter password:

Se obtiene como resultado la contraseña cifrada.

PBKDF2 hash of your password is
grub.pbkdf2.sha512.10000.EAC91CFB569AC8245C13794653FD6DC3C470E9243AB439AA1728FB3842FB4EB

Abre y añade el usuario y la contraseña cifrada al archivo /etc/grub.d/40_custom

nano /etc/grub.d/40_custom

Añade lo siguiente

set superusers="root"
password_pbkdf2 root
 grub.pbkdf2.sha512.10000.EAC91CFB569AC8245C13794653FD6DC3C470E9243AB439AA1728FB3842FB4EB

Por último, ejecuta el siguiente comando para guardar los cambios:

grub2-mkconfig -o /boot/grub2/grub.cfg

Conclusión

Hasta aquí estos pequeños ejemplos de cómo lograr que nuestro ordenador, y por tanto la información que contiene, estén algo más seguros. Espero te sea de utilidad y si tienes algún comentario, sírvete a continuación.

Happy Hacking!