GNU/Linux >> Tutoriels Linux >  >> Linux

Comment protéger par mot de passe le chargeur de démarrage Grub sous Linux

Si vous êtes un administrateur système Linux, vous ne voudrez peut-être pas d'autres personnes dans votre service informatique, qui ont un accès physique au serveur, modifiez quoi que ce soit dans le menu du chargeur de démarrage GRUB qui s'affiche au démarrage du système.

GRUB est la 3ème étape du processus de démarrage Linux dont nous avons parlé plus tôt.

Les fonctions de sécurité GRUB vous permettent de définir un mot de passe pour les entrées grub. Une fois que vous avez défini un mot de passe, vous ne pouvez plus modifier les entrées grub ou transmettre des arguments au noyau à partir de la ligne de commande grub sans saisir le mot de passe.

Il est fortement recommandé de définir un mot de passe GRUB sur tous les systèmes de production critiques, comme expliqué dans cet article.

1. Utilisez la commande grub password dans grub.conf

Sur un système où GRUB n'est pas sécurisé avec le mot de passe, le message suivant s'affichera juste sous le menu GRUB lors du démarrage du système.

Comme vous le voyez dans ce message, quiconque se trouve devant la console en train de redémarrer le serveur peut éditer les commandes grub, ou même modifier les arguments du noyau, ce qui causera probablement des problèmes, si quelqu'un qui ne sait pas ce qu'il fait, joue avec cela sur les systèmes de production.

Use the up-arrow and down-arrow keys to select which entry is highlighted. 
Press enter to boot the selected OS,
'e' to edit the commands before booting, 
'a' to modify the kernel arguments before booting, or
'c' for a command-line

/boot/grub/grub.conf contient des informations sur les entrées affichées dans le menu GRUB lors du démarrage du système. Sur certains systèmes, /etc/grub.conf est un lien symbolique vers /boot/grub/grub.conf

Ajoutez la ligne « mot de passe » suivante au fichier grub.conf.

$ cat /etc/grub.conf
default=0
timeout=15
password GrbPwd4SysAd$
..

Une fois la commande "password" ajoutée à grub.conf, le message suivant s'affichera juste sous le menu GRUB lors du démarrage du système.

Comme vous le voyez dans ce message, sans entrer le mot de passe GRUB que vous avez donné dans le fichier grub.conf, personne ne peut modifier les commandes grub ou modifier les arguments du noyau. Tout ce qu'ils peuvent faire est de sélectionner l'une des entrées affichées et de démarrer à partir d'ici.

Use the up-arrow and down-arrow keys to select which entry is highlighted. 
Press enter to boot the selected OS or
'p' to enter a password to unlock the next set of features.

2. Chiffrez le mot de passe grub à l'aide de grub-crypt

En lisant l'entrée ci-dessus, vous vous êtes probablement dit :Oui, le grub est sécurisé par un mot de passe. Mais, le mot de passe lui-même est en texte clair dans le fichier grub.conf, ce qui va à l'encontre de l'objectif.

Vous pouvez utiliser l'utilitaire grub-crypt pour créer un mot de passe chiffré.

grub-crypt obtiendra le mot de passe en clair de l'utilisateur et affichera le mot de passe crypté comme indiqué ci-dessous.

# grub-crypt
Password: GrbPwd4SysAd$
Retype password: GrbPwd4SysAd$
^9^32kwzzX./3WISQ0C

Modifiez le fichier grub.conf, ajoutez l'entrée "password" avec l'argument -encrypted comme indiqué ci-dessous. Copiez simplement la sortie de la commande grub-crypt et collez-la après l'argument "–encrypted" dans l'entrée du mot de passe.

$ cat /etc/grub.conf
default=0
timeout=15
password --encrypted ^9^32kwzzX./3WISQ0C
..

Par défaut, la commande grub-crypt crypte le mot de passe à l'aide de l'algorithme SHA-512. Vous pouvez également chiffrer le mot de passe à l'aide des algorithmes SHA-256 ou MD5, comme indiqué ci-dessous.

# grub-crypt --sha-256
# grub-crypt --md5

Vous pouvez également utiliser md5crypt pour chiffrer le mot de passe. Dans ce cas, vous devez utiliser "password –md5 encrypted-password" dans votre fichier grub.conf.

Dans la section script de votre fichier grub.conf, si vous spécifiez "lock", grub exécutera le reste des commandes dans cette section de l'entrée de menu uniquement si l'utilisateur est authentifié.

3. Charger un fichier différent pour le menu Grub

Par défaut, les entrées du menu GRUB au démarrage du système sont extraites du fichier grub.conf. c'est-à-dire basé sur la ligne qui commence par l'entrée "title" du fichier grub.conf.

Si vous testez une variante d'un nouveau noyau, vous souhaiterez peut-être créer un fichier de menu grub séparé contenant les entrées de menu personnalisées. Lors du démarrage du système, par défaut, seules les entrées de grub.conf seront affichées. Cependant, lorsque vous entrez un mot de passe, vous pouvez demander à grub de charger vos entrées de menu personnalisées.

Ceci est réalisé en passant le nom du fichier de menu personnalisé à la commande de mot de passe comme indiqué ci-dessous dans le fichier grub.conf.

Dans l'exemple suivant, il chargera et affichera les entrées du menu grub à partir de /etc/mymenu.lst lorsque vous fournirez le mot de passe lors du démarrage du système.

$ cat /etc/grub.conf
default=0
timeout=15
password --encrypted ^9^32kwzzX./3WISQ0C /etc/mymenu.lst
..

Linux
  1. Comment gérer le mot de passe du compte sous Linux

  2. Comment changer le mot de passe sous Linux (commande passwd)

  3. Linux - Comment changer le mot de passe root oublié ?

  4. Linux – Comment désinstaller Grub ?

  5. Comment vérifier le mot de passe avec Linux?

Comment protéger par mot de passe un dossier sous Linux

Comment ajouter un mot de passe pour protéger un fichier Vim sous Linux

Chargeur de démarrage GRUB

Comment protéger GRUB avec un mot de passe sous Linux ?

Comment protéger par mot de passe GRUB2 dans Oracle Enterprise Linux 7

CentOS / RHEL 6 :comment protéger grub par mot de passe (démarrage protégé par mot de passe)