Aller au contenu

Sécurisation du démarrage (boot)

·429 mots

⚠️ Cette partie modifie des composantes importantes de votre ordinateur/système d’exploitation. Cela peut endommager votre ordinateur/système d’exploitation
⚠️ Bien se renseigner avant d’exécuter ces commandes/modifications

Dans le bios
#

Il est possible d’activer l’accès par un mot de passe aux paramètres du bios, et au choix du périphérique de boot. Cela permet d’éviter que quelqu’un démarre votre ordinateur avec une clé USB, ou un CD, par exemple.

Configurer votre bios, pour un boot sur le disque dur principal par défaut.

Mais cela laisse tout de même l’ordinateur démarrer sans demander de mot de passe au niveau du bios en démarrage normal (c’est à dire sans accéder aux paramètres ni changer le périphérique de boot).

Dans Grub, le programme d’amorçage de linux
#

Avec Grub installé, il est facile de démarrer l’ordinateur en ligne de commande root, et donc de contourner les mots de passe que vous avez défini pour root et les utilisateurs. Donc il faut sécuriser cet accès aussi.

  1. Création du mot de passe crypté avec la commande
    ⚠️ Lorsque Grub demandera le mot passe (et nom d’utilisateur), le clavier sera en qwerty … pensez-y avant de définir votre mot de passe (et nom d’utilisateur).⚠️

    grub-mkpasswd-pbkdf2
    

    Le (long) mot de passe crypté à copier commence par grub.pbkdf2.
    Par exemple

    grub.pbkdf2.sha512.10000.333F9E8A6104C etc.....
    
  2. Éditer le fichier

    sudo nano /etc/grub.d/00_header
    

    Ajouter à la fin du fichier les lignes suivantes en complétant avec le nom d’utilisateur que vous désirez (à la place de WXYZ), et votre mot de passe crypté (à la place de celui en exemple)

    cat << EOF
    set superusers="WXYZ"
    password_pbkdf2 WXYZ grub.pbkdf2.sha512.10000.333F9E8A6104C etc.....
    EOF
    
  3. Édition de la configuration de Grub

    sudo 	nano /etc/grub.d/10_linux
    

    Trouver ces 2 lignes commençant par echo “menuentry

    	echo "menuentry '$(echo "$title" | grub_quote)' ${CLASS} \$menuentry_id_option 'gnulinux-$version-$type-$boot_device_id' ......
    else
    	echo "menuentry '$(echo "$os" | grub_quote)' ${CLASS} \$menuentry_id_option 'gnulinux-simple-$boot_device_id'  .....
    fi
    

    Modifier la seconde ligne commençant par echo “menuentry, en ajoutant aprés ${CLASS} ceci –unrestricted. Cela donne

    echo "menuentry '$(echo "$os" | grub_quote)' ${CLASS} --unrestricted \$menuentry_id_option 'gnulinux-simple-$boot_device_id'  .....
    
  4. Enfin exécuter la commande

    sous debian => sudo update-grub
    sous Arch => sudo grub-mkconfig -o /boot/grub/grub.cfg
    

Pour vérifier que cela fonctionne bien, redémarrer l’ordinateur sans rien faire dans un premier temps. Il ne devrait y avoir aucun changement par rapport à un démarrage normal (avant cette modification). Puis redémarrer encore, et au moment de l’affiche de Grub, appuyer sur la touche e, on vous demande un utilisateur et mot de passe (ceux créés juste avant). Et vous pouvez modifier les fameux paramètres de démarrage …

Documentation sur Grub, et les mots de passe : https://help.ubuntu.com/community/Grub2/Passwords , ainsi que https://computingforgeeks.com/protect-grub-with-password-on-debian-ubuntu-kali-linux/