Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
utilisateurs:watts:brouillon_securite_grub [Le 14/03/2020, 13:10] – [Conclusion] Watts | utilisateurs:watts:brouillon_securite_grub [Le 29/03/2020, 11:55] (Version actuelle) – [Sécuriser Grub2 de manière avancée] Watts | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
+ | ====== Sécuriser Grub2 de manière avancée ====== | ||
+ | Ce tutoriel s' | ||
+ | |||
+ | Ce tutoriel explique comment sécuriser le menu [[: | ||
+ | |||
+ | Il faut savoir que votre ordinateur ne sera pas forcément protégé à 100% (puisqu' | ||
+ | |||
+ | <note important> | ||
+ | |||
+ | <note warning> | ||
+ | |||
+ | <code bash> | ||
+ | |||
+ | La sauvegarde du fichier grub.cfg sera suffixé par la date de la sauvegarde, ce qui permettra de le retrouver plus facilement en cas de multiples sauvegardes. | ||
+ | |||
+ | Voir également [[: | ||
+ | |||
+ | Munissez vous d'un support d' | ||
+ | |||
+ | <code bash> | ||
+ | |||
+ | si la racine de votre système est montée sur mnt. | ||
+ | |||
+ | Pour toutes ces raisons, ce tutoriel n'est pas adapté aux débutants en ligne de commande. | ||
+ | Il est également possible de modifier directement le grub.cfg pour pouvoir rebooter (mais il faut savoir ce qu'on fait). | ||
+ | </ | ||
+ | |||
+ | ===== Prérequis ===== | ||
+ | |||
+ | * Disposer des [[: | ||
+ | * Avoir [[: | ||
+ | * Avoir en cas de besoin d'un [[: | ||
+ | |||
+ | Normalement à ce stade vous devriez posséder un fichier **00_security_header** ressemblant à celui ci: | ||
+ | |||
+ | < | ||
+ | |||
+ | cat <<EOF | ||
+ | |||
+ | set superusers=" | ||
+ | |||
+ | password_pbkdf2 toto grub.pbkdf2.sha512.10000.891DC34A2C0492FD76FA0E2D01B37F13FB3B3FD5A57D0838C4894D895CFAE206F9A2EA5ED3C1286AF7C44A1BBF4C9D4E2AD4AE4EBD376F4674FC8ACCEF65D92D.49656B11F58E309EC930E7B0CD76F63E67840E65E50F1F23FED0EA9D668291DFB0D10608BEEEC3C9F33AB68895C2EFDD7F7CDEE1CB58FD96CF12B9A507EACCCC | ||
+ | set menuentry_id_option=" | ||
+ | EOF | ||
+ | </ | ||
+ | |||
+ | Le mot de passe n'est pas identique, mais c'est normal. Ce qui compte, c'est que le script fasse son travail. En particulier, | ||
+ | |||
+ | ===== Modifier le script 00_security_header ===== | ||
+ | |||
+ | Nous allons maintenant effacer la ligne " | ||
+ | |||
+ | < | ||
+ | set restricted=" | ||
+ | export superusers | ||
+ | export menuentry_id_option | ||
+ | export restricted | ||
+ | EOF | ||
+ | </ | ||
+ | |||
+ | Nous utilisons une variable pour déterminer les utilisateurs autorisés à faire quelque chose (nous définirons le quelque chose plus tard) Les commandes **export** permettent de changer la portée des variables afin qu' | ||
+ | |||
+ | Voilà maintenant à quoi ressemble **00_security_header** | ||
+ | |||
+ | < | ||
+ | |||
+ | cat <<EOF | ||
+ | |||
+ | set superusers=" | ||
+ | |||
+ | password_pbkdf2 toto grub.pbkdf2.sha512.10000.891DC34A2C0492FD76FA0E2D01B37F13FB3B3FD5A57D0838C4894D895CFAE206F9A2EA5ED3C1286AF7C44A1BBF4C9D4E2AD4AE4EBD376F4674FC8ACCEF65D92D.49656B11F58E309EC930E7B0CD76F63E67840E65E50F1F23FED0EA9D668291DFB0D10608BEEEC3C9F33AB68895C2EFDD7F7CDEE1CB58FD96CF12B9A507EACCCC | ||
+ | set menuentry_id_option=" | ||
+ | set restricted=" | ||
+ | export superusers | ||
+ | export menuentry_id_option | ||
+ | export restricted | ||
+ | EOF | ||
+ | </ | ||
+ | |||
+ | ===== Modifier le script 10_linux ===== | ||
+ | |||
+ | <note important> | ||
+ | |||
+ | Pour restreindre les parties de Grub que nous voulons, il va falloir " | ||
+ | |||
+ | * Avec votre éditeur favori, allez à la ligne 132. Vous voyez normalement cette ligne: | ||
+ | |||
+ | <code bash> | ||
+ | echo " | ||
+ | </ | ||
+ | |||
+ | C'est la ligne qui définit toutes les entrées des noyaux dans le sous menu " | ||
+ | |||
+ | * Nous allons écrire **\$restricted** afin d' | ||
+ | |||
+ | <code bash> | ||
+ | echo " | ||
+ | </ | ||
+ | |||
+ | * Faites maintenant: | ||
+ | |||
+ | <code bash> | ||
+ | |||
+ | * Redémarrez votre ordinateur afin de vous assurer de la prise en compte correcte des options. Normalement, | ||
+ | |||
+ | <note warning> | ||
+ | |||
+ | ===== En cas de dual-boot avec un autre Système type Debian ===== | ||
+ | |||
+ | Si vous êtes en dual-boot avec un autre système fonctionnant de la même manière (avec un sous menu " | ||
+ | |||
+ | De plus, de manière personnelle, | ||
+ | |||
+ | <code bash> | ||
+ | |||
+ | Sinon, le problème est bien pire. Les entrées de l'OS maître se retrouvent dans le menu " | ||
+ | |||
+ | Il reste à sécuriser le menu " | ||
+ | |||
+ | ==== Modification de 30_os-prober ==== | ||
+ | |||
+ | Le fichier **30_os-prober** génère le menu grub pour les autres systèmes détectés par os-prober. Il suffit de trouver la ligne concernant le menu " | ||
+ | |||
+ | * Ligne 292, vous avez: | ||
+ | |||
+ | <code bash> | ||
+ | |||
+ | * Il faut remplacer **\$menuentry_id_option** par **\$restricted**, | ||
+ | |||
+ | <code bash> | ||
+ | |||
+ | * Puis, dans le terminal: | ||
+ | |||
+ | <code bash> | ||
+ | |||
+ | * Redémarrer pour vérifier. Cette fois, dès l' | ||
+ | |||
+ | ===== Conclusion ===== | ||
+ | |||
+ | Vous avez désormais un menu grub somme toute assez robuste, ce qui n' | ||
+ | |||
+ | ===== Autres pages en rapport ===== | ||
+ | |||
+ | * [[: | ||
+ | * [[: | ||
+ | |||
+ | |||
+ | // |