Proteger el cargador de arranque

Saltar a: navegación, buscar

Incluso antes de que se haya iniciado el sistema operativo, GRUB permite el acceso a los sistemas de archivos. Los usuarios sin permisos de administrador pueden acceder a los ficheros del sistema Linux a los que no podrían acceder una vez se hubiera iniciado el sistema. Para impedir este tipo de acceso o para evitar que los usuarios inicien otros sistemas operativos se puede añadir una contraseña a GRUB.

Al introducir contraseñas no se muestra ningún carácter por motivos de seguridad. Además, las contraseñas siempre se piden dos veces para confirmar que la escribió correctamente.

Dialogo informacion 64x64.png

Ejecute una terminal (consola) para realizar las operaciones que se indican a continuación e inicie una sesión como administrador con la orden

su -

Al hacerlo se le pedirá que introduzca la contraseña de administrador. Los pasos a seguir son distintos si se está utilizando GRUB legacy que si se está usando GRUB2. Este último se usa por defecto a partir de la versión 12.2 de openSUSE.

GRUB2

Ejecute el comando

grub2-mkpasswd-pbkdf2

Introduzca la contraseña y vuelva a hacerlo para confirmar que la ha escrito bien.

Enter password:

Reenter password:

Como resultado obtendrá la contraseña.

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

Ahora hay que añadir el usuario y la contraseña cifrada al archivo /etc/grub.d/40_custom. Ejecute el editor con la orden

joe /etc/grub.d/40_custom

y añada lo siguiente

set superusers="root"

password_pbkdf2 root grub.pbkdf2.sha512.10000.EAC91CFB569AC8245C13794653FD6DC3C470E9243AB439AA1728FB3842FB4EB

Por último, ejecutamos el siguiente comando para guardar los cambios

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


GRUB legacy

Ejecute el comando

grub-md5-crypt

e introduzca la clave que quiere para GRUB:

Password:
Retype password:

Obtendrá como resultado la contraseña cifrada.

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

Abra el archivo /boot/grub/menu.lst con la orden

joe /boot/menu/menu.lst

y añada la siguiente línea al principio del mismo

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

A partir de ahora solo se podrán ejecutar comandos en el prompt de GRUB pulsando la tecla P y escribiendo la contraseña. Sin embargo, los usuarios aún pueden arrancar otros sistemas operativos desde el menú de arranque. Para prevenir esto, añada la palabra lock en cada sección del archivo menu.lst para la que no quiera permitir 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 linux
   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, pulse la combinación de teclas CONTROL+K+X. Después de reiniciar el sistema, al seleccionar la entrada linux en el menú de arranque, aparecerá el mensaje de error

Error 32: Must be authenticated

Pulse la tecla Entrar para acceder al menú. Entonces pulse 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 (linux en este caso)