Outils pour utilisateurs

Outils du site


fr:crypted_installation

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
fr:crypted_installation [2017/01/26 14:30]
didier
fr:crypted_installation [2019/11/18 12:54] (Version actuelle)
Ligne 3: Ligne 3:
 ====== Installation de Slint avec des partitions cryptées ====== ====== Installation de Slint avec des partitions cryptées ======
  
-Installer Slint avec des partitions cryptées rend très difficile l'​accès par des tiers non autorisées aux informations stockées sur ces partitions. Cet article propose une des manières les plus accessibles de la faire.+Installer Slint avec des partitions cryptées rend très difficile l'​accès par des tiers non autorisées aux informations stockées sur ces partitions. Cet article propose une des manières les plus accessibles de le faire.
  
 <note important>​L'​auteur de ces lignes est un simple utilisateur,​ non un expert en la matière. Documentez-vous auprès de sources plus compétentes si vos données à crypter sont cruciales. J'en propose quelques unes, mais votre esprit critique doit toujours s'​exercer.</​note>​ <note important>​L'​auteur de ces lignes est un simple utilisateur,​ non un expert en la matière. Documentez-vous auprès de sources plus compétentes si vos données à crypter sont cruciales. J'en propose quelques unes, mais votre esprit critique doit toujours s'​exercer.</​note>​
Ligne 11: Ligne 11:
   * Le cryptage est inopérant pour un tiers pouvant accéder à la phrase de passe (//​passphrase//​ en Anglais).   * Le cryptage est inopérant pour un tiers pouvant accéder à la phrase de passe (//​passphrase//​ en Anglais).
   * Si vous oubliez la phrase de passe vous ne pourrez plus accéder à vos données. Elles seront définitivement perdues.   * Si vous oubliez la phrase de passe vous ne pourrez plus accéder à vos données. Elles seront définitivement perdues.
-  * Le risque de perdre des données ou au moins l'​accès à celles-ci la suite d'une fausse manœuvre ou d'une défaillance d'un périphérique est élevé, et les conséquences peut-être plus importantes que celles d'un vol ou d'une divulgation. Si vous tenez à vos données, **sauvegardez-les** (cryptées, bien entendu). Si elles n'en valent pas la peine, leur cryptage est peut-être superflu ... +  * Le risque de perdre des données ou au moins l'​accès à celles-ci ​à la suite d'une fausse manœuvre ou d'une défaillance d'un périphérique est élevé, et les conséquences peut-être plus importantes que celles d'un vol ou d'une divulgation. Si vous tenez à vos données, **sauvegardez-les** (cryptées, bien entendu). Si elles n'en valent pas la peine, leur cryptage est peut-être superflu ... 
   * Lire à ce sujet la section 6 [[https://​gitlab.com/​cryptsetup/​cryptsetup/​wikis/​FrequentlyAskedQuestions#​6-backup-and-data-recovery|Backup and Data Recovery]] de la FAQ de cryptsetup.   * Lire à ce sujet la section 6 [[https://​gitlab.com/​cryptsetup/​cryptsetup/​wikis/​FrequentlyAskedQuestions#​6-backup-and-data-recovery|Backup and Data Recovery]] de la FAQ de cryptsetup.
 </​note>​ </​note>​
Ligne 18: Ligne 18:
  
 Nous vous proposons d'​utiliser les logiciels et options suivants: Nous vous proposons d'​utiliser les logiciels et options suivants:
-  * le pilote intégré au noyau Linux dm-crypt. dm est l'​acronyme de //Device Mapper// ou mappeur de périphérique. Sa fonction est d"associer au périphérique (ou à une de ses partitions) un nom de fichier par lequel on y accédera après avoir ouvert la communication en tapant la phrase de passe. ​+  * le pilote intégré au noyau Linux dm-crypt. dm est l'​acronyme de //Device Mapper// ou mappeur de périphérique. Sa fonction est d'associer au périphérique (ou à une de ses partitions) un nom de fichier par lequel on y accédera après avoir ouvert la communication en tapant la phrase de passe. ​
   * L'​utilitaire associé (en ligne de commande) cryptsetup, qui permet comme son nom l'​indique de paramétrer le cryptage.   * L'​utilitaire associé (en ligne de commande) cryptsetup, qui permet comme son nom l'​indique de paramétrer le cryptage.
   * L'​option LUKS (pour Linux Unified Key Setup) de cryptsetup. En gros, cela consiste à crypter des partitions et non des périphériques blocs dans leur totalité. Pour en savoir plus, voir la [[https://​gitlab.com/​cryptsetup/​cryptsetup/​wikis/​LUKS-standard/​on-disk-format.pdf|spécification de LUKS]].   * L'​option LUKS (pour Linux Unified Key Setup) de cryptsetup. En gros, cela consiste à crypter des partitions et non des périphériques blocs dans leur totalité. Pour en savoir plus, voir la [[https://​gitlab.com/​cryptsetup/​cryptsetup/​wikis/​LUKS-standard/​on-disk-format.pdf|spécification de LUKS]].
Ligne 32: Ligne 32:
 Nous proposons ici un schéma simple, qui peut convenir pour un utilisateur individuel (ordinateur de bureau ou ordinateur mobile). Nous proposons ici un schéma simple, qui peut convenir pour un utilisateur individuel (ordinateur de bureau ou ordinateur mobile).
  
-Pour les besoins de l'​exposé nous supposerons que la machine est doté de deux unités de stockage: un SSD (mais ce pourrait aussi bien être un disque dur) sur lequel Slint sera installé et un disque dur hébergeant des données volumineuses mais à accès relativement peu fréquent (photos, vidéos, musique archives diverses).+Pour les besoins de l'​exposé nous supposerons que la machine est dotée ​de deux unités de stockage: un SSD (mais ce pourrait aussi bien être un disque dur) sur lequel Slint sera installé et un disque dur hébergeant des données volumineuses mais à accès relativement peu fréquent (photos, vidéos, musiquearchives diverses).
  
 Nous supposons aussi que la mémoire vive est suffisante pour se passer de partition d'​échange et que le répertoire /home est sur la partition racine / et non sur une partition séparée. En résumé, dans l'​hypothèse d'​installation de Slint sur une machine neuve sans autre système, nous créerons trois partitions: Nous supposons aussi que la mémoire vive est suffisante pour se passer de partition d'​échange et que le répertoire /home est sur la partition racine / et non sur une partition séparée. En résumé, dans l'​hypothèse d'​installation de Slint sur une machine neuve sans autre système, nous créerons trois partitions:
Ligne 43: Ligne 43:
 ===== Les étapes de l'​installation ===== ===== Les étapes de l'​installation =====
  
-tout d'​abord,​ si ce n'est déjà fait, familiarisez vous avec [[fr:​installation_process|le processus d'​installation]],​ le cryptage des partitions s'​insérant dans ce processus. Et lisez tout ce qui suit jusqu'​au bout avant mise en pratique.  ​+Tout d'​abord,​ si ce n'est déjà fait, familiarisez vous avec [[fr:​installation_process|le processus d'​installation]],​ le cryptage des partitions s'​insérant dans ce processus. Et lisez tout ce qui suit jusqu'​au bout avant mise en pratique.  ​
  
 De façon schématique : De façon schématique :
Ligne 54: Ligne 54:
   - A la fin du processus il vous sera proposé de redémarrer votre système. Refusez (choisissez **Non**) car l'​amorçage du système n'est pas encore possible.   - A la fin du processus il vous sera proposé de redémarrer votre système. Refusez (choisissez **Non**) car l'​amorçage du système n'est pas encore possible.
   - Référencez les partitions cryptées dans la table des partitions cryptées du système en cours d'​installation,​ puis créez et installez un ''​initrd''​ permettant d'​ouvrir les partitions cryptées durant l'​amorçage du système.   - Référencez les partitions cryptées dans la table des partitions cryptées du système en cours d'​installation,​ puis créez et installez un ''​initrd''​ permettant d'​ouvrir les partitions cryptées durant l'​amorçage du système.
-  - Modifiez ​le chargeur initial ​et changez de noyau Linux, puis redémarrez.+  - Modifiez ​l'​amorceur ​et changez de noyau Linux, puis redémarrez.
  
 ===== Comment: le détail des étapes clef ===== ===== Comment: le détail des étapes clef =====
  
-Dans cette partie nous nous référons aux étapes numérotées ci-avant.+Dans cette partie nous nous référons aux étapes numérotées ci-avant. Nous n'​évoquerons pas les les étapes numérotées 1 et 5, auxquelles le cryptage ne change rien.
  
 ==== Étape 2: partitionnement ==== ==== Étape 2: partitionnement ====
Ligne 66: Ligne 66:
 Cela vous permettra d'​identifier correctement les périphériques blocs. Cela vous permettra d'​identifier correctement les périphériques blocs.
  
-Dans ce qui suit, nous supposerons que sda désigne le SSD ou disque dur sur lequel le système sera installé, sdb le disque dur destiné à contenir les archives. Sinon, adaptez les commandes qui suivent en conséquence.+Dans ce qui suit, nous supposerons que ''​sda'' ​désigne le SSD ou disque dur sur lequel le système sera installé, ​''​sdb'' ​le disque dur destiné à contenir les archives. Sinon, adaptez les commandes qui suivent en conséquence.
  
 Tout d'​abord,​ partitionnez le disque système: Tout d'​abord,​ partitionnez le disque système:
Ligne 73: Ligne 73:
 Choisissez une table de partition ''​gpt''​ si votre machine a démarré en mode UEFI sinon ''​dos''​. Choisissez une table de partition ''​gpt''​ si votre machine a démarré en mode UEFI sinon ''​dos''​.
  
-Créez deux partitions:+Créez deux partitions ​(partitions primaires dans le case d'une table dos):
   - La première de taille 100M, de type Système EFI (table gpt) ou Linux (table dos).   - La première de taille 100M, de type Système EFI (table gpt) ou Linux (table dos).
   - La seconde occupant l'​espace restant, de type Linux. ​   - La seconde occupant l'​espace restant, de type Linux. ​
Ligne 92: Ligne 92:
 Ce processus d'​effacement peut prendre **beaucoup** de temps, patientez. Heureusement,​ il n'est à effectuer qu'une seule fois pour toute la durée de vie de la partition. Quand il sera terminé vous verrez le message suivant: Ce processus d'​effacement peut prendre **beaucoup** de temps, patientez. Heureusement,​ il n'est à effectuer qu'une seule fois pour toute la durée de vie de la partition. Quand il sera terminé vous verrez le message suivant:
   cat: write error: no space left on device   cat: write error: no space left on device
-Cela signifie simplement que le processus s'est arrêté car il n'​y ​as plus de place où écrire sur la partition. C'est normal, ne vous en inquiétez pas.+Cela signifie simplement que le processus s'est arrêté car il n'​y ​plus de place où écrire sur la partition. C'est normal, ne vous en inquiétez pas.
  
 Ensuite, tapez la commande suivante pour crypter la partition système et enregistrer la phrase de passe: Ensuite, tapez la commande suivante pour crypter la partition système et enregistrer la phrase de passe:
Ligne 98: Ligne 98:
   cryptsetup -y luksFormat /dev/sda2   cryptsetup -y luksFormat /dev/sda2
  
-Le programme vous alertera (en Anglais) ​sure le fait que cela effacera tout le contenu de la partition et vous demandera de confirmer en tapant YES (yes an capitales). Faites-le.+Le programme vous alertera (en Anglais) ​sur le fait que cela effacera tout le contenu de la partition et vous demandera de confirmer en tapant YES (yes an capitales).
  
-Il vus demandera ensuite d'​entrer phrase de passe. Faites le, après avoir soigneusement choisi une phrase (plusieurs mots séparés par des espaces, assez longue). Incluez des fotesdo'​rtografffe pour rendre le déchiffrage plus difficile.+Il vous demandera ensuite d'​entrer phrase de passe. Faites le, après avoir soigneusement choisi une phrase (plusieurs mots séparés par des espaces, assez longue). Incluez des fotesdo'​rtografffe pour rendre le déchiffrage plus difficile.
  
-<​note>​La FAQ de cryptsetup conseille ​de n'​utiliser que des caractères de la table [[https://​fr.wikipedia.org/​wiki/​American_Standard_Code_for_Information_Interchange|ASCII]] pour écrire ​la phrase de passe, pour éviter qu'un éventuel changement de (plan de) clavier vous fasse taper autre chose qu'​attendu. En tous cas, vous prendrez soin d'​indiquer la langue du clavier (utilisée lors de l'​installation) lors de la création de l'​initrd,​ après installation des paquets. Nous y reviendrons.</​note>​+L'​option -y a pour effet de vous demander ​de taper une deuxième fois la phrase de passe, pour vérification.
  
-L'option -y est là pour vous demander ​de taper une deuxième fois la phrase de passe, pour vérification.+<​note>​La FAQ de cryptsetup conseille de n'utiliser que des caractères ​de la table [[https://​fr.wikipedia.org/​wiki/​American_Standard_Code_for_Information_Interchange|ASCII]] pour écrire ​la phrase de passe, pour éviter qu'un éventuel changement de (plan de) clavier vous fasse taper autre chose qu'​attendu. En tous cas, vous prendrez soin d'​indiquer la langue du clavier (utilisée lors de l'​installation) lors de la création de l'​initrd,​ après installation des paquets. Nous y reviendrons.</​note>​
  
 pour en savoir plus tapez "man cryptsetup"​ sans les guillemets pour en savoir plus tapez "man cryptsetup"​ sans les guillemets
Ligne 117: Ligne 117:
 Le programme vous demandera de nouveau de taper la phrase de passe (c'est plutôt rassurant, non?). Le programme vous demandera de nouveau de taper la phrase de passe (c'est plutôt rassurant, non?).
  
-Pour la partition sur le disque dur les étapes sont semblables.Nous supposons qu'​elle est initialement nommée ''​sdb1''​ (encore une fois, vérifiez avec ''​lsblk''​) et que vous la renommez ''​archives''​ après cryptage :+Pour la partition sur le disque dur les étapes sont semblables. Nous supposons qu'​elle est initialement nommée ''​sdb1''​ (encore une fois, vérifiez avec ''​lsblk''​) et que vous la renommez ''​archives''​ après cryptage :
   cat /dev/zero > /dev/sdb1   cat /dev/zero > /dev/sdb1
   cryptsetup -y luksFormat /dev/sdb1   cryptsetup -y luksFormat /dev/sdb1
-  cryptsetup luksOpen /dev/sda2 archives+  cryptsetup luksOpen /dev/sdb1 archives
  
 <note tip>​Utiliser la même phrase de passe pour toutes le partitions cryptées vous évite d'​avoir à en mémoriser plusieurs.</​note>​ <note tip>​Utiliser la même phrase de passe pour toutes le partitions cryptées vous évite d'​avoir à en mémoriser plusieurs.</​note>​
Ligne 168: Ligne 168:
   chroot /mnt   chroot /mnt
   ​   ​
-Dorénavant,​ les commandes ​tapées ​s'​appliqueront directement au système ​installé, notamment la création de l'initrd+Les commandes ​que vous taperez à partir de maintenant ​s'​appliqueront directement au système ​que vous venez d'installer
- +L'​initrd est créé ​grâce à la commande ''​mkinitrd''​en indiquant les composants ​qu'il doit inclure.
-Cette création se fait grâce à la commande ''​mkinitrd''​ en indiquant ​comme arguments ​les composants ​que l'initrd ​doit inclure.+
  
 Pour éviter les erreurs, le mieux est de commencer par la commande suivante, dont le résultat sera (après aménagement) la commande à taper pour créer l'​initrd. Dans l'​exemple suivant, nous indiquons la commande initiale et son résultat: Pour éviter les erreurs, le mieux est de commencer par la commande suivante, dont le résultat sera (après aménagement) la commande à taper pour créer l'​initrd. Dans l'​exemple suivant, nous indiquons la commande initiale et son résultat:
Ligne 190: Ligne 189:
 Il faut aussi lui ajouter l'​option -l (pour "​langue"​) qui inclura le code langue du plan de clavier utilisé pour entrer la phase de passe, pour que celle-ci soit reconnue en utilisant la même séquence de pressions de touches quand on vous la demandera au cours du démarrage du système. Il faut aussi lui ajouter l'​option -l (pour "​langue"​) qui inclura le code langue du plan de clavier utilisé pour entrer la phase de passe, pour que celle-ci soit reconnue en utilisant la même séquence de pressions de touches quand on vous la demandera au cours du démarrage du système.
  
-Dans le case d'une installation en Français le plan de clavier utilisé pour taper la phrase de passe est ''​fr'',​ à moins que vous l'ayez changé avant //avant// de la taper (donc, avant de taper ''​setup''​). Vous pouvez afficher le plan de clavier en cours avec la commande suivante: +Dans le cas d'une installation en Français le plan de clavier utilisé pour taper la phrase de passe est ''​fr'',​ à moins que vous l'ayez changé avant //avant// de la taper (donc, avant de taper ''​setup''​). Vous pouvez afficher le plan de clavier en cours avec la commande suivante: 
-  cat /​var/​log/​setup/​tmp/​SeTkeymap+  cat /​var/​log/​setup/​tmp/​Pkeymap
 Si le clavier //fr// a été utilisé, ''​fr.map''​ devrait être affiché. Dans ce cas on inclura dans la commande de création de l'​initrd ''​-l fr''​. Si le clavier //fr// a été utilisé, ''​fr.map''​ devrait être affiché. Dans ce cas on inclura dans la commande de création de l'​initrd ''​-l fr''​.
  
Ligne 203: Ligne 202:
 Si tout va bien un message s'​affichera,​ se terminant par: Si tout va bien un message s'​affichera,​ se terminant par:
   /​boot/​initrd.gz created.   /​boot/​initrd.gz created.
-  Be sure to run lilo egain if you use it.+  Be sure to run lilo again if you use it.
  
 Avant de ré-exécuter éventuellement (c'est à dire, dans le cas d'un démarrage en mode BIOS et non UEFI) lilo, il faut modifier le fichier /​etc/​lilo.conf,​ comme indiqué ci-après. Avant de ré-exécuter éventuellement (c'est à dire, dans le cas d'un démarrage en mode BIOS et non UEFI) lilo, il faut modifier le fichier /​etc/​lilo.conf,​ comme indiqué ci-après.
  
  
-==== Modification ​du chargeur initial ​et changement ​du noyau linux ====+==== Etape 9: Modification ​de l'​amorceur ​et changement ​de noyau Linux ====
  
 Avec des partitions cryptées l'​amorçage du système nécessite: Avec des partitions cryptées l'​amorçage du système nécessite:
Ligne 226: Ligne 225:
 D'​autre part, dans le cas de elilo il faut copier l'​initrd que nous avons créé dans /boot dans /​boot/​efi/​EFI/​Slint,​ supprimer le noyau déjà installé dans /​boot/​efi/​EFI/​Slint,​ nommé vmlinuz, et y copier le noyau vmlinuz-generic que l'​installateur a placé dans /boot. D'​autre part, dans le cas de elilo il faut copier l'​initrd que nous avons créé dans /boot dans /​boot/​efi/​EFI/​Slint,​ supprimer le noyau déjà installé dans /​boot/​efi/​EFI/​Slint,​ nommé vmlinuz, et y copier le noyau vmlinuz-generic que l'​installateur a placé dans /boot.
  
-Pour plus de clarté, nous distinguerons les modifications à effectuer selon le chargeur initial ​utilisé, en rappelant qu'il s'agit de lilo pour une démarrage en mode BIOS (aussi appelé Legacy ou CSM), de elilo pour un démarrage en mode UEFI,+Pour plus de clarté, nous distinguerons les modifications à effectuer selon le l'​amorceur ​utilisé, en rappelant qu'il s'agit de lilo pour une démarrage en mode BIOS (aussi appelé Legacy ou CSM), de elilo pour un démarrage en mode UEFI,
  
 === Modifications si lilo est utilisé === === Modifications si lilo est utilisé ===
Ligne 238: Ligne 237:
  
 |**Ligne initiale**|**Modification**| |**Ligne initiale**|**Modification**|
-|image = /​boot/​vmlinuz|image = /​boot/​vmlinuz-generic+|image = /​boot/​vmlinuz|image = /​boot/​vmlinuz-generic|
 |root = /​dev/​mapper/​root|//​supprimer cette ligne//| |root = /​dev/​mapper/​root|//​supprimer cette ligne//|
 |read-only|//​insérer une nouvelle ligne au-dessous avec://​\\ ​ initrd = /​boot/​initrd.gz| |read-only|//​insérer une nouvelle ligne au-dessous avec://​\\ ​ initrd = /​boot/​initrd.gz|
  
-Après ces modifications,​ la fin du fichier devrait être:+Après ces modifications,​ la fin du fichier devrait être :
 <​code>​ <​code>​
 image = /​boot/​vmlinuz-generic image = /​boot/​vmlinuz-generic
Ligne 266: Ligne 265:
 Sinon, corrigez le fichier /​etc/​lilo.conf avant de recommencer. Sinon, corrigez le fichier /​etc/​lilo.conf avant de recommencer.
  
-Vous êtes prêt à redémarrer la machine: tapez ''​exit''​ puis ''​reboot''​.+Vous êtes prêt à redémarrer la machine : tapez ''​exit''​ puis ''​reboot''​.
  
 === Modifications si elilo est utilisé === === Modifications si elilo est utilisé ===
Ligne 272: Ligne 271:
 Dans ce cas il faut supprimer le noyau que l'​installateur a copié dans /​boot/​efi/​EFI/​Slint/​ et le remplacer par le noyau linuz-generic,​ et copier l'​initrd dans le même répertoire. Dans ce cas il faut supprimer le noyau que l'​installateur a copié dans /​boot/​efi/​EFI/​Slint/​ et le remplacer par le noyau linuz-generic,​ et copier l'​initrd dans le même répertoire.
  
-les commandes suivantes permettent d'​effectuer ces modifications:​+les commandes suivantes permettent d'​effectuer ces modifications :
   rm /​boot/​efi/​EFI/​Slint/​vmlinuz   rm /​boot/​efi/​EFI/​Slint/​vmlinuz
   cp /​boot/​vmlinuz-generic /​boot/​efi/​EFI/​Slint   cp /​boot/​vmlinuz-generic /​boot/​efi/​EFI/​Slint
Ligne 283: Ligne 282:
 elilo.efi elilo.efi
 help.msg help.msg
-initrd.msg+initrd.gz
 vmlinuz-generic vmlinuz-generic
 </​code>​ </​code>​
Ligne 310: Ligne 309:
 </​code>​ </​code>​
  
-Pour ce faire, vous pouvez ​utiliserla ​commande:+Pour ce faire, vous pouvez ​utiliser la commande:
   nano /​boot/​efi/​EFI/​Slint/​elilo.conf   nano /​boot/​efi/​EFI/​Slint/​elilo.conf
  
Ligne 318: Ligne 317:
  
 Vous pouvez donc redémarrer en tapant ''​exit'',​ puis ''​reboot''​. Vous pouvez donc redémarrer en tapant ''​exit'',​ puis ''​reboot''​.
 +
 +<note tip>​Après ces modifications Slint sera amorçable depuis le SSD seulement. Vous pourrez par la suite ajouter une entrée de menu pour Slint au micrologiciel : depuis le Slint Control Center, catégorie Système, lancez le Gestionnaire d'​amorçage GUEFI, tapez le mot de passe de //root//, cliquer sur Ajouter puis sur l'​icône représentant un gestionnaire de fichier. Ensuite, sélectionnes /​EFI/​Slint/​elilo.efi et nommez l'​entrée de menu Slint. Elle apparaîtra en haut (en premier) dans l'​ordre d'​amorçage. Cliquez sur ''​Fermer''​ : au prochain démarrage cette entrée de menu apparaîtra ou sera utilisée directement.</​note>​
 +
 +===== Et après ? =====
 +
 +Lors de chaque démarrage du système, la phrase de passe vous sera demandée deux fois :
 +  - Avant de monter la partition racine (une fois ceci fait, l'​initrd passera le témoin au système installé sur le SSD)
 +  - Avant de monter la partition archives.
 +
 +{{ :​fr:​leo.webm |Vidéo : démarrage avec partitions cryptées}}
 +
 +Ce sont les seules particularités du démarrage de Slint avec des partitions cryptées.
 +
 +//Librement inspiré du document README_CRYPT.TXT rédigé par Eric Hameleers pour Slackware le 18 septembre 2012.//
 +
 +Didier Spaier
fr/crypted_installation.1485441033.txt.gz · Dernière modification: 2019/11/18 12:54 (modification externe)