ma banniere
Classic Moderne

La protection des entrées d'Ubuntu (GRUB)


La protection des entrées d'Ubuntu (GRUB)

Par défaut, le logiciel chargeur de système Grub inclut dans la liste des choix de système Ubuntu en Recovery mode.
Il suffit de choisir cette option pour profiter des droits root sur la machine, sans avoir à montrer patte blanche (pas de nécessité de mot de passe pour accéder aux droits administrateurs) !



Solution:

Empêcher un intrus de démarrer votre ordinateur en mode recovery.
Pour cela, éditer le fichier "/boot/grub/menu.lst":

gksudo gedit /boot/grub/menu.lst

Pour protéger Grub par un mot de passe, il vous faut déjà un mot de passe.
Grub vous propose par ailleurs de le crypter lui-même en md5 :

grub> md5crypt
md5crypt
Password: votre mot de passe
Encrypted: $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
grub> quit


Décommentez ensuite la ligne correspondant dans le menu.lst en n'oubliant pas de changer le mot de passe encrypté par le vôtre !!!

## password ['--md5'] passwd
# If used in the first section of a menu file, disable all interactive editing
# control (menu entry editor and command-line) and entries protected by the
# command 'lock'
# e.g. password topsecret
# password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
password --md5 "md5 de votre mot ou phrase de passe"
# password topsecret


Pour entrer dans le système, vous devrez entrer votre mot de passe avant de sélectionner l'entrée. Pour cela, tapez simplement sur p.

Maintenant vous avez deux possibilités :
Protéger une seule entrée

C'est assez facile, ajoutez simplement lock à la suite de vos options sur le système voulu :

title Ubuntu 9.04, kernel 2.6.28-14-generic (recovery mode)
lock
uuid e77d8ae8-36d8-42d1-891d-2cf89dbf0b0c
kernel /boot/vmlinuz-2.6.28-14-generic root=UUID=e77d8ae8-36d8-42d1-891d-2cf89dbf0b0c ro single
initrd /boot/initrd.img-2.6.28-14-generic

La commande lock doit être insérée juste après title.

Il est possible d'utiliser la commande password à la place de la commande lock. Dans ce cas, le processus de démarrage exigera le mot de passe et s'arrêtera s'il est incorrect.

Dans la mesure où la commande password prend en compte son propre argument, un mot de passe différent peut être utilisé pour chaque entrée du menu.

Pour être sûr de ne pas vous planter, testez sur un ancien noyau ou un vieux truc histoire de ne pas rester coincé au menu.

Protéger tous les recovery mode

Encore une fois, cela va être assez rapide.
Remplacez :

lockalternative=false

Par :

lockalternative=true

Ainsi, tous vos recovery modes seront protégés et cela même après mise à jour du noyau.


Il est vrai que la première version est plus facile à configurer que la dernière, tout tient en un seul fichier.



A Tester

Éditer le fichier de configuration de grub : gksudo gedit /boot/grub/menu.lst
Décommenter la ligne qui commence par password (enlever le #) et remplacer topsecret par le mot de passe de votre choix
Rajouter l'option lock sur une ligne seule en dessous de la ligne de recovery mode pour que ça ressemble à ça :

title Ubuntu, kernel 2.6.15-26-686 (recovery mode)
lock
root (hd0,5)
kernel /boot/vmlinuz-2.6.15-26-686 root=/dev/sda6 ro single
initrd /boot/initrd.img-2.6.15-26-686
boot

Ça permet de démarrer en safe-mode si on a des problèmes et qu'on a pas oublié le mot de passe.

Il est bien sûr recommandé de configurer le BIOS correctement pour éviter les accès via liveCD.
Mais bon, après reste toujours la possiblité de débrancher la pile qui alimente la mémoire BIOS...






Haut-de-Page