Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
utilisateurs:watts:brouillon_securite_grub [Le 25/03/2020, 12:02] Watts [Modifier le script 10_linux] |
utilisateurs:watts:brouillon_securite_grub [Le 03/06/2023, 08:39] (Version actuelle) geole [Autres pages en rapport] |
||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
====== Sécuriser Grub2 de manière avancée ====== | ====== Sécuriser Grub2 de manière avancée ====== | ||
- | Ce tutoriel s'adresse à des utilisateurs confirmés en utilisation de la ligne de commande et en dépannage de démarrage. Sinon, vous allez droit vers la réinstallation pure et simple ! | + | Ce tutoriel s'adresse à des utilisateurs confirmés en utilisation de la ligne de commande et en dépannage de démarrage. Sinon, vous allez droit vers la réinstallation pure et simple ! |
Ce tutoriel explique comment sécuriser le menu [[:grub-pc|Grub]] de manière avancée. Si protéger l'édition des entrées est déjà un point important, il ne faut pas oublier que n'importe qui peut démarrer un noyau en mode [[:recovery_mode|recovery]], et obtenir une console root par la suite! Il serait donc avantageux de ne permettre l'accès à un noyau recovery qu'en possession du mot de passe. | Ce tutoriel explique comment sécuriser le menu [[:grub-pc|Grub]] de manière avancée. Si protéger l'édition des entrées est déjà un point important, il ne faut pas oublier que n'importe qui peut démarrer un noyau en mode [[:recovery_mode|recovery]], et obtenir une console root par la suite! Il serait donc avantageux de ne permettre l'accès à un noyau recovery qu'en possession du mot de passe. | ||
Ligne 12: | Ligne 12: | ||
<note warning>Les manipulations qui suivent peuvent vous faire complétement perdre l'accès à votre système. Aussi, pensez à faire une sauvegarde du fichier grub.cfg grâce à cette ligne: | <note warning>Les manipulations qui suivent peuvent vous faire complétement perdre l'accès à votre système. Aussi, pensez à faire une sauvegarde du fichier grub.cfg grâce à cette ligne: | ||
- | <code bash>sudo cp /boot/grub/grub.cfg /boot/grub/grub.cfg.old</code> | + | <code bash>sudo cp -p /boot/grub/grub.cfg /boot/grub/grub.cfg.$(date --rfc-3339=date)</code> |
+ | |||
+ | 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 [[:tutoriel:comment_sauver_et_restaurer_un_fichier]]. | Voir également [[:tutoriel:comment_sauver_et_restaurer_un_fichier]]. | ||
Ligne 18: | Ligne 20: | ||
Munissez vous d'un support d'installation de Ubuntu (ou de toute autre distribution permettant d'avoir une [[:live_usb|session live]]), et vérifiez bien que vous pouvez démarrer dessus. Une fois en session live, il suffira d'exécuter | Munissez vous d'un support d'installation de Ubuntu (ou de toute autre distribution permettant d'avoir une [[:live_usb|session live]]), et vérifiez bien que vous pouvez démarrer dessus. Une fois en session live, il suffira d'exécuter | ||
- | <code bash>sudo mv mnt/boot/grub/grub.cfg.old mnt/boot/grub/grub.cfg</code> | + | <code bash>sudo cp -p mnt/boot/grub/grub.cfg.DATE mnt/boot/grub/grub.cfg</code> |
- | si la racine de votre système est montée sur mnt. | + | 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. | Pour toutes ces raisons, ce tutoriel n'est pas adapté aux débutants en ligne de commande. | ||
Ligne 30: | Ligne 32: | ||
* Disposer des [[:sudo|droits d'administration]] | * Disposer des [[:sudo|droits d'administration]] | ||
* Avoir [[:tutoriel:comment_sauver_et_restaurer_un_fichier|sauvegardé les fichiers]] importants: **/boot/grub/grub.cfg**, **/etc/grub.d/00_security_header**, **/etc/grub.d/10_linux** et **/etc/grub.d/30_os_prober** (si vous êtes en dual boot) | * Avoir [[:tutoriel:comment_sauver_et_restaurer_un_fichier|sauvegardé les fichiers]] importants: **/boot/grub/grub.cfg**, **/etc/grub.d/00_security_header**, **/etc/grub.d/10_linux** et **/etc/grub.d/30_os_prober** (si vous êtes en dual boot) | ||
- | * Avoir en cas de besoin d'un [[:live_usb|live USB]] ou d'un [[:live_cd|live CD]] permettant d'essayer Ubuntu | + | * Avoir en cas de besoin d'un [[:live_usb|live USB]] ou d'un [[:live_cd|live CD]] permettant [[:live_cd#session_livequ_est-ce_que_c_est|d'essayer Ubuntu]] |
Normalement à ce stade vous devriez posséder un fichier **00_security_header** ressemblant à celui ci: | Normalement à ce stade vous devriez posséder un fichier **00_security_header** ressemblant à celui ci: | ||
Ligne 45: | Ligne 47: | ||
</code> | </code> | ||
- | 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, que le superusers toto soit créé et fonctionne. | + | 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, que le superusers toto soit créé et fonctionne. |
===== Modifier le script 00_security_header ===== | ===== Modifier le script 00_security_header ===== | ||
Ligne 59: | Ligne 61: | ||
</code> | </code> | ||
- | 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'elles soient valables dans les autres fichiers de configuration de Grub. | + | 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'elles soient valables dans les autres fichiers de configuration de Grub. |
Voilà maintenant à quoi ressemble **00_security_header** | Voilà maintenant à quoi ressemble **00_security_header** | ||
Ligne 90: | Ligne 92: | ||
</code> | </code> | ||
- | C'est la ligne qui définit toutes les entrées des noyaux dans le sous menu "Options avancées". | + | C'est la ligne qui définit toutes les entrées des noyaux dans le sous menu "Options avancées". |
* Nous allons écrire **\$restricted** afin d'inclure le contenu de la variable restricted dans la ligne d'entrée ci dessus et enlever la variable **\$menuentry_id_option**, qui annulerait ce qu'on vient d'écrire. Cela donne: | * Nous allons écrire **\$restricted** afin d'inclure le contenu de la variable restricted dans la ligne d'entrée ci dessus et enlever la variable **\$menuentry_id_option**, qui annulerait ce qu'on vient d'écrire. Cela donne: | ||
Ligne 108: | Ligne 110: | ||
===== En cas de dual-boot avec un autre Système type Debian ===== | ===== 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 "Options Avancées"), les manipulations ci haut sont à faire sur le grub maître (celui qui se lance). | + | Si vous êtes en dual-boot avec un autre système fonctionnant de la même manière (avec un sous menu "Options Avancées"), les manipulations ci haut sont à faire sur le grub maître (celui qui se lance). |
- | De plus, de manière personnelle, pour limiter les entrées répétitives, je désactive le script **30_os-prober** pour tout les grub non maître: | + | De plus, de manière personnelle, pour limiter les entrées répétitives, je désactive le script **30_os-prober** pour tout les grub non maître: |
<code bash>sudo chmod -x /etc/grub.d/30_os-prober</code> | <code bash>sudo chmod -x /etc/grub.d/30_os-prober</code> | ||
Ligne 120: | Ligne 122: | ||
==== Modification de 30_os-prober ==== | ==== 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 "Options Avancées" et de faire la même manipulation que dans la partie précédente. | + | 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 "Options Avancées" et de faire la même manipulation que dans la partie précédente. |
* Ligne 292, vous avez: | * Ligne 292, vous avez: | ||
Ligne 144: | Ligne 146: | ||
* [[:grub-pc]] | * [[:grub-pc]] | ||
* [[:securite]] | * [[:securite]] | ||
+ | ===== Discussions en rapport ===== | ||
+ | * [[https://forum.ubuntu-fr.org/viewtopic.php?pid=22682349#p22682349|Posei]] | ||
//Contributeurs principaux : [[:utilisateurs:watts]] | //Contributeurs principaux : [[:utilisateurs:watts]] |