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
ecryptfs [Le 29/12/2017, 13:40]
88.182.40.86 [Chiffrer son /home]
ecryptfs [Le 11/06/2021, 22:52]
zococo [Fil de discussion associé]
Ligne 6: Ligne 6:
 **Ecryptfs ** est un outil pour créer un dossier privé (**~/​Private**),​ __chiffré et inaccessible aux autres utilisateurs__,​ il est destiné à contenir tous les fichiers "​sensibles"​ que vous pourriez avoir : vos fichiers contenant des mots de passe, les données confidentielles relatives à vos comptes bancaires, vos emails… **Ecryptfs ** est un outil pour créer un dossier privé (**~/​Private**),​ __chiffré et inaccessible aux autres utilisateurs__,​ il est destiné à contenir tous les fichiers "​sensibles"​ que vous pourriez avoir : vos fichiers contenant des mots de passe, les données confidentielles relatives à vos comptes bancaires, vos emails…
  
-<​note>​Cette nouvelle caractéristique de sécurité est disponible depuis Ubuntu Intrepid Ibex</​note>​+<​note>​Cette nouvelle caractéristique de sécurité est disponible depuis ​[[intrepid|Ubuntu Intrepid Ibex]]</​note>​
  
 +<note warning> Cette [[https://​wiki.ubuntu.com/​BionicBeaver/​ReleaseNotes|fonctionnalité ]]
 +n'est pas disponible lors de l'​installation de la version [[https://​bugs.launchpad.net/​ubuntu/​+source/​ecryptfs-utils/​+bug/​1756840|18.04.0]]</​note>​
  
 ===== Installation ===== ===== Installation =====
 +==== Contrôle préalable. ====
 +Ecryptfs assure une sécurité des données basée sur le mot de passe. Il est donc nécessaire que le mot de passe ne soit pas très aisément récupérable.
 +S'il est récupérable en dix secondes, il semble inutile de chiffrer les données.
 +<​code>​sudo apt install john
 +sudo john --show ​ /etc/passwd /​etc/​shadow</​code>​
 +S'il est déchiffrable ​ en moins de 24 heures. le risque reste important.
 +<​code>​sudo john --incremental ​ /etc/passwd /​etc/​shadow</​code>​
 +S'il est nécessaire de  passer plus de temps, il est probable que les particuliers seront découragés mais pas les professionnels quitte à utiliser un réseau de 1000 machines afin de diminuer la durée de décryptage,​ mais ils décrypteront le mot de passe.
 +
 +
 +==== Acquisition du logiciel. ====
  
 Il suffit [[:​tutoriel:​comment_installer_un_paquet#​paquet_present_dans_les_depots|d'​installer le paquet]] **[[apt>​ecryptfs-utils]]**. Il suffit [[:​tutoriel:​comment_installer_un_paquet#​paquet_present_dans_les_depots|d'​installer le paquet]] **[[apt>​ecryptfs-utils]]**.
Ligne 35: Ligne 48:
 Enregistrez votre phrase secrète dans un lieu sûr, elle sera requise pour récupérer vos données ultérieurement. Enregistrez votre phrase secrète dans un lieu sûr, elle sera requise pour récupérer vos données ultérieurement.
  
-Puis, avant d'​utiliser,​ il faut absolument suivre cette directive, sinon ce que vous avez écrire sera perdu+Puis, avant d'​utiliser,​ il faut absolument suivre cette directive, sinon ce que vous allez écrire sera perdu
  
 **Logout, and log back in to begin using your encrypted directory.** **Logout, and log back in to begin using your encrypted directory.**
Ligne 91: Ligne 104:
 <​code>​sudo ecryptfs-migrate-home -u "​user"</​code>​ <​code>​sudo ecryptfs-migrate-home -u "​user"</​code>​
  
-en remplaçant "​user"​ par le login du compte à crypter.+en remplaçant "​user"​ par le login du compte à chiffrer.
  
-<note important>​Il n'est pas possible d'​utiliser cette commande depuis le compte user du dossier /home à crypter. Il faut donc créer un utilisateur temporaire sur votre système, lui donner les droits sudo en l'​associant au groupe "​admin"​ puis se logger sur un console avec cet utilisateur temporaire pour executer ​la commande ci-dessus.</​note>​+<note important>​Il n'est pas possible d'​utiliser cette commande depuis le compte user du dossier /home à chiffrer. Il faut donc créer un utilisateur temporaire sur votre système, lui donner les droits sudo en l'​associant au groupe "​admin"​ puis se logger sur une console avec cet utilisateur temporaire pour exécuter ​la commande ci-dessus.</​note>​
  
-<note warning>​Avant de lancer le processus, il est recommandé de faire un backup ​de son /home en utilisant par exemple [[clonezilla|Clonezilla]]</​note>​+<note warning>​Avant de lancer le processus, il est recommandé de faire une sauvegarde ​de son répertoire ​/home en utilisant par exemple [[clonezilla|Clonezilla]]</​note>​
  
-<note help>​Cette migration emporte aussi les données de l'​utilisateur ​ montées dans d'​autres partitions ​ et reliées par un lien logique aux dossiers ​ Documents, Images, téléchargements,​ musique et Vidéos et nécessite 2,5 fois la taille de cet ensemble</​note>​+<note help>​Cette migration emporte aussi les données de l'​utilisateur ​ montées dans d'​autres partitions ​ et reliées par un lien logique aux dossiers Documents, Images, téléchargements,​ musique et Vidéos et nécessite 2,5 fois la taille de cet ensemble</​note>​
  
 Pour créer un nouvel utilisateur "​temporaire"​ en lui donnant les droits d'​admin,​ tapez : Pour créer un nouvel utilisateur "​temporaire"​ en lui donnant les droits d'​admin,​ tapez :
Ligne 106: Ligne 119:
 <​code>​sudo rsync -a /home/user /​backup/​user.old</​code>​ <​code>​sudo rsync -a /home/user /​backup/​user.old</​code>​
  
-Faite ensuite du ménage dans votre dossier /home : la migration vers un /home crypté ​nécessite que la partition sur laquelle est votre /home ait un espace disque libre de 2,5x la taille du /home à chiffrer ! \\+Faite ensuite du ménage dans votre dossier /home : la migration vers un /home chiffré ​nécessite que la partition sur laquelle est votre /home ait un espace disque libre de 2,5x la taille du /home à chiffrer ! \\
  
 Passez ensuite en mode console avec CTRL+ALT+F1 en ayant fermé votre session graphique (il faut s'​assurer que le /home de l'​utilisateur à chiffrer n'aura pas d'​accès en écriture pendant l’opération) et loggez vous avec votre nouvel utilisateur.\\ Vous pouvez vérifier si il y a encore des processus qui tournent sous votre user à chiffrer avec la commande <​code>​top</​code>​ Passez ensuite en mode console avec CTRL+ALT+F1 en ayant fermé votre session graphique (il faut s'​assurer que le /home de l'​utilisateur à chiffrer n'aura pas d'​accès en écriture pendant l’opération) et loggez vous avec votre nouvel utilisateur.\\ Vous pouvez vérifier si il y a encore des processus qui tournent sous votre user à chiffrer avec la commande <​code>​top</​code>​
Ligne 114: Ligne 127:
   - **Avant de rebooter**, loguez vous avec l'​utilisateur qui vient d'​être migré <​code>​su "​user"</​code>​ et naviguez dans votre dossier /home. Si vous retrouvez vos fichiers et pouvez les lire, c'est que tout c'est bien passé.   - **Avant de rebooter**, loguez vous avec l'​utilisateur qui vient d'​être migré <​code>​su "​user"</​code>​ et naviguez dans votre dossier /home. Si vous retrouvez vos fichiers et pouvez les lire, c'est que tout c'est bien passé.
   - La migration a crée un dossier /​home/​user.XXXXXXXX. Si tout s'est bien passé, vous pouvez le supprimer (à faire après quelque jours d'​utilisation,​ une fois que l'on est vraiment sur que tout s'est bien passé.) Si non, utilisez le pour restaurer votre /home   - La migration a crée un dossier /​home/​user.XXXXXXXX. Si tout s'est bien passé, vous pouvez le supprimer (à faire après quelque jours d'​utilisation,​ une fois que l'on est vraiment sur que tout s'est bien passé.) Si non, utilisez le pour restaurer votre /home
-  - Utilisez la commande <​code>​ecryptfs-unwrap-passphrase</​code>​ pour connaitre ​votre clé de chiffrement. Notez là et gardez ​là précieusement,​ cela pourra vous être utile pour déchiffrer votre home en cas de problème. +  - Utilisez la commande <​code>​ecryptfs-unwrap-passphrase</​code>​ pour connaître ​votre clé de chiffrement. Notez-la et gardez-la précieusement,​ cela pourra vous être utile pour déchiffrer votre home en cas de problème. 
-  - Cryptez ​votre swap avec la commande <​code>​ecryptfs-setup-swap</​code>​+  - Chiffrez ​votre swap avec la commande <​code>​ecryptfs-setup-swap</​code>​
 Vous pourrez enfin supprimer votre utilisateur temporaire avec la commande Vous pourrez enfin supprimer votre utilisateur temporaire avec la commande
 <​code>​sudo deluser --remove-all-files temporaire</​code>​ <​code>​sudo deluser --remove-all-files temporaire</​code>​
- 
- 
- 
- 
- 
- 
- 
- 
- 
  
 ===== Préalable pour pouvoir se relogger facilement avec le gestionnaire de connexion et l'​authentification PAM : ===== ===== Préalable pour pouvoir se relogger facilement avec le gestionnaire de connexion et l'​authentification PAM : =====
  
 +Le montage est automatique en version 16.04, ​
 +Le paquet peut aussi s'​appeler libpam-mount et les deux autres paquets peuvent déjà être installés.
  
 L'​idée étant évidement que le répertoire personnel soit monté en clair dès le login. Pour cela nous allons utiliser pam_mount, il faudra d'​abord installer le paquet en question "​libpam_mount"​ et "​rsync"​ et "​lsof"​ : L'​idée étant évidement que le répertoire personnel soit monté en clair dès le login. Pour cela nous allons utiliser pam_mount, il faudra d'​abord installer le paquet en question "​libpam_mount"​ et "​rsync"​ et "​lsof"​ :
Ligne 149: Ligne 155:
 (Réalisation en version 16.04) (Réalisation en version 16.04)
  
-L'​installation standard ne génère le répertoire /home/$ÛSER que d'un seul utilisateur pouvant être chiffré ou pas. il peut être  nécessaire de créer d'​autres utilisateurs.+L'​installation standard ne génère le répertoire /home/$USER que d'un seul utilisateur pouvant être chiffré ou pas. il peut être  nécessaire de créer d'​autres utilisateurs.
   *  Créer l'​utilisateur nouveau grâce à la commande **sudo adduser NouveauNom**   *  Créer l'​utilisateur nouveau grâce à la commande **sudo adduser NouveauNom**
   *  Initialiser immédiatement le chiffrage de cet utilisateur grâce à la commande. **sudo ecryptfs-migrate-home -u NouveauNom**   *  Initialiser immédiatement le chiffrage de cet utilisateur grâce à la commande. **sudo ecryptfs-migrate-home -u NouveauNom**
Ligne 155: Ligne 161:
   *  Patienter quelque minutes le temps que la grille proposant d'​enregistrer ce choix soit affichée.   *  Patienter quelque minutes le temps que la grille proposant d'​enregistrer ce choix soit affichée.
   *  Valider la grille afin d'​automatiser   *  Valider la grille afin d'​automatiser
-  * Se déconnecter et se reconnecter immédiatement avant l'​arrêt de l'ordionateurs+  * Se déconnecter et se reconnecter immédiatement avant l'​arrêt de l'ordinateur.
  
 Constat; Constat;
Ligne 230: Ligne 236:
  
 === Methode automatique === === Methode automatique ===
 +
 +== Si tout se passe bien ==
  
 Pour récupérer très simplement **vos données personnelles**,​ il est possible d'​utiliser l'​outil **ecryptfs-recover-private** Pour récupérer très simplement **vos données personnelles**,​ il est possible d'​utiliser l'​outil **ecryptfs-recover-private**
Ligne 247: Ligne 255:
 </​note>​ </​note>​
  
 +== Si vous obtenez l'​erreur « échec de l’appel système mount(2) » ==
 +Il peut arriver que la méthode automatique échoue sans qu'il soit nécessaire de passer par la méthode manuelle, voire que la méthode manuelle échoue elle aussi avec une erreur « échec de l’appel système mount(2) : Aucun fichier ou dossier de ce type.» (mount: mount(2) failed: No such file or directory)
 +
 +<​code>​
 +usr@pc:~$ sudo ecryptfs-recover-private --rw /​home/​.ecryptfs/​usr/​.Private
 +[sudo] Mot de passe de usr : ​
 +INFO: Found [/​home/​.ecryptfs/​usr/​.Private].
 +Try to recover this directory? [Y/​n]: ​
 +INFO: Found your wrapped-passphrase
 +Do you know your LOGIN passphrase? [Y/n] 
 +INFO: Enter your LOGIN passphrase...
 +Passphrase: ​
 +Inserted auth tok with sig [a425d547696d4f7b] into the user session keyring
 +mount: /​tmp/​ecryptfs.a2GHrSDE:​ échec de l’appel système mount(2) : Aucun fichier ou dossier de ce type.
 +ERROR: Failed to mount private data at [/​tmp/​ecryptfs.a2GHrSDE].
 +</​code>​
 +
 +Dans ce cas, il peut être nécessaire d'​initialiser les clés ecryptfs de la manière suivante :
 +<​code>​
 +usr@pc:~$ sudo keyctl link @u @s
 +</​code>​
 +
 +puis, tout simplement :
 +
 +<​code>​
 +usr@pc:~$ sudo ecryptfs-recover-private --rw /​home/​.ecryptfs/​usr/​.Private
 +INFO: Found [/​home/​.ecryptfs/​usr/​.Private].
 +Try to recover this directory? [Y/​n]: ​
 +INFO: Found your wrapped-passphrase
 +Do you know your LOGIN passphrase? [Y/n] 
 +INFO: Enter your LOGIN passphrase...
 +Passphrase: ​
 +Inserted auth tok with sig [a425d547696d4f7b] into the user session keyring
 +INFO: Success! ​ Private data mounted at [/​tmp/​ecryptfs.sD45Yfu58].
 +
 +</​code>​
 === Méthode manuelle === === Méthode manuelle ===
  
Ligne 255: Ligne 299:
 Tout d'​abord,​ il faut monter la partition /home dont on veut s'​approprier le contenu planté pour qu'il soit accessible dans "/​media"​. Puis Tout d'​abord,​ il faut monter la partition /home dont on veut s'​approprier le contenu planté pour qu'il soit accessible dans "/​media"​. Puis
  
-sudo ecryptfs-unwrap-passphrase ​  /​media/​$USER/​PointDeMontage/​home/​NomDeCeluiDontOnRécupèreLesDonnées/​.ecryptfs/​wrapped-passphrase+<​code>​sudo ecryptfs-unwrap-passphrase ​  /​media/​$USER/​PointDeMontage/​home/​NomDeCeluiDontOnRécupèreLesDonnées/​.ecryptfs/​wrapped-passphrase</​code>​
   ​   ​
 (le mot de passe demandé est celui de la personne dont on souhaite récupérer les données. Il peut être nécessaire de négocier pour obtenir ce mot de passe!) (le mot de passe demandé est celui de la personne dont on souhaite récupérer les données. Il peut être nécessaire de négocier pour obtenir ce mot de passe!)
Ligne 266: Ligne 310:
 == Etape 2 : obtenir les 2 clés "​fnek"​ == == Etape 2 : obtenir les 2 clés "​fnek"​ ==
  
-  ​ecryptfs-add-passphrase --fnek+<​code>​ sudo ecryptfs-add-passphrase --fnek</​code>​
 (lorsque l'on vous demande la passphrase, il ne faut pas confondre avec votre mot de passe session, mettez la passphrase obtenue ci-dessus) (lorsque l'on vous demande la passphrase, il ne faut pas confondre avec votre mot de passe session, mettez la passphrase obtenue ci-dessus)
-On vous donne 2 clés, il faut copier ​l+On vous donne 2 clés, il faut  ​les ​copier ​dans la commande suivante avant de la lancer. 
 + 
 +== Etape 3 : effectuer le montage du répertoire == 
 + 
 +<​code>​sudo mount -i -t ecryptfs -o rw,​ecryptfs_sig=premier_keyring,​ecryptfs_fnek_sig=deuxième_keyring,​ecryptfs_cipher=aes,​ecryptfs_key_bytes=16 ​ /​media/​$USER/​PointDeMontage/​home/​NomDeCeluiDontOnRécupèreLesDonnées/​.Private ​    /​media</​code>​ 
 +Vérifier alors que les noms des fichiers sont bien lisibles! 
 +Si ce n'est pas le cas et que leur taille est indiquée avec les ??????, vous vous êtes trompés dans les jetons. Notez qu'​aussitôt qu'une commande de montage a été réalisée (avec succès ou pas) les jetons sont éliminés. Il est donc nécessaire de rejouer ce trio de commandes. 
 + 
 +Ne pas oublier que la commande **ecrypt2fs-recover-private,​** fait cette action mais en imposant le point de montage dans un répertoire aléatoire de /tmp... 
 + 
 + 
  
  
-==== Récupération du contenu d'un utilisateur chiffré ​ ou de son dossier privé ====+==== Récupération du contenu d'un utilisateur chiffré ​ ou de son dossier privé ​avec une autre instance====
  
 Dans le cas où vous auriez suivi l'​installation d'​ecryptfs au début de cette documentation,​ vous avez un répertoire nommé par défaut Private dans votre /home. Dans le cas où vous auriez suivi l'​installation d'​ecryptfs au début de cette documentation,​ vous avez un répertoire nommé par défaut Private dans votre /home.
Ligne 277: Ligne 332:
 Il vous suffira alors d'​utiliser votre passphrase comme à votre habitude, tout simplement. Il vous suffira alors d'​utiliser votre passphrase comme à votre habitude, tout simplement.
  
-Si le disque contenant les données chiffrées est en bon état, il faut monter la partition de cet utilisateur et ouvrir le répertoire en prenant le soin de remplacer **XN** par les bonnes valeurs.. +Si le disque contenant les données chiffrées est en bon état, il faut  ​installer le logiciel. ( Voir le chapitre 1), le configurer (Voir le chapitre 2)  puis monter la partition de cet utilisateur et ouvrir le répertoire en prenant le soin de remplacer **XN** par les bonnes valeurs.. 
-<​code>​sudo ​   -i +<​code>​sudo -i 
-mount   ​-v   ​/​dev/​sdXN ​    ​/mnt +mount -v  /dev/sdXN /mnt 
-ecryptfs-recover-private ​  ​/​mnt/​home/​NomDeCeluiDontOnRécupèreLesDonnées/​.Private+ecryptfs-recover-private ​ /mnt/home/.ecryptfs/​NomDeCeluiDontOnRécupèreLesDonnées/​.Private
 </​code>​ </​code>​
  
Ligne 312: Ligne 367:
 cat *</​code>​ cat *</​code>​
  
-Nota:  Pour accéder à ce répertoire en écriture, la commande de montage est <​code>​ecryptfs-recover-private ​  ​--rw ​ /​mnt/​home/​NomDeCeluiDontOnRécupèreLesDonnées/​.Private </​code>​ 
  
   ​   ​
Ligne 327: Ligne 381:
   * **(en)** [[http://​bodhizazen.net/​Tutorials/​Ecryptfs/​]]   * **(en)** [[http://​bodhizazen.net/​Tutorials/​Ecryptfs/​]]
   * **(fr)** [[http://​blog.rom1v.com/​2010/​05/​chiffrer-son-dossier-personnel-home-sous-ubuntu/​|Chiffrer son dossier personnel (/home) sous Ubuntu (®om'​s blog)]]   * **(fr)** [[http://​blog.rom1v.com/​2010/​05/​chiffrer-son-dossier-personnel-home-sous-ubuntu/​|Chiffrer son dossier personnel (/home) sous Ubuntu (®om'​s blog)]]
 +  * **(en)** [[https://​bugs.launchpad.net/​ecryptfs|Anomalies connues]]
 +  * **(fr)** [[https://​kb-fr.sandisk.com/​app/​answers/​detail/​a_id/​8251/​~/​page-dinformations-et-de-t%C3%A9l%C3%A9chargement-de-secureaccess-3.0|Ubuntu encore oublié par un grand fabriquant de matériel ]]
 +  * **(en)** [[https://​askubuntu.com/​questions/​659242/​problem-with-ecryptfs-recover-private-mount2-failed~|Erreur mount avec ecryptfs-recover-private]]
 +  * **(en)** [[https://​bugs.launchpad.net/​ubuntu/​+source/​ecryptfs-utils/​+bug/​1718658|La commande ecryptfs-mount-private échoue à initialiser les clés ecryptfs]]
 +
  • ecryptfs.txt
  • Dernière modification: Le 15/12/2022, 10:02
  • par 91.161.152.215