Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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]] ​
  • utilisateurs/watts/brouillon_securite_grub.1585134137.txt.gz
  • Dernière modification: Le 25/03/2020, 12:02
  • par Watts