Grâce a l'application ENCFS, vous allez pouvoir chiffrer toutes les donnees que vous voulez ! Le principe est simple, il y a deux repertoires, un en clair et un chiffre, on fait ce que l'on veut dans le clair et des lors qu'on le ferme, toutes ces donnees sont chiffrees et enfermees dans le repertoire chiffre, simple non ??
Les applications necessaire a la realisation de ce projet sont les suivantes :
* Encfs
* Fuse-utils
* Module-assistant
Pour ce billet, j'ai fait mes test avec une Dapper version serveur, le nom de machine est virtual, et l'utilisateur virtual, les dossiers seront les suivant :
* Dossier en clair : libre
* Dossier chiffre : .prison
Commençons par installer ce qu'il faut, a savoir encfs et fuse-utils :
Code BASH :
quelques librairies seront installees en plus de ces deux paquets. Il faut ensuite rajouter le module fuse au fichier modules, qui se trouve dans le repertoire /etc (pour les incultes !), afin que celui ci soit pris en compte au demarrage, deux manieres, soit on edite ce fichier manuellement, soit on le rajoute via une simple ligne de commande, etant feignant a la base, j'opte pour la deuxieme solution !
Code BASH :
ceci fait, on charge le module a l'aide de modprobe :
Code BASH :
Jusqu'ici tout vas bien, collons nous dans le groupe de fuse, histoire de ne pas être un inconnue a ces yeux !
Code BASH :
Verifions que c'est bon :
Code BASH :
Pour le 113, cela peut varier, ne vous inquietez pas si ce n'est pas identique !
Bon, on viens de degrossir la base, pour verifier que nous sommes bien connu du groupe fuse, la commande "groups" dans un terminal pourra nous le confirmer. Passons au plus interessant, la creation des repertoires !!!
Je rappel que le repertoire clair se nomme "libre" et que celui qui sera chiffre s' appel ".prison, nous allons utiliser la commande encfs, qui ne necessite pas de privilege root, et qui, demande des chemins complets derriere elle.
creons ces repertoire dans le home :
Code BASH :
Une foultitude de petites questions s'en suivent, est ce qu'il faut creer ces repertoire qui n'existe pas encore ? oui, choisir une option (ou un mode) moi je le laisse vide pour avoir un mode normal
Code BASH :
Ensuite, entrer le mot de passe qui permettra de deverrouiller ces repertoires, il peut être different du mot de passe de session, et c'est même mieux, si l'on veut pousser sur la securite !
Vous devez entrer un mot de passe pour votre systeme de fichiers.
Vous devez vous en souvenir, car il n'existe aucun mecanisme de recuperation.
Toutefois, le mot de passe peut être change plus tard a l'aide d'encfsctl.
Code BASH :
On peut verifier que ces repertoires sont bien monter avec un petit "cat" :
Code BASH :
Heyyy, que vois-je a la fin ?? pas de soucis, c'est monte !
Bon bah ca y est, il n'y a plus qu'a s'en servir ! Pour cela, il y a deux modes : on et off
En gros, on monte ces repertoire pour y travailler, y placer ces donnees, et on les demonte une fois finit, ce qui vas automatiquement chiffrer les donnees du repertoire libre dans le repertoire .prison. C'est simplement une histoire de mount...ou plutôt de fusermount !
On monte avec encfs et on demonte avec fusermount (fusermount ne sera pas un inconnu pour celles et ceux qui on lu mon billet sur sshfs...).
Pour monter ces repertoire, on vas utiliser la même commande que pour les creer, sauf que cette fois, la commande vas monter et pas creer, c'est simple !
Code BASH :
Hop, is good, c'est monte....Et non !!! misere que se passe t'il ?? tout alle si bien ! Et pourtant sa me renvoi ça dans la console :
Code BASH :
en fait, il s'agit du module fuse qui n'est pas vraiment bien charge, c'est la que module-assistant intervient pour corriger cela, installons le et lançons le !
Code BASH :
Pour le lancer, il suffit de l'appeler dans la console, ensuite vient un ecran avec toutes une serie de choix, il faut les faire dans l'ordre suivant :
Code BASH :
Et voili voilou ! A partir de la, vous pouvez monter vos repertoires avec cette commande :
Code BASH :
Et pour les demonter, comme ceci :
Code BASH :
Et c'est a ce moment la que les donnees que vous avez places dans le repertoire libre seront chiffrees dans le repertoire .prison !
Pour ce qui est d'automatiser ça, c'est tres simple, vous pouvez creer deux commandes, le premiere s'appellera decrypt (pour monter et ouvrir les repertoires) et la deuxieme encrypt pour refermer et demonter le tout.
Creons ces commandes, qui se trouverons avec les autres dans le repertoire /usr/bin :
Code :
A l'interieur de ce fichier, collez le texte suivant :
Code BASH :
Puis la deuxieme :
Code BASH :
Même châtiment :
Code BASH :
Donnons les droits qui vont bien a ces commandes :
Code BASH :
Voila, maintenant il suffit de taper "decrypt" dans la console pour avoir acces a ces donnees en clair, puis de fermer avec la commande "encrypt".
Je vous laisse imaginer ce que l'on pourrait faire de cette application en milieu professionnel ou certaines donnees doivent rester confidentiel...
ATTENTION : Souvenez vous bien du mot de passe attribue a ces dossier car il n'existe pas de procedure pour les recuperer en cas de perte !
Voici un petit script qui vous permettra de monter/demonter vos donnees tres simplement et de maniere graphique, il vous faudra juste modifier les variables et l'enregistrer dans le dossier /home/utilisateur/.gnome2/nautilus-scripts
Code BASH :
Une fois enregistre, pensez a lui donner les droit d'execution (chmod 755), il sera desormais accessible via un clic droit sur le mulot, rien n'empêche même de se creer un lanceur perso.
SOURCES :
* Ce tuto sur Ubuntu-fr, dont je me suis plus que largement inspire...
* Le site Encfs
Les applications necessaire a la realisation de ce projet sont les suivantes :
* Encfs
* Fuse-utils
* Module-assistant
Pour ce billet, j'ai fait mes test avec une Dapper version serveur, le nom de machine est virtual, et l'utilisateur virtual, les dossiers seront les suivant :
* Dossier en clair : libre
* Dossier chiffre : .prison
Commençons par installer ce qu'il faut, a savoir encfs et fuse-utils :
Code BASH :
virtual@virtual-desktop:~$ sudo apt-get install encfs fuse-utils
quelques librairies seront installees en plus de ces deux paquets. Il faut ensuite rajouter le module fuse au fichier modules, qui se trouve dans le repertoire /etc (pour les incultes !), afin que celui ci soit pris en compte au demarrage, deux manieres, soit on edite ce fichier manuellement, soit on le rajoute via une simple ligne de commande, etant feignant a la base, j'opte pour la deuxieme solution !
Code BASH :
virtual@virtual-desktop:~$ sudo sh -c "echo fuse >> /etc/modules"
ceci fait, on charge le module a l'aide de modprobe :
Code BASH :
virtual@virtual-desktop:~$ sudo modprobe fuse
Jusqu'ici tout vas bien, collons nous dans le groupe de fuse, histoire de ne pas être un inconnue a ces yeux !
Code BASH :
virtual@virtual-desktop:~$ sudo adduser virtual fuse
Verifions que c'est bon :
Code BASH :
virtual@virtual-desktop:~$ grep "fuse" "/etc/group" fuse:x:113:virtual
Pour le 113, cela peut varier, ne vous inquietez pas si ce n'est pas identique !
Bon, on viens de degrossir la base, pour verifier que nous sommes bien connu du groupe fuse, la commande "groups" dans un terminal pourra nous le confirmer. Passons au plus interessant, la creation des repertoires !!!
Je rappel que le repertoire clair se nomme "libre" et que celui qui sera chiffre s' appel ".prison, nous allons utiliser la commande encfs, qui ne necessite pas de privilege root, et qui, demande des chemins complets derriere elle.
creons ces repertoire dans le home :
Code BASH :
virtual@virtual-desktop:~$ encfs /home/virtual/.prison /home/virtual/libre
Une foultitude de petites questions s'en suivent, est ce qu'il faut creer ces repertoire qui n'existe pas encore ? oui, choisir une option (ou un mode) moi je le laisse vide pour avoir un mode normal
Code BASH :
virtual@virtual-desktop:~$ encfs /home/virtual/.prison /home/virtual/libre Le repertoire "/home/virtual/.prison/" n'existe pas. Faut-il le creer ? (y/n) y Le repertoire "/home/virtual/libre" n'existe pas. Faut-il le creer ? (y/n) y Creation du nouveau volume encrypte. Veuillez choisir l'une des options suivantes : entrez "x" pour le mode de configuration expert, entrez "p" pour le mode paranoïaque preconfigure, toute autre entree ou une ligne vide selectionnera le mode normal. Configuration normale selectionnee. Configuration terminee. Le systeme de fichier a creer a les proprietes suivantes : Chiffrement de systeme de fichiers "ssl/blowfish", version 2:1:1 Encodage de fichier "nameio/block", version 3:0:1 Taille de cle : 160 bits Taille de bloc : 512 octets Chaque fichier contient un en-tête de 8 octets avec des donnees IV uniques. Noms de fichier encodes a l'aide du mode de chaînage IV.
Ensuite, entrer le mot de passe qui permettra de deverrouiller ces repertoires, il peut être different du mot de passe de session, et c'est même mieux, si l'on veut pousser sur la securite !
Vous devez entrer un mot de passe pour votre systeme de fichiers.
Vous devez vous en souvenir, car il n'existe aucun mecanisme de recuperation.
Toutefois, le mot de passe peut être change plus tard a l'aide d'encfsctl.
Code BASH :
Nouveau mot de passe : Verifier le mot de passe :
On peut verifier que ces repertoires sont bien monter avec un petit "cat" :
Code BASH :
virtual@virtual-desktop:~$ cat /proc/mounts rootfs / rootfs rw 0 0 none /sys sysfs rw 0 0 none /proc proc rw,nodiratime 0 0 udev /dev tmpfs rw 0 0 /dev/hda1 / ext3 rw,data=ordered 0 0 /dev/hda1 /dev/.static/dev ext3 rw,data=ordered 0 0 tmpfs /var/run tmpfs rw 0 0 tmpfs /var/lock tmpfs rw 0 0 tmpfs /lib/modules/2.6.15-51-386/volatile tmpfs rw 0 0 devpts /dev/pts devpts rw 0 0 tmpfs /dev/shm tmpfs rw 0 0 tmpfs /var/run tmpfs rw 0 0 tmpfs /var/lock tmpfs rw 0 0 encfs /home/virtual/libre fuse rw,nosuid,nodev,user_id=1000,group_id=1000,default_permissions 0 0
Heyyy, que vois-je a la fin ?? pas de soucis, c'est monte !
Bon bah ca y est, il n'y a plus qu'a s'en servir ! Pour cela, il y a deux modes : on et off
En gros, on monte ces repertoire pour y travailler, y placer ces donnees, et on les demonte une fois finit, ce qui vas automatiquement chiffrer les donnees du repertoire libre dans le repertoire .prison. C'est simplement une histoire de mount...ou plutôt de fusermount !
On monte avec encfs et on demonte avec fusermount (fusermount ne sera pas un inconnu pour celles et ceux qui on lu mon billet sur sshfs...).
Pour monter ces repertoire, on vas utiliser la même commande que pour les creer, sauf que cette fois, la commande vas monter et pas creer, c'est simple !
Code BASH :
virtual@virtual-desktop:~$ encfs /home/virtual/.prison /home/virtual/libre
Hop, is good, c'est monte....Et non !!! misere que se passe t'il ?? tout alle si bien ! Et pourtant sa me renvoi ça dans la console :
Code BASH :
fusermount: failed to access mountpoint /home/virtual/libre: Permission denied Erreur de fuse. Problemes courants : - module noyau fuse non installe (faites "modprobe fuse") - options invalides -- voir le message d'utilisation
en fait, il s'agit du module fuse qui n'est pas vraiment bien charge, c'est la que module-assistant intervient pour corriger cela, installons le et lançons le !
Code BASH :
virtual@virtual-desktop:~$ sudo apt-get install module-assistant
Pour le lancer, il suffit de l'appeler dans la console, ensuite vient un ecran avec toutes une serie de choix, il faut les faire dans l'ordre suivant :
Code BASH :
PREPARE Configurer le systeme pour compiler des modules SELECT Selectionner le module ou le paquet source a traiter [*] fuse Filesystem in USErspace BUILD Compiler les paquets de modules pour le noyau actif INSTALL Installer les paquets pour le noyau actif EXIT Quitter le programme
Et voili voilou ! A partir de la, vous pouvez monter vos repertoires avec cette commande :
++Sous Ubuntu 8.04 Hardy, cette operation n'est pas necessaire, relancez seulement la sessions++
Code BASH :
virtual@virtual-desktop:~$ encfs /home/virtual/.prison /home/virtual/libre
Et pour les demonter, comme ceci :
Code BASH :
virtual@virtual-desktop:~$ fusermount -u /home/virtual/libre/
Et c'est a ce moment la que les donnees que vous avez places dans le repertoire libre seront chiffrees dans le repertoire .prison !
Pour ce qui est d'automatiser ça, c'est tres simple, vous pouvez creer deux commandes, le premiere s'appellera decrypt (pour monter et ouvrir les repertoires) et la deuxieme encrypt pour refermer et demonter le tout.
Creons ces commandes, qui se trouverons avec les autres dans le repertoire /usr/bin :
Code :
virtual@virtual-desktop:~$ sudo vi /usr/bin/decrypt
A l'interieur de ce fichier, collez le texte suivant :
Code BASH :
#!/bin/sh encfs /home/virtual/.prison/ /home/virtual/libre/
Puis la deuxieme :
Code BASH :
virtual@virtual-desktop:~$ sudo vi /usr/bin/encrypt
Même châtiment :
Code BASH :
#!/bin/sh fusermount -u /home/virtual/libre
Donnons les droits qui vont bien a ces commandes :
Code BASH :
virtual@virtual-desktop:~$ sudo chown virtual /usr/bin/decrypt /usr/bin/encrypt virtual@virtual-desktop:~$ chmod 755 /usr/bin/encrypt /usr/bin/decrypt
Voila, maintenant il suffit de taper "decrypt" dans la console pour avoir acces a ces donnees en clair, puis de fermer avec la commande "encrypt".
Je vous laisse imaginer ce que l'on pourrait faire de cette application en milieu professionnel ou certaines donnees doivent rester confidentiel...
ATTENTION : Souvenez vous bien du mot de passe attribue a ces dossier car il n'existe pas de procedure pour les recuperer en cas de perte !
Voici un petit script qui vous permettra de monter/demonter vos donnees tres simplement et de maniere graphique, il vous faudra juste modifier les variables et l'enregistrer dans le dossier /home/utilisateur/.gnome2/nautilus-scripts
Code BASH :
#!/bin/bash # Script de montage de dossier crypte avec encfs et fuse. # A utiliser avec Nautilus, ou en ligne de commande : # ./mount_enc ~/dossier_de_montage # Variables a modifier : repertoire contenant les fichiers non cryptes et cryptes OPENFOLDER=/home/virtual/libre CRYPTEDFOLDER=/home/virtual/.prison gksudo -p -m "Top Secret" | encfs $CRYPTEDFOLDER $OPENFOLDER zenity --info --text="Cliquez sur valider pour demonter" fusermount -u $OPENFOLDER
Une fois enregistre, pensez a lui donner les droit d'execution (chmod 755), il sera desormais accessible via un clic droit sur le mulot, rien n'empêche même de se creer un lanceur perso.
SOURCES :
* Ce tuto sur Ubuntu-fr, dont je me suis plus que largement inspire...
* Le site Encfs
Ecrit par: le furtif, Le: 12/10/08
Suggestion : Undefined index: dark_nature dans le fichier /web/tekniko/linux/kernel/header.php à la ligne 243

