Pourquoi un chargeur de démarrage Linux devrait-il être protégé par un mot de passe ?
Voici les principales raisons pour lesquelles un mot de passe protège un chargeur de démarrage Linux :
1. Empêcher l'accès au mode mono-utilisateur – Si un attaquant peut démarrer en mode mono-utilisateur, il devient l'utilisateur root.
2. Empêcher l'accès à la console GRUB – Si la machine utilise GRUB comme chargeur de démarrage, un attaquant peut utiliser l'interface de l'éditeur GRUB pour modifier sa configuration ou pour collecter des informations à l'aide de la commande cat.
3. Empêcher l'accès aux systèmes d'exploitation non sécurisés – S'il s'agit d'un système à double démarrage, un attaquant peut sélectionner au démarrage un système d'exploitation, tel que DOS, qui ignore les contrôles d'accès et les autorisations de fichiers.
Mot de passe protégeant GRUB2
Suivez les étapes ci-dessous pour protéger GRUB2 par mot de passe dans RHEL 7.
1. Supprimer –illimité de la CLASS= principale déclaration dans /etc/grub.d/10_linux fichier.
Cela peut être fait en utilisant sed pour remplacer le
# sed -i "/^CLASS=/s/ --unrestricted//" /etc/grub.d/10_linux
2. Si un utilisateur n'a pas encore été configuré, utilisez grub2-setpassword pour définir un mot de passe pour l'utilisateur root :
# grub2-setpassword
Cela crée un fichier /boot/grub2/user.cfg s'il n'est pas déjà présent, qui contient le mot de passe haché du chargeur de démarrage GRUB. Cet utilitaire ne prend en charge que les configurations où il y a un seul utilisateur root.
Exemple de fichier /boot/grub2/user.cfg :
# cat /boot/grub2/user.cfg GRUB2_PASSWORD=grub.pbkdf2.sha512.10000.CC6F56BFCFB90C49E6E16DC7234BF4DE4159982B6D121DC8EC6BF0918C7A50E8604CA40689A8B26EA01BF2A76D33F7E6C614E6289ABBAA6944ECB2B6DEB2F3CF.4B929016A827C36142CC126EB47E86F5F98E92C8C2C924AD0C98436E4699DF7536894F69BB904FDB5E609B9A5D67E28A7D79E8521C0B0AE6C031589FA0452A21
3. Recréez la configuration grub avec grub2-mkconfig :
# grub2-mkconfig -o /boot/grub2/grub.cfg Generating grub configuration file ... Found linux image: /boot/vmlinuz-3.10.0-327.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-327.el7.x86_64.img Found linux image: /boot/vmlinuz-0-rescue-f9725b0c842348ce9e0bc81968cf7181 Found initrd image: /boot/initramfs-0-rescue-f9725b0c842348ce9e0bc81968cf7181.img done
4. Redémarrez le serveur et vérifiez.
# shutdown -r now
Notez que toutes les entrées de menu grub définies nécessiteront désormais la saisie d'un utilisateur et d'un mot de passe à chaque fois au démarrage ; désormais, le système ne démarrera aucun noyau sans intervention directe de l'utilisateur depuis la console. Lorsque vous êtes invité à entrer l'utilisateur, entrez "root". Lorsque vous êtes invité à saisir le mot de passe, saisissez ce qui a été transmis à la commande grub2-setpassword :
Supprimer la protection par mot de passe
Pour supprimer la protection par mot de passe, nous pouvons ajouter le –unrestricted texte dans le principal CLASS= déclaration dans /etc/grub.d/10_linux déposer à nouveau. Une autre méthode consiste à supprimer le fichier /boot/grub2/user.cfg qui stocke le mot de passe haché du chargeur de démarrage GRUB.
Restreindre uniquement l'édition des entrées du menu GRUB
Si vous souhaitez simplement empêcher les utilisateurs d'entrer dans la ligne de commande grub et de modifier les entrées de menu (par opposition à un verrouillage complet des entrées de menu), alors tout ce qui est nécessaire est l'exécution de grub2-setpassword commande.