Sécurisation du Bootloader GRUB¶
Objectif : Empêcher une personne malveillante d'accéder au mode de secours (Single User) sans mot de passe en verrouillant l'accès à l'édition des paramètres de démarrage. La procédure inclut la configuration de GRUB en AZERTY pour éviter les erreurs de frappe, et la sécurisation par empreinte cryptographique.
1. Contexte et Prérequis¶
Par défaut, n'importe qui ayant un accès physique au serveur peut modifier la séquence de démarrage de GRUB en appuyant sur la touche "e". Nous allons verrouiller cette fonctionnalité tout en permettant au serveur de démarrer normalement de façon autonome.
Éléments nécessaires :
-
Un serveur sous Debian (ou distribution GNU/Linux similaire).
-
Un accès avec des privilèges d'administration (
sudoou compteroot).
2. Concepts Clés¶
| Terme | Définition |
|---|---|
grub-kbdcomp |
Outil convertissant la disposition clavier du système vers le format reconnu par GRUB. |
--unrestricted |
Paramètre indiquant à GRUB de démarrer le système d'exploitation par défaut sans demander de mot de passe, réservant l'authentification uniquement à la modification (touche "e"). |
PBKDF2 |
Algorithme de hachage robuste utilisé pour chiffrer l'empreinte de votre mot de passe afin de ne pas le stocker en clair dans les fichiers. |
superusers |
Directive GRUB définissant le ou les comptes ayant le droit de modifier les paramètres d'amorçage. |
3. Procédure étape par étape¶
A. Configuration du clavier en AZERTY¶
Étape 1 : Création du répertoire des dispositions Par défaut, GRUB ne reconnaît que le clavier en QWERTY. Nous allons créer le dossier cible pour héberger notre configuration française.
mkdircrée le dossier cible.sudoexécute la commande avec les privilèges d'administration.
Étape 2 : Génération du fichier de disposition On génère la disposition du clavier dans un fichier reconnu par GRUB :
grub-kbdcompconvertit la disposition.-odéfinit le fichier de sortie, etfrindique la langue source.
Étape 3 : Modification des paramètres par défaut Il faut indiquer à GRUB d'utiliser le clavier physique tel que configuré plutôt que l'entrée standard.
Ajoutez (ou modifiez) cette ligne dans le fichier :
Plaintext
Étape 4 : Ajout du clavier dans la configuration personnalisée
[!warning] Attention : Emplacement du code Ajoutez ces lignes APRÈS le premier
execdu fichier (et non le deuxième).
insmodinsère le module gérant les dispositions, etkeymap frapplique la cartographie française.
Étape 5 : Autoriser le démarrage normal du système Nous allons modifier le générateur de script Debian pour ajouter une exception, afin que le serveur démarre tout seul sans demander le mot de passe à chaque allumage.
Cherchez la variable CLASS (souvent située dans les 50 premières lignes) et ajoutez l'option --unrestricted à la fin de la chaîne :
B. Création de l'utilisateur et du mot de passe¶
Étape 6 : Génération du condensat (hash) du mot de passe La première étape consiste à obtenir l'empreinte cryptographique sécurisée de votre futur mot de passe GRUB.
L'outil vous invite à saisir un mot de passe. Copiez et conservez précieusement la longue chaîne générée (qui commence par grub.pbkdf2...).
Étape 7 : Définition des identifiants Il faut ensuite fournir ce hash et un nom d'utilisateur dans le fichier de configuration personnalisé.
Toujours après le premier exec (à la suite de votre configuration clavier), ajoutez :
set superusersdéfinit "adminsio" comme compte administrateur GRUB.password_pbkdf2associe ce compte au mot de passe haché.
C. Application des modifications¶
Étape 8 : Mise à jour et redémarrage Il reste enfin à prendre en compte ces nouveaux paramètres et à redémarrer le serveur pour tester la configuration.
update-grubcompile les scripts du dossier/etc/grub.d/pour générer la configuration finale lue au démarrage. Dorénavant, une authentification sera demandée pour modifier la séquence de boot avec la touche "e".