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
Prochaine révision Les deux révisions suivantes
cryptsetup [Le 03/03/2013, 15:39]
0ol
cryptsetup [Le 16/06/2021, 11:10]
zococo [Chiffrer une partition]
Ligne 1: Ligne 1:
-{{tag>hardy Lucid precise ​sécurité}}+{{tag>Trusty Xenial chiffrement ​sécurité}}
  
 ---- ----
Ligne 8: Ligne 8:
 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 17:
  
 ===== 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 36: Ligne 23:
 Créer un conteneur pour vos données : une partition ou un fichier contenant votre système de fichier. Créer un conteneur pour vos données : une partition ou un fichier contenant votre système de fichier.
  
-Les données sont chiffrées à la volée, tout est transparent pour l'​utilisateur,​ mais cependant il y a un coût machine pour le chiffrement ​qui est négligeable,​ tant que la fonction première de votre machine n'est pas serveur de fichiers.+Les données sont chiffrées à la volée, tout est transparent pour l'​utilisateur,​ mais cependant il y a un coût machine pour le chiffrement. Ce coût est négligeable,​ tant que la fonction première de votre machine n'est pas serveur de fichiers.
  
  
Ligne 42: Ligne 29:
  
 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 cryptage plus fort : +
-<​code>​ sudo cryptsetup luksFormat -c aes-xts-plain -s 512 /dev/hda7 </​code>​+
  
-On invoque cette commande pour formater la partition au type LUKS (initialiser la partition LUKS et définir la clé initiale). Le chiffrage ​sera de type AES avec un algorithme de hachage SHA256. Vous allez taper votre phrase de chiffrage ​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.
  
-Le conteneur chiffré de manière standard va stocker la clé de chiffrage ​maître qui servira à ouvrir votre volume ​sécurisé. Il est possible d'​ajouter jusqu'​à 8 clefs supplémentaires dans des "​slots",​ qui déverrouillent l'​accès à la clef maître. Vous pouvez ainsi avec cette méthode avoir plusieurs utilisateurs qui vont chacun ouvrir le conteneur chiffré avec leur clef, et il vous sera possible de révoquer les clés éventuellement compromises.+Le conteneur chiffré de manière standard va stocker la clé de chiffrement ​maître qui servira à ouvrir votre volume ​chiffré. Il est possible d'​ajouter jusqu'​à 8 clefs supplémentaires dans des "​slots",​ qui déverrouillent l'​accès à la clef maître. Vous pouvez ainsi avec cette méthode avoir plusieurs utilisateurs qui vont chacun ouvrir le conteneur chiffré avec leur clef, et il vous sera possible de révoquer les clés éventuellement compromises.
  
 Pour ajouter une clé d'​accès au conteneur chiffré précédent : Pour ajouter une clé d'​accès au conteneur chiffré précédent :
Ligne 59: Ligne 44:
 === 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 94: Ligne 79:
 <​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 103: Ligne 92:
 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 ===
 +
 +[[:​tutoriel:​securiser_ubuntu_avec_peripherique_externe]]
 +
 On peut grâce à LUKS monter automatiquement les partitions chiffrées au démarrage sans mot de passe à taper. Ceci est possible par l'​intermédiaire d'une clé USB ou d'une carte SD ou MS : [[http://​web.archive.org/​web/​20100110234521/​http://​petaramesh.org/​post/​2007/​11/​29/​Une-cle-de-contact-pour-votre-portable-chiffre]] FIXME On peut grâce à LUKS monter automatiquement les partitions chiffrées au démarrage sans mot de passe à taper. Ceci est possible par l'​intermédiaire d'une clé USB ou d'une carte SD ou MS : [[http://​web.archive.org/​web/​20100110234521/​http://​petaramesh.org/​post/​2007/​11/​29/​Une-cle-de-contact-pour-votre-portable-chiffre]] FIXME
  
Ligne 125: Ligne 119:
 La méthode proposée ici va permettre d'​ouvrir automatiquement le conteneur chiffré et de monter la partition chiffrée au démarrage de la session, sans que la pass-phrase ne soit saisie. La partition chiffrée n'est donc plus protégée que par le mot de passe d'​ouverture de session. La méthode proposée ici va permettre d'​ouvrir automatiquement le conteneur chiffré et de monter la partition chiffrée au démarrage de la session, sans que la pass-phrase ne soit saisie. La partition chiffrée n'est donc plus protégée que par le mot de passe d'​ouverture de session.
  
-__La pass-phrase de la partition ​cryptée ​et le mot de passe associé au compte doivent être les mêmes__ (PAM ne fait que "​passer"​ le mot de passe de session pour le montage de la partition), cela a donc des implications lorsque le mot de passe de l'​utilisateur doit être changé : il faut au préalable rajouter une pass-phrase (identique au nouveau mot de passe) dans un nouveau "​slot"​ et une fois que cela est validé, supprimer l'​ancienne ​passphrase.+__La pass-phrase de la partition ​chiffrée ​et le mot de passe associé au compte doivent être les mêmes__ (PAM ne fait que "​passer"​ le mot de passe de session pour le montage de la partition), cela a donc des implications lorsque le mot de passe de l'​utilisateur doit être changé : il faut au préalable rajouter une pass-phrase (identique au nouveau mot de passe) dans un nouveau "​slot"​ et une fois que cela est validé, supprimer l'​ancienne ​pass-phrase.
  
 Le niveau de sécurité est donc plus bas, mais le chiffrement devient parfaitement transparent pour l'​utilisateur. Cette solution convient donc bien si vous souhaitez simplement protéger vos données personnelles en cas de vol de votre machine par un quidam quelconque, mais peut-être pas si vous avez des documents vraiment confidentiels à protéger. Le niveau de sécurité est donc plus bas, mais le chiffrement devient parfaitement transparent pour l'​utilisateur. Cette solution convient donc bien si vous souhaitez simplement protéger vos données personnelles en cas de vol de votre machine par un quidam quelconque, mais peut-être pas si vous avez des documents vraiment confidentiels à protéger.
  
 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 ​crypté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.
 Les opérations suivantes ont donc été effectuées au préalable : Les opérations suivantes ont donc été effectuées au préalable :
  
Ligne 163: Ligne 158:
 <volume user="​*"​ mountpoint="/​mnt/​cryptodisk"​ path="/​dev/​sda2"​ fstype="​crypt"​ /> <volume user="​*"​ mountpoint="/​mnt/​cryptodisk"​ path="/​dev/​sda2"​ fstype="​crypt"​ />
 </​code>​ </​code>​
-La partition /dev/sda2 de type "​crypt"​ (partition ​cryptée) sera montée à l'​ouverture de session sans demande de la phrase-pass sur le point de montage /​mnt/​cryptodisk,​ et ce quel que soit l'​utilisateur qui se connecte (et dont le mot de passe de session correspond à une pass-phrase de la partition).+La partition /dev/sda2 de type "​crypt"​ (partition ​chiffrée) sera montée à l'​ouverture de session sans demande de la phrase-pass sur le point de montage /​mnt/​cryptodisk,​ et ce quel que soit l'​utilisateur qui se connecte (et dont le mot de passe de session correspond à une pass-phrase de la partition).
  
 Et pour finir, il suffit d'​indiquer à gdm (dans le cas de Gnome) ou kdm (pour KDE) d'​appeler PAM. Et pour finir, il suffit d'​indiquer à gdm (dans le cas de Gnome) ou kdm (pour KDE) d'​appeler PAM.
Ligne 190: Ligne 185:
 </​code>​ </​code>​
  
-==== Chiffrer ​la swap ==== +==== Modifier le mot de passe de la partition chiffrée ​=== 
-Il peut être utile de chiffrer la swap si vous voulez chiffrer votre disque sans LVM. +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
- +=== Ajouter un mot de passe supplémentaire ​=== 
-=== Créer une partition ​de base === +On suppose que l'​utilisateur a parfaitement identifié la partition physique chiffréepar exemple avec lsblk : 
-Pour cela, il faut créer ​une partition ​de swap classique+<​code>​ 
-<note>Je ne suis pas sûr que ce soit nécessaire que la partition soit une swapmais lorsque je l'ai fait, c'en était une et ça marchaitDonc si quelqu'un pouvait préciser ​...</​note>​+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écessitetout 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/sda3Aprè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/sdd1 
 +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>​
  
-=== crypttab ​==+===== Chiffrer votre système avec le swap aléatoirement ​===== 
-J'ai pris la commande dans le crypttab de la page du manuel. Il faut donc ajouter dans /​etc/​crypttab : +Allez voir ce tutoriel pour plus d'information sur le sujet : [[:​chiffrement_manuel]]
-<​code>​cryptoswap /​dev/​sdXX /​dev/​urandom cipher=aes-cbc-essiv:​sha256,​hash=ripemd160,​size=256,​swap</​code>​ +
-Où sdXX est le nom de votre swap. Vous pouvez l'​obtenir en faisant <​code>​sudo blkid</​code>​ Ou en regardant sur gparted ou l'​utilitaire de disques. +
-Ceci va créer le système /​dev/​mapper/​cryptoswap. +
- +
-=== fstab === +
-Il faut maintenant monter ​ce système dans /etc/fstab : +
-<​code>/​dev/​mapper/​cryptoswap none swap sw 0 0</​code>​ +
-Et voilà, le tour est joué, il ne reste plus qu'à redémarrer. +
-La swap sera alors montée et chiffrée par une clé aléatoire.+
 ===== Conclusion ===== ===== Conclusion =====
  
 Le nouveau système de gestion des volumes chiffrés est très bien implémenté dans Dapper. Il permet notamment de sécuriser votre /home sans manipulation complexe autre que de renseigner la pass-phrase lors du démarrage. Le nouveau système de gestion des volumes chiffrés est très bien implémenté dans Dapper. Il permet notamment de sécuriser votre /home sans manipulation complexe autre que de renseigner la pass-phrase lors du démarrage.
- 
-=== Spécificité Edgy === 
- 
-Le fait de chiffrer votre dossier /home (par exemple) nécessite de taper la clé d'​ouverture du volume chiffré lors de la séquence de démarrage de l'​ordinateur,​ mais sous Edgy le système de boot n'est plus séquentiel comme sur Dapper, ce qui entraîne pour l'​heure que le lancement de Xorg (le serveur graphique) n'​attendra pas que vous ayez tapé votre clé d'​ouverture du volume. 
- 
-Une des solutions pour l'​heure est d'​installer **sysvinit** avec [[Synaptic]] au lieu d'​Upstart (le nouveau système de démarrage, intégré dans Edgy). 
  
  
Ligne 222: Ligne 234:
 ===== Sous Windows ===== ===== Sous Windows =====
  
-Grâce au logiciel [[http://www.freeotfe.org/​|FreeOTFE]],​ il est possible de monter de façon non permanente une partition LUKS encryptée ​par Cryptsetup sous Linux à partir de votre système 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.
  
 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 230: Ligne 242:
 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 ​crypté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
  
-5. Choisissez la partition qui est encryptée ​sur votre disque dur+5. Choisissez la partition qui est chiffrée ​sur votre disque dur
  
 6. Dans la grande case, entrez votre clé secrète, puis cliquez sur Ok 6. Dans la grande case, entrez votre clé secrète, puis cliquez sur Ok
  
-7. Si vous avez choisi la bonne partition et la bonne clé, le programme détectera ​l'​encryptage ​correspondant et vous offrira une liste des pilotes pouvant monter le volume. Faites votre choix.+7. Si vous avez choisi la bonne partition et la bonne clé, le programme détectera ​le chiffrage ​correspondant et vous offrira une liste des pilotes pouvant monter le volume. Faites votre choix.
  
 8. Si tout s'est bien passé, vous avez un nouveau lecteur dans votre poste de travail ! 8. Si tout s'est bien passé, vous avez un nouveau lecteur dans votre poste de travail !
Ligne 262: Ligne 274:
   * Un '​howto'​ expliquant étape par étape comment mettre en œuvre LUKS pour construire un système sûr: [[http://​xberger.free.fr/​en-US/​A_startup_key_to_protect_my_data/​1.0/​html/​How_to_have_a_fully_secure_laptop/​index.html | A startup key to protect my data]]   * Un '​howto'​ expliquant étape par étape comment mettre en œuvre LUKS pour construire un système sûr: [[http://​xberger.free.fr/​en-US/​A_startup_key_to_protect_my_data/​1.0/​html/​How_to_have_a_fully_secure_laptop/​index.html | A startup key to protect my data]]
  
-  * [[:tutoriel/chiffrer_son_disque|Tutoriel d'​installation d'une Ubuntu utilisant cryptsetup]]+  * [[:tutoriel:chiffrer_son_disque|Tutoriel d'​installation d'une Ubuntu utilisant cryptsetup]]
 ---- ----
  
 //​Contributeur : ??? // //​Contributeur : ??? //
  • cryptsetup.txt
  • Dernière modification: Le 19/11/2023, 19:50
  • par cqfd93