Vous avez peut-être entendu parler de ce vieil adage - "boot access==root access" . C'est bien vrai ! Toute personne pouvant accéder au chargeur de démarrage peut facilement obtenir l'accès root à votre système. Nous avons déjà publié un guide décrivant comment réinitialiser le mot de passe root sous Linux . Ce didacticiel vous a appris à réinitialiser ou à récupérer facilement le mot de passe de l'utilisateur root via le chargeur de démarrage Grub. Une fois que quelqu'un a un accès physique et/ou bootloader à une machine, il n'y a aucun moyen de l'arrêter. C'est pourquoi nous devons ajouter une sécurité supplémentaire en protégeant le Grub Bootloader avec un mot de passe fort. Si vous êtes un administrateur Linux, vous devez savoir comment sécuriser votre chargeur de démarrage. Ce guide explique comment protéger le chargeur de démarrage Grub avec un mot de passe dans CentOS. J'ai testé ce guide sur les systèmes CentOS 6.x et CentOS 7.x et cela a très bien fonctionné comme décrit ci-dessous.
Protection par mot de passe GRUB Bootloader dans RHEL 6.x, CentOS 6.x
Dans les anciennes distributions Linux comme CentOS 6.x, RHEL 6.x, Grub est le chargeur de démarrage par défaut. Cette section décrit comment définir le mot de passe grub dans les systèmes CentOS 6.x.
Avant d'apporter des modifications, il est toujours recommandé de sauvegarder le fichier de configuration GRUB
# cp /etc/grub.conf /etc/grub.conf.bak
Tout d'abord, nous devons chiffrer le mot de passe. Pour ce faire, connectez-vous à votre système centos en tant qu'utilisateur root et créez un fichier nommé grub
comme indiqué ci-dessous. Toutes les commandes données ci-dessous doivent être exécutées en tant que root
utilisateur.
# touch grub
Ensuite, cryptez le mot de passe en utilisant "md5crypt
" commande. Pour ce faire, exécutez la commande suivante depuis le terminal et appuyez sur la touche ENTRÉE.
# grub-md5-crypt>grub
Entrez votre mot de passe deux fois. Veuillez noter que vous ne verrez rien lorsque vous tapez le mot de passe sur votre écran. Tapez simplement le mot de passe de toute façon et appuyez sur ENTRÉE, puis retapez le même mot de passe et appuyez sur ENTRÉE.
Le mot de passe a été crypté. Ensuite, nous devons ajouter ce mot de passe dans /etc/grub.conf
fichier.
Maintenant, ajoutons le mot de passe dans le grub.conf
dossier. Pour cela, ouvrez les deux fichiers grub et /etc/grub.conf
fichiers.
# vi /root/grub /etc/grub.conf
La commande ci-dessus ouvrira les deux fichiers dans vi
éditeur.
Vous verrez le mot de passe crypté comme ci-dessous. Déplacez le pointeur du curseur et placez-le devant le mot de passe. Ensuite, tapez yy
pour extraire (copier) le mot de passe.
Mot de passe :Retapez le mot de passe :$1$Ch0NF/$0XsWw8.EW31vRjm5zsnPb/

Et puis, tapez :n (deux-points n ). Cela vous fera passer au fichier suivant, c'est-à-dire /etc/grub.conf
.

Après le splashimage=(hd0,0)/grub/splash.xpm.gz
ligne, appuyez sur p
pour coller le mot de passe crypté du fichier précédent.
Ensuite, appuyez sur i
et ajoutez la ligne password --md5
avant le mot de passe crypté comme indiqué ci-dessous.
mot de passe --md5 $1$I2w2s1$EPZtrLn/h2M4qfh48ZL8O0
Reportez-vous à la capture d'écran suivante pour plus de précisions.

Ici, $1$I2w2s1$EPZtrLn/h2M4qfh48ZL8O0
est le mot de passe grub crypté de mon système CentOS 6. Remplacez-le par le vôtre.
Ensuite, appuyez sur ESC et tapez :wq
pour enregistrer le fichier et le fermer.
Redémarrez votre système.
À partir de maintenant, vous ne pouvez plus modifier le menu grub sans entrer d'abord le mot de passe.

Pour modifier le menu Grub, appuyez sur p
. Il vous sera demandé d'entrer le mot de passe. Entrez simplement le mot de passe pour déverrouiller le menu de démarrage de Grub.

Maintenant, vous pouvez apporter les modifications souhaitées dans le menu de démarrage grub.

Protection par mot de passe GRUB2 Bootloader dans RHEL 7.x, CentOS 7.x
Dans RHEL 7 et ses clones comme CentOS 7, Scientific Linux 7, Grub2 est le chargeur de démarrage par défaut. La protection du chargeur de démarrage Grub2 avec un mot de passe est différente de celle du chargeur de démarrage grub.
Tout d'abord, créez le mot de passe crypté à l'aide de la commande suivante en tant que root
utilisateur :
# grub2-mkpasswd-pbkdf2
Exemple de résultat :
Mot de passe:mot de passe Ressaisissez:hachage PBKDF2 de votre mot de passe est grub.pbkdf2.sha512.10000.62C46DE64C6BDE39A440092F521F86E24F486F5F9FE58B38D1CA9DDA27D6DDA6A6F5615836537B31AF2D06D2C5A8C6BE26709269A08E81286357501882016523.FD91A05503B0538FBA4CF9783A13727C43917E63528FF9FFC9917E4780B9C420CEDAE98451CF9256BA77AC144FA6734CA193D1E4183AC71E1F297BD7868FFC4B
Nous venons de créer un mot de passe crypté pour sécuriser le bootloader Grub2.
Comme vous le savez peut-être déjà, Ce n'est pas recommandé pour éditer et coller le mot de passe nouvellement généré directement dans le fichier de configuration principal de grub2.
Au lieu de cela, nous devrions ajouter le mot de passe dans un fichier de menu Grub2 personnalisé qui se trouve dans /etc/grub.d/
répertoire, et enfin mettre à jour le fichier de configuration principal de Grub2, c'est-à-dire /etc/grub.cfg
.
Faites une copie du fichier de menu Grub2 personnalisé :
# cp /etc/grub.d/40_custom /etc/grub.d/40_custom.bak
Ensuite, modifiez le fichier de configuration du menu Grub2 personnalisé en tant que root
utilisateur :
# vi /etc/grub.d/40_custom
Ajoutez les lignes suivantes. Assurez-vous d'avoir collé le mot de passe correct que nous avons généré précédemment.
=set superutilisateurs "root" root password_pbkdf2 grub.pbkdf2.sha512.10000.62C46DE64C6BDE39A440092F521F86E24F486F5F9FE58B38D1CA9DDA27D6DDA6A6F5615836537B31AF2D06D2C5A8C6BE26709269A08E81286357501882016523.FD91A05503B0538FBA4CF9783A13727C43917E63528FF9FFC9917E4780B9C420CEDAE98451CF9256BA77AC144FA6734CA193D1E4183AC71E1F297BD7868FFC4B

Appuyez sur ESC et tapez :wq
pour enregistrer et fermer le fichier.
Il est maintenant temps de mettre à jour le fichier de configuration principal de Grub2.
Assurez-vous d'avoir une copie de sauvegarde du fichier de configuration principal de Grub2.
# cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak
Mettez à jour le fichier de configuration du chargeur de démarrage Grub2 à l'aide de la commande :
# grub2-mkconfig -o /boot/grub2/grub.cfg
Exemple de résultat :
Génération du fichier de configuration de grub ...Image linux trouvée :/boot/vmlinuz-3.10.0-327.22.2.el7.x86_64Image initrd trouvée :/boot/initramfs-3.10.0-327.22.2.el7.x86_64. Image linux imgtrouvée :/boot/vmlinuz-3.10.0-327.13.1.el7.x86_64Image initrd trouvée :/boot/initramfs-3.10.0-327.13.1.el7.x86_64.imgImage linux trouvée :/boot/vmlinuz-3.10 .0-123.9.3.el7.x86_64Image initrd trouvée :/boot/initramfs-3.10.0-123.9.3.el7.x86_64.imgImage linux trouvée :/boot/vmlinuz-3.10.0-123.el7.x86_64Image initrd trouvée :/boot/initramfs-3.10.0-123.el7.x86_64.imgImage Linux trouvée :/boot/vmlinuz-0-rescue-e250d471d5594282ba042c653cfa0172Image initrd trouvée :/boot/initramfs-0-rescue-e250d471d5594282cfa042c65Vous pouvez vérifier si le mot de passe a été défini correctement dans le
/etc/grub2.cfg
fichier comme indiqué ci-dessous.# chat /etc/grub2.cfgExemple de sortie :
![]()
Nous sommes prêts. Redémarrez votre système pour vérifier si le chargeur de démarrage a été sécurisé avec un mot de passe.
Après avoir redémarré le système, essayez de modifier le chargeur de démarrage Grub2. Pour ce faire, appuyez sur
e
.![]()
Il vous sera demandé d'entrer le nom d'utilisateur et le mot de passe que nous avons définis à l'étape précédente.
![]()
Si vous avez entré le nom d'utilisateur et le mot de passe corrects, vous pourrez modifier le chargeur de démarrage Grub2.
![]()
Vous savez maintenant comment protéger par mot de passe le chargeur de démarrage Grub et Grub2 sous Linux. La définition du mot de passe Grub peut ne pas protéger complètement votre système. Cependant, cela ajoutera certainement une couche de sécurité supplémentaire à vos serveurs CentOS Linux.