Quelle est la façon la plus simple de crypter un répertoire? (sur Ubuntu)

13

Quelle est la façon la plus simple de crypter un répertoire sur un système basé sur Ubuntu?

Disons que j'ai un ordinateur portable qui exécute Ubuntu 10.04, et que j'ai des documents qui doivent être conservés en sécurité (si je perds l'ordinateur portable).

Disons que tous les documents se trouvent dans un répertoire appelé ~ / work /, et rien de secret n'est en dehors de ce répertoire. Donc, pas besoin de crypter le répertoire home entier.

Il doit y avoir un moyen de verrouiller / déverrouiller ce répertoire à partir de la ligne de commande.

Il semble y avoir différentes façons de procéder:

  • ecryptfs-utils
  • cryptsetup
  • truecrypt (mais pas open source approuvé par OSI)

Mais quelle est la méthode la plus simple et la plus fiable?

Merci Johan


Mise à jour : question connexe, mais pas la même Quelle est la façon la plus simple de crypter tous mes fichiers dans Ubuntu 10.04?

Johan
la source
2
Qui se soucie si Truecrypt n'est pas approuvé OSI? Approuvé par OSI n'est pas synonyme de meilleur logiciel. Truecrypt est le meilleur du marché et a même déjoué le FBI dans plusieurs cas.
TheLQ
3
Les logiciels qui utilisent des licences approuvées OSI sont plus sûrs.
Johan

Réponses:

10

Il existe trois méthodes: configurer un volume chiffré sur une partition ( dm-crypt, configuré avec cryptsetup), configurer un fichier qui est un volume chiffré (truecrypt), configurer un répertoire dans lequel chaque fichier est chiffré séparément ( ecryptfsou encfs).

La mise en place d'un volume chiffré donne un peu plus de confidentialité, car les métadonnées (taille, temps de modification) de vos fichiers sont invisibles. En revanche, c'est moins flexible (vous devez décider à l'avance de la taille du volume chiffré). La FAQ ecryptfs répertorie certaines différences entre les deux approches.

Si vous choisissez de crypter fichier par fichier, je connais deux options: ecryptfset encfs. Le premier utilise un pilote intégré au noyau tandis que le second utilise FUSE. Cela peut donner ecryptfsun avantage de vitesse; cela donne encfsun avantage de flexibilité car rien ne doit être fait en tant que root. Un avantage possible ecryptfsest qu'une fois que vous avez fait la configuration initiale, vous pouvez utiliser votre mot de passe de connexion comme mot de passe du système de fichiers grâce au pam_ecryptfsmodule.

Pour mon propre usage dans une situation similaire, j'ai choisi encfs, car je ne voyais aucun avantage réel en termes de sécurité pour d'autres solutions, la facilité d'utilisation était donc le facteur déterminant. La performance n'a pas été un problème. Le workflow est très simple (la première exécution de encfscrée le système de fichiers):

aptitude install encfs
encfs ~/.work.encrypted ~/work
... work ...
fusermount -u ~/work

Je vous recommande également de crypter votre espace d'échange et tout endroit où des fichiers confidentiels temporaires peuvent être écrits, tels que /tmpet /var/spool/cups(si vous imprimez des fichiers confidentiels). Utilisez cryptsetuppour crypter votre partition de swap. Le moyen le plus simple de le gérer /tmpest de le garder en mémoire en le montant comme tmpfs(cela peut dans tous les cas apporter un léger avantage en termes de performances).

Gilles 'SO- arrête d'être méchant'
la source
Je n'ai pas pensé à / tmp, mais tmpfs résout ce problème d'une manière agréable. Faites simplement un arrêt réel: art.
Johan
1
Merci d'avoir enseigné encfs! C'est fantastique!
user39559
1

J'utilise exclusivement TrueCrypt pour de telles choses. Approuvé par OSI ou non, je trouve que cela ne me laisse jamais tomber et j'ai besoin d'un chiffrement plusieurs fois.

easyegoism
la source
1

Moyen rapide et facile est taret compresspuis bcrypt.

tar cfj safe-archive.tar.bz2 Répertoire / 
bcrypt safe-archive.tar.bz2 
# vous demandera deux fois un mot de passe de 8 caractères pour le verrouiller.
# Mais n'oubliez pas de supprimer votre répertoire après cela,
rm -rf Répertoire / 
# Et, j'espère que vous n'oublierez pas le mot de passe, ou vos données auront disparu!

Marques safe-archive.tar.bz2.bfe- que vous pouvez renommer si vous vous sentez paranoïaque à ce sujet.

Pour ouvrir le pack chiffré,

bcrypt safe-archive.tar.bz2.bf3 # Ou, peu importe comment vous l'appeliez
tar xfj safe-archive.tar.bz2 
# Et, votre répertoire est de retour!

Si vous êtes prêt à devenir plus salissant, je vous suggère de truecryptcréer des volumes chiffrés.
Mais, je ne pense pas que ce soit nécessaire pour les données régulières (comme non liées à la sécurité nationale, par exemple).

ps: notez que je ne suggère pas que bcrypt soit faible ou incapable de sécurité nationale en aucune façon.


Répondez aux commentaires sur ma réponse ci-dessus.
J'ai essayé de donner une réponse simple - et, je suis d'accord que mon choix de ne pas suggérer Truecrypt comme première option peut être inapproprié pour certains ici.

La question demande un moyen facile de crypter un répertoire.
Ma mesure de sécurité ici est basée sur deux choses,

  1. Que voulez-vous sécuriser et
  2. De qui voulez-vous le sécuriser

Je note cela comme le niveau de votre «paranoïa».

Maintenant, sans dire que Truecrypt (ou d'autres méthodes similaires) sont plus coûteuses,
tout ce que je veux dire, c'est qu'une séquence bcrypt exécutée dans tmpfs est suffisante pour votre utilisation quotidienne aujourd'hui
(ce ne sera probablement pas le cas dans environ une décennie, je devinez, mais c'est vraiment pour l'instant).
Et, je suppose également que la valeur des données sécurisées ici ne sera pas comparable pour une tentative de «récupération» de la classe mona-lisa.

Question simple alors - vous attendez-vous à ce que quelqu'un essaie de saisir votre ordinateur portable éteint et de récupérer des données de son espace RAM froid?
Si vous le faites, vous devriez probablement reconsidérer votre matériel et vos logiciels en premier lieu, vérifier à quel FAI vous vous connectez, qui peut entendre vos pressions sur les touches, etc.

ps: j'aime Truecrypt et je l'utilise. La conformité OSI, ou son absence, n'a pas vraiment d'importance. Et, je ne suis pas en scène bcryptet le schéma proposé ici lui fait concurrence.

nik
la source
2
Bien que je donne la réponse +1, pour les vrais paranoïaques parmi nous ... cela dépend de la valeur de vos données, cela pourrait être une mauvaise idée. L'utilisateur doit se rendre compte que cette méthode laisse évidemment les fichiers du répertoire supprimé sur le disque où ils peuvent potentiellement être récupérés par les "méchants". Il suffit de regarder autour de SU pour "récupérer les fichiers supprimés sous Linux" pour voir à quel point c'est sûr ...
hotei
@hotei, oui, Truecrypts'attaquera à ces complications. Une autre astuce consiste à utiliser un tmpfsmontage sur RAM pour travailler avec le répertoire crypté - copiez le bfesur le disque virtuel, travaillez-y, rechiffrez et enregistrez à nouveau l'archive cryptée dans le système de fichiers.
nik
2
J'irais plus loin que @hotei et je dirais que ce n'est pas vraiment la qualité du cryptage car il est si facile de récupérer les fichiers (il existe tout un marché dédié à la récupération de fichiers). Le cryptage doit être un cryptage. Ce n'est qu'un faux sens de cryptage
TheLQ
2
@nik: Non seulement la méthode dans votre réponse n'est pas sécurisée comme l'explique Hotei, mais elle est également sujette aux erreurs (et si vous oubliez de supprimer les fichiers décryptés?). Même votre proposition d'utilisation tmpfsest très risquée: que faire si vous oubliez de rechiffrer les fichiers et de perdre vos modifications? que faire si l'ordinateur plante (vous perdrez toutes vos modifications)? C'est aussi inutilement compliqué. Il existe de nombreuses façons réelles de résoudre ce problème à l'aide des outils appropriés, utilisez simplement l'un d'entre eux.
Gilles 'SO- arrête d'être méchant'
1
@nik Il y a eu une exposition dans une université voisine qui a montré que même après une heure de RAM éteinte, vous pouvez toujours distinguer une photo de la Joconde qui a été chargée en mémoire. Sauf si vous redémarrez la machine immédiatement après, il est super facile de récupérer les données de la RAM. Truecrypt, IIRC, crypte sa RAM.
digitxp
1

Si vous ne craignez que de perdre votre ordinateur portable, Ubuntu est ecryptfsdéjà configuré pour vous.

Choisissez simplement "répertoire personnel chiffré" lorsque vous créez votre compte d'utilisateur et donnez-lui un mot de passe décent. Cela protégera tout ce qui se trouve dans votre dossier personnel.

Oui, il cryptera plus ~/work, mais il est transparent.

Pour l' /tmpusage tmpfs.

Avantages:

  • Vous n'avez rien d'autre à faire, Ubuntu fait tout pour vous.
  • Vos amis peuvent utiliser votre ordinateur en déplacement, ils n'auront besoin d'un mot de passe que s'ils souhaitent accéder à vos fichiers.

Con:

  • Il y a d'autres endroits où vous faites des données de fuite - la réponse de Gilles est la plus complète (+1 pour lui).

Donc, si vous ne pensez pas qu'un expert médico-légal essaiera d'obtenir des données à partir de documents que vous avez imprimés, cela suffit.

ecryptfspeut également crypter le swap, mais je vous recommande de désactiver le swap sauf s'il vous est arrivé que vous soyez sorti de RAM. La vie est meilleure sans échange. (ou exécutez simplement ecryptfs-setup-swapet suivez les instructions pour modifier fstab)


Avertissement : Dans tous les cas, à moins que vous n'ayez acheté ce portable, il y a déjà beaucoup de choses écrites sur votre disque dur. J'ai trouvé un tas de trucs dans le mien et rien ne l'éclaircirait. Vous devez effectuer une sauvegarde sur un autre lecteur ou partition, écraser votre système de fichiers actuel avec des zéros et restaurer vos fichiers (bien sûr, ne restaurez les fichiers sensibles qu'une fois le cryptage configuré).

user39559
la source
1

Le moyen le plus simple et le plus rapide de configurer cela est d'installer ecryptfs-utils et cryptkeeper :

sudo apt-get install ecryptfs-utils cryptkeeper

Ensuite, une fois terminé, regardez dans votre système. Vous verrez une icône de deux clés. Cliquez dessus et choisissez Nouveau dossier crypté. Tapez le nom et cliquez sur le bouton Suivant (étrangement en bas à gauche, pas à droite). Tapez ensuite le mot de passe souhaité, reconfirmez-le, cliquez à nouveau sur Transférer, puis sur OK.

Cela montera le dossier crypté et vous pourrez y copier des fichiers. Une fois terminé, si vous vous déconnectez ou décochez ce dossier monté (cliquez sur l'icône Clés dans la barre d'état système pour le faire), il vous faudra de nouveau un mot de passe avant de le remonter.

Volomike
la source