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édentesRévision précédente
Prochaine révision
Révision précédente
cryptsetup [Le 14/03/2022, 09:09] – [Applications] 185.156.80.178cryptsetup [Le 14/04/2026, 07:17] (Version actuelle) – màj liens internes | +tag vétuste krodelabestiole
Ligne 1: Ligne 1:
 +{{tag>Trusty Xenial Noble chiffrement sécurité vétuste}}
  
-{{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 tip>Le gestionnaire de disque [[:gnome-disk-utility|GNOME Disques]] installé par défaut dans Ubuntu gère maintenant le chiffrement des partitions</note> 
-----+</note>
  
-<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>+<note>Ce paquet est  automatiquement installé lors d’une installation **expérimentale**   du logiciel ZFS chiffré en version 24.04 (noble)</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=====
Ligne 19: Ligne 20:
  
 ===== 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]]. (Hugo Deloge)+[[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 74: Ligne 75:
  
 === Montage automatique === === Montage automatique ===
-Depuis **Dapper**, Ubuntu intègre la gestion des volumes chiffrée LUKS en standard, ce qui permet de gérer de manière automatique le montage et le démontage de vos volumes (partitions) sécurisées. La configuration des paramètres du volume chiffré est dans le fichier **/etc/crypttab** et le montage du volume est de manière classique dans **/etc/fstab**.+ 
 +Depuis **Dapper**, Ubuntu intègre la gestion des volumes chiffrée LUKS en standard, ce qui permet de gérer de manière automatique le montage et le démontage de vos volumes (partitions) sécurisées. La configuration des paramètres du volume chiffré est dans le fichier ''/etc/crypttab'' et le montage du volume est de manière classique dans ''[[:fstab|/etc/fstab]]''.
  
 Un exemple de chiffrement du dossier **/home**: Un exemple de chiffrement du dossier **/home**:
Ligne 86: Ligne 88:
 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> 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 ''[[:fstab|/etc/fstab]]'' pour le volume qui nous intéresse :
 <code># /etc/fstab: static file system information. <code># /etc/fstab: static file system information.
 # #
Ligne 92: Ligne 94:
 /dev/mapper/home        /home   ext3    defaults        0       1 </code> /dev/mapper/home        /home   ext3    defaults        0       1 </code>
  
-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.
  
 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. +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 186: Ligne 188:
 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 === ==== 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. 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.+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 ou  [[https://forum.ubuntu-fr.org/viewtopic.php?pid=22846729#p22846729|24.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 === === Ajouter un mot de passe supplémentaire ===
 On suppose que l'utilisateur a parfaitement identifié la partition physique chiffrée, par exemple avec lsblk : On suppose que l'utilisateur a parfaitement identifié la partition physique chiffrée, par exemple avec lsblk :
Ligne 225: Ligne 237:
 </code> </code>
 </note> </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.
 +
 +===== Monter automatiquement le volume chiffré (LUKS) à la connexion de l'utilisateur. =====
 +Dans un contexte multi-utilisateur, il y a probablement une partition chiffrée par utilisateur. Le montage automatique impose alors le montage de toutes les partitions au démarrage de l'ordinateur et une seule va réussir.\\  Lors d'un changement d'utilisateur sans reboot, le second utilisateur ne disposera pas de sa propre partition. Il devra la monter. \\ Il peut donc être très intéressant que chaque utilisateur monte  automatiquement sa partition au moment de sa connexion  s'il ne souhaite pas utiliser [[gnome-disk-utility|gnome-disk]] pour la monter. \\ Peut aussi régler un problème lorsque le montage automatique au démarrage de l'ordinateur ne permet pas une saisie facile de la phrase de déchiffrement. \\ Ce montage se fera en utilisant les services systemd. En voici la procédure.
 +==== Création du script de montage ====
 +<code bash>cat<<'EOF'>$HOME/LUKS.sh
 +#!/bin/bash
 +Dsk=0f4eeaee-e95e-4f72-82d9-9756e6c67c6f ###   UUID de la partition contenant le chiffrement obtenu par la commande sudo blkid | grep crypto
 +Pdm=Data-$USER                           ###   Nom de déchiffrement qui sera mis derrière /dev/mapper
 +for (( i=1; i < 20; i++ ));  do 
 +    sleep 1
 +    echo  itération-$i dans le service USER de LUKS  
 +    if ! grep -q /dev/mapper/$Pdm /proc/mounts ; then
 +         DISPLAY=:1 zenity --password | sudo -S -v
 +         DISPLAY=:1 zenity --entry --title="Montage de la partition $Data ($i/20)." --text "Veuillez fournir la phrase de déchiffrement LUKS de $Pdm." | sudo  cryptsetup  luksOpen /dev/disk/by-uuid/$Dsk $Pdm
 +         udisksctl mount -b /dev/mapper/$Pdm
 +    else i=22    
 +    fi   
 +done
 +if  [[ $i =  20  ]] ; then
 +    DISPLAY=:1 zenity --error --text "La partition LUKS $Data n'est pas disponible; veuillez investiguer!"
 +fi
 +EOF
 +sleep 1
 +chmod +x $HOME/LUKS.sh
 +cat $HOME/LUKS.sh
 +$HOME/LUKS.sh</code>
 +La première variable est à remplacer par la valeur de l'UUID de la partition.  Si la seconde variable est changée, ne pas prendre la même  pour chaque partition à monter afin d'éviter des doublons. 
 +==== Création du service utilisateur systemd ====
 +Voir aussi [[https://doc.ubuntu-fr.org/creer_un_service_avec_systemd|systemd]]
 +<code bash>mkdir -pv $HOME/.config/systemd/user
 +cat <<'EOF'>$HOME/.config/systemd/user/LUKS.service
 +[Unit] 
 +Description=Montage de la partition de données personnelles LUKS.
 +DefaultDependencies=no
 +[Service]
 +Type=simple
 +ExecStartPre=echo  Montage de la partition de données personnelles LUKS.
 +ExecStart=/home/%u/LUKS.sh
 +ExecStopPost=echo Le montage de la partition de données personnelles LUKS  est terminé. 
 +StandardOutput=journal+console
 +[Install]
 +WantedBy=default.target
 +EOF
 +sleep 1
 +wc -l  $HOME/.config/systemd/user/LUKS.service
 +ls -ls $HOME/.config/systemd/user/LUKS.service</code>
 +==== Activation du service ====
 +<code bash>systemctl --user stop LUKS.service ; systemctl --user  disable LUKS.service ; systemctl --user daemon-reload; 
 +systemctl --user enable LUKS.service ; systemctl --user start LUKS.service 
 +systemctl --user --no-pager -l status LUKS.service </code>
 +
  
 ===== 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 262: Ligne 350:
 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.