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
cryptsetup [Le 11/12/2016, 16:51]
0ol
cryptsetup [Le 19/11/2023, 19:50] (Version actuelle)
cqfd93 Correction mineure (espace et minuscule)
Ligne 1: Ligne 1:
-{{tag> ​precise trusty xenial ​chiffrement sécurité}}+{{tag>Trusty Xenial ​chiffrement sécurité}}
  
 ---- ----
  
 +<note warning>​Cette page contient des références à Ubuntu 6.04 Dapper Drake. Son contenu est par conséquent probablement très obsolète et les bonnes pratiques en matière de cryptographie ont certainement changé depuis.</​note>​
  
 ====== Partition chiffrée avec Cryptsetup ====== ====== Partition chiffrée avec Cryptsetup ======
  
 Afin de protéger au mieux vos données personnelles,​ il peut être nécessaire de chiffrer vos partitions utilisateur. En effet, si via le système il est impossible d’accéder aux fichiers qui ne vous appartiennent pas, un simple passage sur un livecd permet d’accéder à n’importe quel fichier de votre système. Le chiffrement de partition permet d’éviter ça. Afin de protéger au mieux vos données personnelles,​ il peut être nécessaire de chiffrer vos partitions utilisateur. En effet, si via le système il est impossible d’accéder aux fichiers qui ne vous appartiennent pas, un simple passage sur un livecd permet d’accéder à n’importe quel fichier de votre système. Le chiffrement de partition permet d’éviter ça.
-Ubuntu intègre en standard les outils nécessaires à une gestion simple de votre sécurité. ​ +Ubuntu intègre en standard les outils nécessaires à une gestion simple de votre sécurité.
- +
- +
- +
- +
- +
- +
- +
- +
- +
  
 =====Installation===== =====Installation=====
  
 Installer **[[apt>​cryptsetup|cryptsetup]]** Installer **[[apt>​cryptsetup|cryptsetup]]**
- 
-ou 
- 
-Pour l'​installation,​ lancez [[Synaptic]]. Recherchez «cryptsetup»,​ cochez la case correspondante et validez le tout (bouton « Appliquer ») pour l'​installer. ​ 
  
 Si nécessaire charger les modules « aes-i586 », « dm_mod » et « dm_crypt ». Au besoin, les ajouter à la liste de ///​etc/​modules//​ (cf. infra Référence). Si nécessaire charger les modules « aes-i586 », « dm_mod » et « dm_crypt ». Au besoin, les ajouter à la liste de ///​etc/​modules//​ (cf. infra Référence).
Ligne 31: Ligne 18:
  
 ===== Applications ===== ===== Applications =====
 +[[https://​forum.ubuntu-fr.org/​viewtopic.php?​pid=21818104#​p21818104|Exemple pour avoir une partition chiffrée, montée-démontée manuellement]].
  
 ==== Chiffrer une partition ==== ==== Chiffrer une partition ====
Ligne 42: Ligne 30:
  
 Exemple sur une partition libre /dev/hda7 : Exemple sur une partition libre /dev/hda7 :
-<​code>​ sudo cryptsetup luksFormat ​-c aes -h sha256 ​/dev/hda7 </​code>​ +<​code>​ sudo cryptsetup luksFormat ​ /dev/hda7 </​code>​
-ou avec un chiffrement plus fort : +
-<​code>​ sudo cryptsetup luksFormat -c aes-xts-plain -s 512 /dev/hda7 </​code>​ +
-encore plus fort selon moi : +
-<​code>​sudo cryptsetup luksFormat -c aes-xts-plain64 -s 512 -h sha512 /​dev/​sdaXX</​code>​ +
-Remplacez les XX par la partition concernée.+
  
 On invoque cette commande pour formater la partition au type LUKS (initialiser la partition LUKS et définir la clé initiale). Le chiffrement sera de type AES avec un algorithme de hachage SHA256. Vous allez taper votre phrase de déchiffrement qui va permettre de créer un conteneur standard chiffré à l'aide de votre phrase. On invoque cette commande pour formater la partition au type LUKS (initialiser la partition LUKS et définir la clé initiale). Le chiffrement sera de type AES avec un algorithme de hachage SHA256. Vous allez taper votre phrase de déchiffrement qui va permettre de créer un conteneur standard chiffré à l'aide de votre phrase.
Ligne 62: Ligne 45:
 === Montage manuel et formatage === === Montage manuel et formatage ===
  
-Ouverture et formatage en ext3 de la partition chiffrée. L'​appellation du volume est ici **home**.+Ouverture et formatage en ext3 de la partition chiffrée. L'​appellation du volume est ici **home**((Vous pouvez le remplacer par le nom que vous voulez!)).
  
 <​code>​ sudo cryptsetup luksOpen /dev/hda7 home <​code>​ sudo cryptsetup luksOpen /dev/hda7 home
Ligne 97: Ligne 80:
 <​code>​ # <target name> <source device> ​        <​key file> ​     <​options>​ <​code>​ # <target name> <source device> ​        <​key file> ​     <​options>​
 home /​dev/​hda7 ​ none    luks </​code>​ home /​dev/​hda7 ​ none    luks </​code>​
 +
 +Si vos disques cryptés ont des noms séquentiels vous pouvez utiliser une boucle: <​code>​ for i in sda1 sda2 ; do echo "​${i}_crypt UUID=$(blkid -o full /dev/$i | cut -d '"'​ -f 2) none luks" >> /​etc/​crypttab ; done </​code> ​
 +
 +Si vous désirez que tout vous array raid soient décryptés:​ <​code>​ truncate -s 0 /​etc/​crypttab ; for i in $(cat /​proc/​mdstat | grep -E "​^md"​ | cut -d ' ' -f 1) ; do echo "​${i}_crypt UUID=$(blkid -o full /dev/$i | cut -d '"'​ -f 2) none luks" >> /​etc/​crypttab ; done </​code>​
  
 Modifier **/​etc/​fstab** pour le volume qui nous intéresse : Modifier **/​etc/​fstab** pour le volume qui nous intéresse :
Ligne 106: Ligne 93:
 La clé d'​ouverture du volume chiffré vous sera demandée au démarrage de la machine si votre partition est montée automatiquement (voir [[mount_fstab|fstab]]). La clé d'​ouverture du volume chiffré vous sera demandée au démarrage de la machine si votre partition est montée automatiquement (voir [[mount_fstab|fstab]]).
  
-Attention, si une ligne est déjà présente pour le montage de la partition qui héberge le système de fichier chiffré (/dev/hda7 dans l'​exemple ci-dessus), il faut la commenter (en ajoutant un # comme premier caractère) pour éviter un message d'​erreur au démarrage. ​+Attention, si une ligne est déjà présente pour le montage de la partition qui héberge le système de fichier chiffré (/dev/hda7 dans l'​exemple ci-dessus), il faut la commenter (en ajoutant un # comme premier caractère) pour éviter un message d'​erreur au démarrage
 + 
 +Attention : si le boot a lieu avec les options **quiet splash** supprimées,​ la demande de la phrase de décodification ​ va passer inaperçue... Le boot se mettra à attendre la saisie de la clé. Le plus simple est d'​appuyer sur la touche **entrée** afin qu'il repose la question.
  
 === Ouverture automatique du conteneur chiffré au démarrage à l'aide d'un support amovible === === Ouverture automatique du conteneur chiffré au démarrage à l'aide d'un support amovible ===
Ligne 136: Ligne 125:
  
 Nous allons utiliser PAM, utilitaire habituellement utilisé pour le montage automatique de partitions sur des postes multi-utilisateurs. Nous allons utiliser PAM, utilitaire habituellement utilisé pour le montage automatique de partitions sur des postes multi-utilisateurs.
 +<note warning>​pam_mount ne prend pas en charge les partitions LUKS2, ([[https://​wiki.archlinux.org/​index.php/​pam_mount|voir ici]])</​note>​
  
 La situation est la suivante : la partition /dev/sda2 est notre partition chiffrée. Elle doit être montée automatiquement au point /​mnt/​cryptodisk. La situation est la suivante : la partition /dev/sda2 est notre partition chiffrée. Elle doit être montée automatiquement au point /​mnt/​cryptodisk.
Ligne 195: Ligne 185:
 exit 0 exit 0
 </​code>​ </​code>​
 +=== Cas concret en version 22.04 ===
 +  * Créer la partition chiffrée en utilisant l'​application [[:​gnome-disk-utility#​creer_une_partition_chiffree|gnome-disk-utility]].
 +  * Récupérer le UUID généré. Exemple: 1a831923-20f8-4219-aaa9-c13e6da8b6e2.
 +  * Définir cette partition dans le fichier /​etc/​crypttab. Exemple:<​code bash> echo PartitionChiffree UUID=1a831923-20f8-4219-aaa9-c13e6da8b6e2 none luks | sudo tee -a /​etc/​crypttab </​code>​Le mot** PartitionChiffree** peut être remplacé par tout mot qui vous convient. Les espaces sont interdits. Eviter les  caractères spéciaux et les accents.
 +  * Mettre à jour le fichier /etc/fstab. Exemple: <code bash> echo /​dev/​mapper/​PartitionChiffree /​media/​PartitionChiffree ext4 defaults 0 1 | sudo tee -a /​etc/​fstab</​code> ​
 +  * Créer le point de montage<​code bash>​sudo mkdir -v /​media/​PartitionChiffree</​code>​
 +
 +
 +
 +==== Modifier le mot de passe de la partition chiffrée ===
 +LUKS autorise jusqu'​à 8 mots de passe pour une même partition, ce qui permet d'​attribuer des mots de passe différents à différents utilisateurs. ​   Cette limitation ​   est de **[[https://​forum.ubuntu-fr.org/​viewtopic.php?​pid=22618883#​p22618883|32 ]]** si utilisation de la version 22.04
 +
 +Pour supprimer un mot de passe existant, il convient préalablement d'​ajouter un mot de passe supplémentaire avant de supprimer l'​ancien mot de passe __lorsque la partition n'en contient qu'​un!__
 +=== Ajouter un mot de passe supplémentaire ===
 +On suppose que l'​utilisateur a parfaitement identifié la partition physique chiffrée, par exemple avec lsblk :
 +<​code>​
 +usr@pc:~$ sudo lsblk
 +sda                        8:0    0 211,​8G ​ 0 disk  ​
 +├─sda1 ​                    ​8:​1 ​   0   ​512M ​ 0 part  /boot/efi
 +├─sda2 ​                    ​8:​2 ​   0   ​700M ​ 0 part  /boot
 +└─sda3 ​                    ​8:​3 ​   0 210,​6G ​ 0 part  ​
 +  └─partition_chiffree
 +                         ​253:​0 ​   0 210,​6G ​ 0 crypt 
 +    ├─PartitionLUKS--vg-root 253:1    0    30G  0 lvm   /
 +    └─PartitionLUKS--vg-home 253:2    0    180G  0 lvm   /home
 +sdb                        8:48   0 800,​4G ​ 0 disk  ​
 +└─sdb1 ​                    ​8:​49 ​  0 800,​4G ​ 0 part   /​media/​disque
 +</​code>​
 +Dans l'​exemple ci-dessus, la partition dont le mot de passe doit être modifié est la partition /dev/sda3. L'​ajout d'un mot de passe se fait en utilisant la commande **cryptsetup luksAddKey**. L'​affichage interactif invite ensuite l'​utilisateur,​ dans le terminal, à saisir d'​abord une clé valide (la seule s'il n'y en a qu'​une),​ puis, à deux reprises, le nouveau mot de passe (nouvelle clé ou nouvelle phrase secrète : ces termes sont ici synonymes).
 +<​code>​
 +usr@pc:~$ sudo cryptsetup luksAddKey /dev/sda3
 +Entrez une phrase secrète existante : ​
 +Entrez une nouvelle phrase secrète pour l'​emplacement de clé : ​
 +Vérifiez la phrase secrète : ​
 +</​code>​
 +Une fois ce nouveau mot de passe créé, il est désormais possible de supprimer l'​ancien mot de passe.
 +=== Supprimer un mot de passe ===
 +<note important>​Attention à bien avoir préalablement créé au moins un autre mot de passe pour le conteneur chiffré qui permettra de le déverrouiller ultérieurement</​note>​
 +La suppression d'un mot de passe utilise la commande **cryptsetup luksRemoveKey**. Celle-ci nécessite, tout comme lors de la création d'un mot de passe, de connaître la partition physique sur laquelle opérer. Dans l'​exemple ci-dessous, c'est toujours /dev/sda3. Après avoir saisi la commande suivie de la partition, il suffit donc, à l'​invite du terminal, de saisir la phrase secrète (le mot de passe) à supprimer pour que celle-ci le soit immédiatement :
 +<​code>​
 +usr@pc:~$ sudo cryptsetup luksRemoveKey /dev/sda3
 +Entrez la phrase secrète à effacer : ​
 +</​code>​
 +C'est tout.
 +<note tip>Il semblerait que la commande **luksChangeKey** permettre d'​effectuer l'​opération de changement de clé en une seule opération. À vérifier.
 +<​code>​
 +usr@pc:~$ cryptsetup luksChangeKey <target device> -S <target key slot number>
 +</​code>​
 +</​note>​
 +
 +===== Monter automatiquement le volume chiffré (LUKS) au démarrage =====
 +
 +Grâce à la librairie libpam-mount,​ il est possible de monter automatiquement un volume chiffré, occasionnant le fait que ce dernier soit configuré avec le même mot de passe que celui de l'​utilisateur. ​
 +
 +<​code>​sudo apt install libpam-mount libpam-mount-bin</​code>​
 +
 +- Dans : /​etc/​pam.d/​gdm-password :
 +
 +Ajouter :
 +
 +<​code>​auth ​   optional ​       pam_mount.so try_first_pass</​code>​
 +<​code>​session optional ​       pam_mount.so</​code>​
 +
 +
 +- Dans /​etc/​security/​pam_mount.conf.xml :
 +
 +<​code><​volume user="​awk"​ fstype="​crypt"​ path="/​dev/​sdb1"​ mountpoint="/​media/​awk/​Data"​ /></​code>​
 +
 +(changer "​awk"​ par votre nom d'​utilisateur et "​sdb1"​ par votre disque)
 +
 +Le disque se déchiffre et se monte au démarrage du PC.
 +
 ===== Chiffrer votre système avec le swap aléatoirement ===== ===== Chiffrer votre système avec le swap aléatoirement =====
 Allez voir ce tutoriel pour plus d'​information sur le sujet : [[:​chiffrement_manuel]] Allez voir ce tutoriel pour plus d'​information sur le sujet : [[:​chiffrement_manuel]]
 +
 +
 +
 ===== Conclusion ===== ===== Conclusion =====
  
Ligne 205: Ligne 270:
 ===== Sous Windows ===== ===== Sous Windows =====
  
-Grâce au logiciel [[http://​sourceforge.net/​projects/​freeotfe.mirror/​|FreeOTFE]],​ il est possible de monter de façon non permanente une partition LUKS chiffrée par Cryptsetup sous Linux à partir de votre système Windows.+Grâce au logiciel [[https://​sourceforge.net/​projects/​freeotfe.mirror/​|FreeOTFE]],​ il est possible de monter de façon non permanente une partition LUKS chiffrée par Cryptsetup sous Linux à partir de votre système Windows.
  
 Pour monter et utiliser le même type de partition que celle décrite dans ce wiki, voici les étapes : Pour monter et utiliser le même type de partition que celle décrite dans ce wiki, voici les étapes :
Ligne 213: Ligne 278:
 2. Extraire les fichiers de l'​archive dans un dossier et ouvrir FreeOTFE.exe 2. Extraire les fichiers de l'​archive dans un dossier et ouvrir FreeOTFE.exe
  
-3. Lorsqu'​on vous demande si vous voulez démarrer FreeOTFE en portable mode, dites oui. Si vous voulez utiliser FreeOTFE régulièrement afin de monter des volumes chiffrés sous Windows, vous pouvez cliquer sur non et activer de façon permanente tous les pilotes de cryptage ​un par un.+3. Lorsqu'​on vous demande si vous voulez démarrer FreeOTFE en portable mode, dites oui. Si vous voulez utiliser FreeOTFE régulièrement afin de monter des volumes chiffrés sous Windows, vous pouvez cliquer sur non et activer de façon permanente tous les pilotes de chiffrement ​un par un.
  
 4. Cliquez ensuite sur File / Linux volume / Mount partition 4. Cliquez ensuite sur File / Linux volume / Mount partition
Ligne 231: Ligne 296:
 Ce volume ne survivra pas à un redémarrage,​ il faudra tout reprendre de zéro à chaque fois. Ce volume ne survivra pas à un redémarrage,​ il faudra tout reprendre de zéro à chaque fois.
  
-Si vous fermez FreeOTFE alors qu'il est en mode portable, vous devez lui spécifier de ne pas désactiver les pilotes d'​encryptage afin de ne pas perdre l'​usage de votre partition. ​+Si vous fermez FreeOTFE alors qu'il est en mode portable, vous devez lui spécifier de ne pas désactiver les pilotes d'​encryptage afin de ne pas perdre l'​usage de votre partition.
  
 Avant de fermer votre ordinateur, il est recommandé de démonter la partition à l'aide de FreeOTFE et de lui permettre de désactiver tous les pilotes à sa fermeture. Avant de fermer votre ordinateur, il est recommandé de démonter la partition à l'aide de FreeOTFE et de lui permettre de désactiver tous les pilotes à sa fermeture.
  • cryptsetup.1481471492.txt.gz
  • Dernière modification: Le 11/12/2016, 16:51
  • par 0ol