Clochix

Aller au contenu | Aller au menu | Aller à la recherche

vendredi 8 février 2008

Chiffrer sa home sous GNU/Linux

Je n'ai étonnement pas trouvé de tutoriel en français expliquant comment créer un répertoire home chiffré sous GNU/Linux avec encfs. Je vais donc essayer de résumer les quelques manipulations à faire.

Je m'inspire d'une documentation Ubuntu. Le machin a été testé avec succès sous Ubuntu 7.10 et en Debian Sid.

Update du 24.04.2008 : Attention, le paquet libpam-encfs est cassé dans la dernière version d'Ubuntu (Hardy 8.04). Il empêche tout bonnement de se connecter. En attendant que ce bogue soit corrigé, je déconseille très fortement de mettre à jour Buntu.

FUSE est un logiciel permettant de créer et de manipuler des systèmes de fichier sans avoir besoin de modifier le système ni de posséder des droits d'administrateur. Cette technologie a de nombreuses applications : elle permet entre autres d'accéder à des ressources comme si elles étaient sur le disque, Par exemple de parcourir directement le contenu d'une archive ou d'un fichier compressé; d'utiliser des bases de données comme système de fichier; d'utiliser des fichiers sur un serveur distant comme s'ils étaient en local, via ssh, ftp, webdav, samba, etc, etc. Avec sshfs vous pouvez "monter" un répertoire distant à travers ssh et travailler sur les fichiers du serveur comme s'ils étaient en local, c'est à dire que tous vos outils les voient comme des fichiers locaux. FUSE permet également, c'est l'objet de ma disserte, de créer des répertoires chiffrés, via différents module dont EncFS.

EncFS permet de créer un répertoire chiffré, c'est à dire que l'ensemble du répertoire et de ses fichiers sont contenus dans un seul fichier chiffré. Vous y accédez en saisissant un mot de passe et vous pouvez alors utiliser de façon transparente les fichiers du dossier. Fonctionnement classique permis par de nombreux autres logiciels et bien décrit dans la documentation Ubuntu francophone. Mais chiffrer un répertoire ne me suffisait pas, j'aurais voulu pouvoir chiffrer la racine de mon compte, mon home directory. La plupart des applications stockent en effet leurs données directement à la racine (mails de Thunderbird, log des clients de messagerie instantanée, etc, etc). Plutôt que de paramétrer tous ces logiciels pour qu'ils stockent leurs données dans un autre répertoire chiffré, je voulais chiffrer directement mon ). Cela implique qu'il soit déchiffré automatiquement quand je me connecte, et "démonté" quand je me déconnecte.

C'est là qu'intervient PamEncfs, un module permettant de monter automatiquement à la connexion un répertoire chiffré avec encfs.

Assez de blahblah, un peu de ligne de commande. Je vais créer une maison sécurisé pour l'utilisateur toto, préalablement créé, et qui réside classiquement à /home/toto.

Commencez pas installer les packages nécessaires:

sudo apt-get install libpam-encfs

Les dépendances devraient installer tout ce qui va bien.

Fuse est un module du noyau. Pour qu'il soit chargé automatiquement à chaque démarrage, ajoutez-le au fichier /etc/modules. Pour le charger à la main:

sudo modprobe fuse

Les utilisateurs autorisés à utiliser fuse doivent être membres du groupe fuse:

sudo adduser toto fuse

Pour fonctionner, PamEncfs a besoin d'utiliser certaines options de fuse qui nécessitent d'ajouter ou dé-commenter l'option user_allow_other dans le fichier de configuration de fuse : /etc/fuse.conf.

Il faut ensuite ajouter le module PamEncfs à PAM : éditez le fichier /etc/pam.d/common-auth et insérez avant la ligne contenant pam_unix.so une ligne:

auth    sufficient      pam_encfs.so

Ajoutez également la directive use_first_pass aux lignes suivantes pour que PAM ne vous demande qu'une fois votre mot de passe.

L'étape suivante est de créer quelque part dans l'arborescence le fichier qui contiendra le répertoire chiffré. Par exemple:

sudo mkdir -p /mnt/storage/enc/toto

Votre utilisateur doit être propriétaire de ce fichier:

chown toto:toto /mnt/storage/enc/toto

C'est à toto de jouer, car c'est lui qui doit créer le conteneur chiffrer. Demandez-lui de se connecter:

su toto

Créez le répertoire chiffré en le liant au home de l'utilisateur (attention, si ce home existait déjà, renommez-le pour ne pas l'effacer !!!)

encfs /mnt/storage/enc/toto /home/toto

Répondez aux différentes questions. A celle sur le mot de passe, saisissez le mot de passe de toto !

Il de vous reste plus qu'à redevenir vous-même:

exit

Et c'est tout ! à chaque fois que toto se connectera, son répertoire chiffré sera automatiquement monté. Il sera démonté à la déconnexion.

Avec ce système, même quand l'utilisateur est connecté personne d'autre que lui ou elle ne peut accéder aux fichiers de son répertoire, pas même root !

La seule contrainte que je vois pour l'instant est qu'il faut penser, si l'on modifie le mot de passe du compte, à modifier simultanément celui du répertoire, ce qui se fait au moyen de la commande encfsctl passwd /mnt/storage/enc/toto

Vala. J'attends vos commentaires.

dimanche 7 janvier 2007

Voici venir les détecteurs de mensonges personnels

Une société annonce avoir développé un détecteur de mensonges pour Skype, le fameux logiciel de téléphonie sur Internet. Le "KishKish ™ Lie Detector", c'est le nom de ce machin, analyse le flux audio de la voix de votre correspondant pour essayer de déterminer le niveau de stress de celui ou celle-ci.

Je n'utilise pas Skype[1], et n'ai donc pas pu tester ce pluggin. Mais peu importe que le détecteur fonctionne bien ou soit encore balbutiant, l'importance à mes yeux est que la technologie existe aujourd'hui et est facilement utilisable. D'ici peu de temps, chaque fois que vous passerez un appel téléphonique, votre interlocuteur pourra grâce à des gadgets de ce genre analyser votre niveau de stress, et apprendre ainsi certaines choses sur vous. Je présume que le principe est simple à décliner, et que l'on pourra dans la foulée trouver prochainement des appareils capables d'analyser en direct n'importe quelle conversation. Imaginez que vous soyez en permanence soumis à un détecteur de mensonge, lors d'un entretien d'embauche, d'une réunion avec des partenaires, ou une discussion avec des proches... Une perspective réjouissante, non ?

Notes

[1] pas envie de confier mes communications téléphoniques à un logiciel propriétaire utilisant des formats fermés, appartenant à une grosse société étasunienne et à la sécurité discutable