lunes, 29 de diciembre de 2008

Poner contraseña al Menú del Grub

El gestor de arranque Grub en Guadalinex viene configurado de serie de forma que permite arrancar el Sistema en el "modo recovery" sin pedir la contraseña de root (administrador), con lo que tiene eso de inseguro, ya que una vez en el recovery mode puedes actuar como root sin que se te haya pedido ninguna contraseña, y también lo inseguro que desde la misma pantalla del menú del Grub se puedan editar las líneas de arranque. Para evitar esto, tienes la posibilidad de proteger Grub con su propia contraseña, o con la misma de root:1- poniendo una contraseña que evite la edición del propio menú 2- poniendo una contraseña que bloquee el acceso al modo recovery y/o a cualquiera de las otras líneas del menú 3- bloqueando totalmente el acceso, sin posibilidad de desbloquearlo con una contraseña, a alguna de las opciones del menú del Grub.  Si has instalado Guadalinex en un pendrive este método lo puedes usar también en él, dificultara el acceso a tus archivos personales si se te pierde.

Grub soporta dos formas diferentes para añadir una contraseña de acceso: la primera usa texto sin cifrado, y la segunda utiliza cifrado md5.  También se puede bloquear una entrada concreta del menú del Grub, con el comando "lock".
Para ponerle una contraseña debes editar (como root) el fichero /boot/grub/menu.lst de la siguiente forma ( sudo gedit /boot/grub/menu.list ):

1- Poner contraseña al Menú del Grub: justo antes del title del primer menú añades la línea: password xxx ( Donde xxx es  una contraseña en modo texto) o la línea password --xxx ( donde xxx es una contraseña cifrada ). Para esto último en una consola y como root escribimos el siguiente comando: grub-md5-crypt
Te pedirá una contraseña y su verificación (en nuestro ejemplo es "usuario22n" ), como resultado te dará unos caracteres ( en el ejemplo: $1$f/Nfq$1YrrUM0adYBh/xHCj2UEB1  ) ,los copias,los pegas en el fichero /boot/grub/menu.lst antes de la lista de entradas de arranque añade:
password --$1$f/Nfq$1YrrUM0adYBh/xHCj2UEB1
Con esto ya tienes el menú Grub con contraseña, de forma que no te aparece la posibilidad de editarlo ( tecleando "e" ) si antes no pones la contraseña, tecleando "p".

2- Poner una contraseña a una entrada concreta del Menú del Grub: Si quieres que por ejemplo la entrada al Modo Recovery tenga también una contraseña, pones la línea: password xxx entre la línea title y la línea root. En este caso recomiendo poner una contraseña en modo texto, y que sea la misma del root para no tener que recordar mas contraseñas. Se puede poner de la misma forma contraseñas a las demás líneas del menú del grub.

3- Bloquear una entrada concreta del menú del Grub: con el comando lock: por ejemplo para impedir que se pueda ejecutar la línea del menú "memtest86+" lo que se hace es poner entre la línea de title y la de root, el comando lock. Se puede bloquear la entrada de la misma forma a las demás líneas del menú del Grub.

4- Ejemplo en mi menú del Grub:  lo que tengo puesto es:
- una contraseña cifrada para impedir que se pueda editar el menú del Grub    ( esta  contraseña es más segura que la contraseña en modo texto, y no necesito acordarme de ella, pues si necesitase editar el menú del Grub no lo haría desde esa pantalla, sino una vez funcionando el sistema )
- una contraseña en modo texto ( la misma que la contraseña de root, para no tener que acordarme de mas contraseñas) , para impedir bajo contraseña el acceso al Modo Recovery.
- un bloqueo total al modo "memtest86+", con el comando lock

Ejemplo de una parte de mi /boot/grub/menu.lst:

##splashimage=(hd0,1)/boot/grub/splah.xpm.gz
password --$1$f/Nfq$1YrrUM0adYBh/xHCj2UEB1
title        Guadalinex V5, kernel 2.6.24-19-generic
root        (hd0,1)
kernel        /boot/vmlinuz-2.6.24-19-generic root=UUID=2b2f1a9a-e73b-4750-a41a-bde927a8e141 ro quiet splash locale=es_ES
initrd        /boot/initrd.img-2.6.24-19-generic
quiet

title        Guadalinex V5, kernel 2.6.24-19-generic (recovery mode)
password usuario22n
root        (hd0,1)
kernel        /boot/vmlinuz-2.6.24-19-generic root=UUID=2b2f1a9a-e73b-4750-a41a-bde927a8e141 ro single
initrd        /boot/initrd.img-2.6.24-19-generic

title        Guadalinex V5, memtest86+
lock
root        (hd0,1)
kernel        /boot/memtest86+.bin
quiet

5- Poner contraseña usando un programa gráfico:
Hay un paquete que se llama starupmanager (se puede instalar desde Synaptic) que sirve para modificar estas opciones si no se quiere hacer editando el archivo /boot/grub/menu.lst.
Ejecutar con alt+f2: su-to-root -X -c /usr/sbin/startupmanager ( o desde en Sistema-Administración-Adminsitrador de Arranque -nos pide la contraseña de root- y en la pestaña seguridad se puede poner contraseña 1- al cargador de arranque  2- al modo recovery  3- a las opciones antiguas de arranque.

6- Deshacer el camino si se nos olvidan estas contraseñas:
Si nos olvidamos de estas contraseñas no podremos editar el menú del Grub o entrar en la parte que hayamos bloqueado con contraseña, para restaurar a la situación sin contraseñas, tendremos que iniciar el pc desde un cd live de la distro, y desde ahí editar de forma inversa el archivo /boot/grub/menu.lst del sistema ( cuidado no editar el /boot/grub/menu.lst  del cd live, ya que si editáramos éste no quitaríamos las contraseñas al menú del Grub del sistema instalado en el disco duro )

---------------------------------------

1 comentario:

A la vez que haces un comentario, por favor da una puntuación al tema: malo, normal, bueno o muy bueno.
Gracias.