Comment utiliser ecryptfs avec un répertoire non personnel

14

Je voudrais utiliser ecryptfs pour crypter un répertoire aléatoire (c'est-à-dire pas mon répertoire personnel ou un de ses sous-répertoires, principalement en raison des limitations d'espace disque sur ma partition domestique) et monter ce répertoire lorsque je me connecte à mon compte. Je ne vois pas comment faire cela ou même si c'est vraiment possible avec le logiciel existant. J'ai vu des articles qui fournissent de vagues suggestions (par exemple, à utiliser mount.ecryptfs_privateavec l'option ALIAS), mais je n'ai pas encore trouvé d'instructions simples et détaillées sur la façon de procéder. Quelqu'un pourrait-il fournir ces instructions ou m'indiquer où les trouver?

user3004015
la source
2
C'est la méthode la plus simple que vous trouverez: wiki.archlinux.org/index.php/…
Rinzwind
1
Mon problème avec cette solution est que j'ai déjà un répertoire personnel chiffré. En regardant le code ecryptsfs-setup-private, je ne sais pas ce qui se passera si vous avez déjà une maison cryptée et que vous ne voulez pas vraiment essayer de peur que cela fasse de mauvaises choses.
user3004015
1
Comprenez-vous pourquoi un double semble si difficile? Il me semble que la chose logique serait de construire un système générique pour créer un stockage et des dossiers cryptés et de les monter automatiquement, puis de s'appuyer sur ce système pour faire le répertoire personnel, mais ce logiciel semble avoir été écrit avec beaucoup des choses câblées. Le stockage doit être. Privé, le répertoire doit être Privé, etc.
user3004015
2
L'utilisation d'un fichier zip protégé par mot de passe n'est pas cryptographiquement sécurisée. Une approche similaire est à utiliser gpg. Supposons que vous souhaitiez stocker le dossier en toute sécurité, mydatavous pouvez alors utiliser tar -c mydata | gpg --symmetric > mydata.tar.gpg && rm -rf mydatapour stocker vos données et gpg --decrypt mydata.tar.gpg | tar -xrestaurer vos données. Vous pouvez facilement utiliser votre clé privée / publique pour protéger vos données, ce qui semble conseillé. Seules de petites quantités de données doivent être stockées avec cette méthode. @Rinzwind
Arne L.
1
Sorte de l'objectif de crypter les données si vous rm -fR mydata. Ces données pourraient être récupérées du disque longtemps après que vous les "supprimiez". Je ne sais pas comment il est sûr, mais je penche vers un « récursive » déchiqueter à la place: find mydata -type f -exec shred -uz -- {} \;. Remarque, le déchiquetage n'est efficace que sur les systèmes de fichiers non journalisés et certains types de périphériques. Lorsque cela est important, il convient de rechercher la meilleure façon. Je ne pense pas que ce soit une pratique sûre: chiffrer et déchiffrer l'archive comme ça. Il y a de fortes chances que ce soit inefficace.
bambams

Réponses:

8

Vous ne regardez que les scripts super-faciles comme ecryptsfs-setup-privateet ecryptsfs-mount-private, ils utilisent les outils les plus "génériques" que vous cherchez: mount.ecryptfset ecryptfs-add-passphrase. Voir leurs manpages pour plus d'informations.

Et le lien que Rinzwind a publié contient toutes les informations dont vous avez besoin, plus bas sur la page sous Configuration manuelle . Ils sont assez longs, mais la version très très courte serait:


La méthode "Manual Setup" (archlinux wiki)

Choisissez d'abord un ALIAS à votre guise. Grâce à cette section, ALIAS sera secret. Créez les répertoires / fichiers requis:

$ mkdir ~/.secret ~/secret ~/.ecryptfs
$ touch ~/.ecryptfs/secret.conf ~/.ecryptfs/secret.sig

Le ~/.secretrépertoire contiendra les données cryptées. Le ~/secretrépertoire est le point de montage où ~/.secretsera monté en tant que système de fichiers ecryptfs.

[Maintenant, créez la phrase secrète de montage réelle (les scripts faciles sélectionneront 32 caractères pseudo-aléatoires /dev/urandom), faites-en une bonne]

$ echo "$HOME/.secret $HOME/secret ecryptfs" > ~/.ecryptfs/secret.conf
$ ecryptfs-add-passphrase
Passphrase: 
Inserted auth tok with sig [78c6f0645fe62da0] into the user session keyring

Écrivez la signature de sortie (ecryptfs_sig) de la commande précédente dans ~ / .ecryptfs / secret.sig:

$ echo 78c6f0645fe62da0 > ~/.ecryptfs/secret.sig
  • Une deuxième phrase secrète pour le cryptage du nom de fichier peut être utilisée. Si vous le souhaitez, ajoutez-le au trousseau de clés:

    $ ecryptfs-add-passphrase
    Passphrase: 
    Inserted auth tok with sig [326a6d3e2a5d444a] into the user session keyring
    

    Si vous exécutez la commande ci-dessus, ajoutez sa signature de sortie (ecryptfs_fnek_sig) à ~ / .ecryptfs / secret.sig:

    $ echo 326a6d3e2a5d444a >> ~/.ecryptfs/secret.sig
    

Enfin, pour monter ~ / .secret sur ~ / secret:

$ mount.ecryptfs_private secret

Pour démonter ~ / .secret:

$ umount.ecryptfs_private secret

  • Ou vous pourriez vraiment vous salir les mains et suivre les instructions Sans ecryptfs-utils .

  • Ou si vous avez déjà regardé les scripts faciles ecryptsfs-setup-private& ecryptsfs-mount-private, vous pourrez peut-être les copier et les modifier pour pointer vers vos répertoires préférés, avec un peu de compétence et de patience.

  • Ou enregistrez simplement la ou les phrases secrètes vous-même (de préférence en toute sécurité) et faites comme l' man ecryptfsexemple de la page (vous devez lire les pages de manuel):

    The following command will layover mount eCryptfs on /secret with a passphrase
    contained in a file stored on secure media mounted at /mnt/usb/.
    
    mount  -t  ecryptfs -o key=passphrase:passphrase_passwd_file=/mnt/usb/file.txt /secret /secret
    
    Where file.txt contains the contents "passphrase_passwd=[passphrase]".
    

Mis à part les dossiers de départ chiffrés et un dossier chiffré à l'intérieur de la maison - dossiers eCryptfs imbriqués

De plus, un dossier personnel chiffré stocke normalement des fichiers /home/.ecryptfs/user/, tandis qu'un dossier privé chiffré contient des fichiers dans votre propre dossier personnel. Vous ne pouvez pas utiliser les deux en même temps, eCryptfs ne fera pas de dossiers chiffrés imbriqués. Mais avoir une maison cryptée et des dossiers cryptés à l'extérieur de votre maison est correct.

  • Je viens d'essayer de créer un nouvel utilisateur avec une maison cryptée sudo adduser --encrypt-home jack

    Il a créé un /home/.ecryptfs/dossier, avec:

    • /home/.ecryptfs/jack/.ecryptfs/ - mot de passe enveloppé et fichiers de configuration pour le montage automatique de la prise jack lors de la connexion
    • /home/.ecryptfs/jack/.Private/- fichiers d'accueil chiffrés réels, montés sur /home/jack/lorsque vous êtes connecté.

      Et aussi le /home/jack/dossier, mais il contenait un lien qui y reste, qu'il soit connecté ou non:

      /home/jack/.ecryptfs/ -> /home/.ecryptfs/jack/.ecryptfs

    • Ensuite, je me suis connecté en tant que jack, mais le lien était toujours là, donc essayer de l'exécuter l'a ecryptfs-setup-privatefait regarder /home/jack/.ecryptfs/mais vraiment voir les fichiers existants /home/.ecryptfs/jack/.ecryptfsdonc il n'a pas pu créer un autre fichier de mot de passe et échouer avecERROR: wrapped-passphrase file already exists, use --force to overwrite.

      La tentative des étapes "ALIAS" ci-dessus, en utilisant un dossier .secret à l'intérieur de la maison chiffrée a échoué, avec ces erreurs:
      Mount on filesystem of type eCryptfs explicitly disallowed due to known incompatibilities
      Reading sb failed; rc = [-22]

      "L'imbrication de répertoires chiffrés à l'intérieur de répertoires chiffrés n'est pas prise en charge avec eCryptfs. Désolé." - Auteur et mainteneur eCryptfs

    • Changer le dossier ALIAS en dehors de la maison de jack, en essayant /tmp/.secret/et /tmp/secret/ fonctionne . MAIS si la connexion jack est déconnectée, le nouveau dossier chiffré restera monté , vous devez donc le démonter ( umount.ecryptfs_private secret).

Xen2050
la source
1
Merci pour la réponse simplifiée. Une question cependant: cela résout-il le problème de montage automatique? Désolé d'être dense à ce sujet, mais la page Web que vous avez indiquée et les pages de manuel ne sont pas vraiment faciles à comprendre concernant la configuration du montage automatique pour une situation non standard. Comme j'ai déjà un répertoire personnel chiffré, j'ai déjà $ HOME / .ecryptfs / auto-mount et wrapped-passphrase, mais le premier est vide et le second contient déjà quelque chose. Il n'est pas tout à fait clair pour moi comment ajouter la nouvelle phrase secrète et lui demander de monter automatiquement le répertoire.
user3004015
Mis à jour avec un peu de test, et ce gars ragingpenguin.com/2012/12/… a apparemment eu de la chance en suivant le guide Wiki arch sur le montage automatique avec PAM, mais il est assez
discret
Merci pour vos efforts. Je ne suis pas intéressé à imbriquer les répertoires ecryptfs, mais à monter automatiquement un deuxième répertoire à la deuxième place. J'essaierai de le faire fonctionner quand j'aurai un peu de temps, mais ce n'est certainement pas très clair ...
user3004015
Vous pouvez le réduire à une seule mountligne, ne pas avoir besoin d'un .conffichier ou ajouter des clés, il suffit de lire les man ecryptfspages pour les options disponibles. Ajoutez ensuite un fichier "run at login" /home/user/.config/autostart/. Mais la sécurité de la phrase secrète pourrait être menacée si elle n'est pas stockée
correctement
Le fait est qu'ecryptfs a un bon système pour encapsuler les mots de passe de cryptage dans un wrapper qui est ouvert avec un mot de passe de connexion. Cela offre une protection supplémentaire pour le mot de passe ecryptfs, ce qui serait bien d'avoir. Je ne pense pas que mettre quelque chose dans .config / autostart permettra cela à moins que je ne comprenne mal ce que je suis censé mettre dans le script.
user3004015
0

Si vous souhaitez l'utiliser comme encfs, vous pouvez le faire avec l'entrée suivante dans /etc/fstab

/tmp/.geheim /tmp/geheim ecryptfs rw,no_sig_cache,ecryptfs_fnek_sig=1f7aefb9e239099f,ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptfs_enable_filename_crypto=y,ecryptfs_passthrough=n,passphrase_passwd=geheimpw,user,noauto 0 0

geheim est le mot allemand pour secret, mais garantit qu'il ne s'agit pas d'un mot clé. Vous devez d'abord créer les répertoires. La première fois que vous devez quitterecryptfs_fnek_sig=1f7aefb9e239099f . Ensuite mount /tmp/geheim, vous montrera la valeur correcte.

Vous pouvez stocker le mot de passe à un autre endroit et définir des options plus sophistiquées. Vous trouverez toutes les options dans man ecryptfs.

niels
la source
-1
ecryptfs /destination/to/encrypted/storage /destination/to/seeing/unencrypted/data

par exemple:

ecryptfs /home/$USER/EFILES /home/$USER/Downloads/RANDOMDIRECTORY

utilisez la commande ci-dessus pour créer et monter un système crypté où les fichiers enregistrés dans RANDOMDIRECTORY sont cryptés et enregistrés dans EFILES.

Notes complémentaires. assurez-vous que RANDOMDIRECTORY est vide lorsque vous commencez. Une fois que vous avez exécuté la commande ci-dessus et que le système est monté et prêt à fonctionner, tous les fichiers que vous enregistrez dans RANDOMDIRECTORY seront chiffrés dans EFILES si le système est monté. Pour un montage / démontage rapide, vous pouvez soit créer un script bash et l'exécuter via un raccourci d'application, soit créer une commande d'alias pour un montage rapide.

Je l'utilise depuis plus d'un an maintenant.

EDIT: est rentré chez lui pour confirmer, ta commande n'est pas ecryptfs. ses encfs ie

encfs /destination/encrypted /destination/unencrypted

Désolé pour ça. Avec cela, vous devrez installer un nouveau programme (probablement)

dr1094
la source
1
J'ai tapé la commande ecryptfset elle répond à la commande introuvable. man ecryptfsaffiche la page de manuel de mount -t ecryptfs, mais n'explique pas vraiment comment créer un tel système de fichiers chiffré.
user3004015
Notez que j'utilise Ubuntu 14.04 LTS, donc mon installation est relativement récente. La ecryptfscommande est-elle un ajout récent?
user3004015
encfs n'est pas identique à ecryptfs. Ce sont deux choses différentes.
Diagon