Securité, Ubuntu

Ajouter un mot de passe à Grub2 pour mieux protéger votre distribution Ubuntu

Attention : cet article présente des manipulations peuvent casser votre système, ou vous empêcher d’ouvrir votre session, si elles sont mal exécutées !

Après avoir publié mon récent billet Restaurer votre mot de passe root oublié sous Ubuntu et Debian GNU/Linux, et à en croire les emails que j’ai reçu, beaucoup se sont étonnés que les distributions GNU/Linux, se sont pas aussi protégées out of the box comme ils le pensaient. En effet dès que les gens ont un accès physique à ta machine, les plus malins trouveront toujours un moyen pour contourner les mesures de sécurité mises en place. Mais pas de panique, il existe plusieurs méthodes qui permettent de renforcer la protection de votre distribution.

Parmi ces techniques, je peux vous citer par exemple le mot de passe pour bios (qu’on peut facilement bypasser !), le chiffrement des partitions ou encore protéger le bootloader (grub2) par un mot de passe. C’est cette dernière technique que je vais détailler aujourd’hui. Je reviendrai sûrement les jours (semaines ?) qui viennent à la deuxième.

Comme c’est marqué dans le titre de l’article, c’est Grub2 qui est concerné ici, si vous n’êtes pas certains de la version installée sur votre distro, exécutez cette commande :

grub-install -v

Si c’est la version 1.99 ou ultérieure qui est installé, alors vous pouvez continuer la lecture de ce billet, autrement faite une upgrade du grub.

Avant de commencer, faites une sauvegarde du fichier /etc/grub.d/00_header comme ça en cas de souci, vous pouvez réparer les dégâts.

Éditer /etc/grub.d/00_header, à la fin du fichier ajouter les lignes ci-dessous :

cat << EOF
set superusers="crowd42"
password user motDePasse
EOF

Si vous d’autres personnes utilisent votre ordinateur, et que vous ne souhaitez pas leur filer les identifiants du compte admin(superuser) qu’on vient de créer, alors vous voudrez peut-être leurs créer des comptes. Dans ce cas, voici les lignes que vous devez ajouter :

cat << EOF
set superusers="crowd42"
password crowd42 motDePasse
password foo motDePasseDeFoo
password bar motDePAsseDeBar
EOF

Cependant, un risque subsiste. En effet, les mots de passe sont sauvegardés en clair, ce qui est pas très prudent. Heureusement, les développeurs de Grub2 y ont pensé et ils ont intégré une fonction qui résout ça.

grub-mkpasswd_pbkdf2

Ensuite, nous allons copier/coller le hash retourné par la commande précédente dans notre fichier /etc/grub.d/00_header :

cat << EOF
set superusers="crowd42"
password pbkdf2 crowd42 grub.pbkdf2.sha512.10000.D911754F2299C60356FB0092A3ABA16D0B754BDCE227DD35CAAC6D10B6
EOF

Reproduisez cette action avec tous les autres utilisateurs que vous avez ajouté à Grub2, on est jamais à l’abri d’une mauvaise surprise ;)

Ajouter un mot de passe à Grub2 pour mieux protéger votre distribution Ubuntu

4 Comments

  1. Adrien Dorsaz

    C’est chouette et bien pensé, mais il reste toujours le problème du LiveCD : si on peut mettre un livecd/liveusb/… dans la machine et l’exécuter, on peut devenir root sur l’OS du livecd et voir toutes vos données.

    Le plus sûr est donc de mettre un mot de passe directement sur le démarrage de votre PC (pour éviter que n’importe qui le démarre avec un livecd), sur son BIOS (enfin, UEFI de nos jours, pour éviter que l’on vous modifie votre configuration) et de crypter totalement le disque dur (autrement, il suffit d’enlever le disque dur et de le brancher sur un autre PC pour accéder à toutes vos données).

  2. Antoine

    @Adrien Dorsaz: Cela n’empêchera personne de démonter le disque dur, puis de le remonter sur un autre pc, pour en récupérer les données.

  3. Adrien Dorsaz

    @Antoine : oui, mais s’il est crypté, comme je l’ai proposé, il passera beaucoup de temps à essayer de déchiffrer tes données (tu seras mort avant normalement).

Trackbacks / Pings

Laisser un commentaire