Samedi 27 janvier 2007 6 27 01 2007 22:37
Encfs, soit chiffrer un dossier façilement.
(Petit rappels sur les termes "chiffrement" etc... http://fr.wikipedia.org/wiki/Chiffrement )


  • Qu'est ce qu'Encfs?

Vous souhaitez conserver des données sensibles et/ou privées, mais sans chiffrer tout votre disque dur. Idéalement, vous voudriez pouvoir restreindre l'accès à certains répertoires seulement, par mot de passe. Les données stockées dans ce ou ces répertoire(s) seraient chiffrées et accessibles uniquement après authentification.


Encfs permet de réaliser cela très simplement. Pour ce faire, vous allez utiliser deux répertoires :

  1. un premier répertoire dans lequel seront stockées les données chiffrées ("source directory") ;
  2. un second répertoire dans lequel vous pourrez créer des données en clair, après authentification ("mount directory").

L'idée est la suivante : vous donnez temporairement accès au second répertoire en fournissant un mot de passe (initialement choisi par vous), et créez vos données en clair dans ce répertoire. Ensuite, vous refermez l'accès à ce répertoire. EncFS s'occupe de "copier" les données du second répertoire (accès temporaire) vers le premier (stockage permanent), tout en les chiffrant. Après avoir fermé l'accès au second répertoire, ce dernier apparaît vide, tandis que le premier répertoire contient les fichiers chiffrés, donc inaccessibles. Pour pouvoir de nouveau modifier les données conservées dans le répertoire de stockage, il faut redonner accès par mot de passe au second répertoire, qui sert donc de répertoire de travail.


  • Installation
Encfs se gère avec fuse, nous allons donc l'installer.

  1. On installe fuse-utils (via Synaptic) ou :
    :~$ sudo apt-get install fuse-utils
  2. On installe encfs (si via Synaptic prendre aussi librlog1c2a ou :
    :~$ sudo apt-get install encfs

  • Ajout et configuration du module fuse:
  1. On ajoute le module fuse dans /etc/modules afin qu'il soit actif au démarrage :
    :~$  sudo sh -c "echo fuse >> /etc/modules"
  2. Pour ne pas avoir à redémarrer, on fait prendre en charge le module :
    :~$ sudo modprobe fuse
  3. On ajoute son user au groupe fuse :
    :~$ sudo adduser votre_user fuse
Les mots barrés sont à modifier!

  • Création des répertoires chiffrés:
  1. Une seule commande pour créer le répertoire chiffré et l'autre (ici, /.coffre/ et /coffre_open/ (Il est conseillé de prendre comme l'exemple pour notre futur script) )
    :~$ encfs /home/votre_user/.coffre/  /home/votre_user/coffre_open
    Répondez simplement "p" et répondez aux questions et choisissez un mot de passe.
  2. Ensuite on peut travailler sans problème dans le répertoire ~/coffre_open, les documents sont visibles dans ce répertoire.
    Lorsqu'on a fini de travailler, il suffit de "démonter" ce répertoire par la commande :
    :~$ fusermount -u /home/votre_user/coffre_open
Le mot barré est à modifier!
Et voila plus qu'a automatiser les tâches.

  • Le chiffrement est fiable:
Chiffrement de système de fichiers "ssl/aes", version 2:1:1
Encodage de fichier "nameio/block", version 3:0:1
Taille de clé : 256 bits


  • Script de montage démontage:
Voilà, j'ai fait un script complé, écrit en shell.
Quand on clique dessus, une première fenêtre demande le mot de passe pour déchiffrer, si on ce trompe un message d'erreur le signal. Si on met le bon mot de passe alors un îcone apparait dans la notification ( le coffre est ouvert), on clique sur l'îcone, une question est posée (valider pour fermer le coffre ou annuler et alors le coffre est toujours ouvert, l'îcone de notification réapparait).
Le script:
#!/bin/bash
# Script de montage de dossier crypté avec encfs et fuse.
# A utiliser avec Thunar ou Nautilus, ou en ligne de commande :
# ./mount_enc ~/dossier_de_montage
#
# Variables à modifier:
#Répertoire contenant les fichier à chiffrer:
DOSSIERCRYPTE=/home/niki/coffre_open
#Répertoire contenant les cléfs pour déchiffrer:
STOCKCRYPTE=/home/niki/.coffre
#Icône qui apparaîtra dans la zone de notification:
ICONPATH=/usr/share/pixmaps/coffre.png

#Ouvrir le coffre.
gksudo -p -m "Entrez le mot de passe" | encfs -S $STOCKCRYPTE $DOSSIERCRYPTE
#Si faux mot de passe:
if [ $? == 1 ];
# On teste, si aucun retour alors ça passe par ici.
then zenity --error --text="Mauvais mot de passe."
#Fin du script, si mauvais mot de passe.
exit
fi

#Si bon mot de passe:
#while est une boucle, la valeur retourné avec while doit être 0 ici.
while [ $? == 0 ];
do
#Cliquez sur la notification pour fermer le coffre.
zenity --notification --window-icon=$ICONPATH --text="Cliquez ici pour fermer le coffre"
#Une question est posée pour confirmation.
zenity --question --title="Confimation" --text="Vous êtes sur le point de fermer le coffre, êtes vous sûr de vouloir le fermer?"
#until est une branche, ici, qui sera prise si on a répondu valider à la question précedente.
#ici la valeur retourné avec until doit être 1.
until [ $? == 1 ];
do
#Fermer le coffre.
fusermount -u $DOSSIERCRYPTE
#Fin du script si répondu valider à la question.
exit
done
#done permet de finir la boucle avec while, si on répond annulé alors ça revient au début.
done
exit

#Fin du script.
#Script By Yumo.
#J'ai fais beaucoup de test pour savoir les valeur que l'on doit attribuer aux signes $?.
#Ce script est libre d'utilisation, de copie, de modification et tout le reste.

  • Pour ceux qui ne savent pas où le mettre:
gedit ~/.gnome2/nautilus-scripts/Coffre
Copier le script au dessus et sauvegarder.
Cliquez droti sur Coffre dans ~/.gnome2/nautilus-scripts/, Propriétés et dans l'onglet Permission, cocher la case Execution.
Pourquoi l'avoir mis dans ~/.gnome2/nautilus-scripts/ ?
On l'a mis ici car lorsque l'on clique droit sur le bureau, dans l'onglet scripts il y aura Coffre.
  • Pour l'image de notification:


Ne pas supprimer le (les) fichier .encfs5

Cet Article est terminé!

Par Yumo - Publié dans : Ubuntu
Ecrire un commentaire - Voir les commentaires - Recommander
Retour à l'accueil

Catégories

Liens

Recherche

Créer un blog sur over-blog.com - Contact - C.G.U. - Rémunération en droits d'auteur - Signaler un abus