« Security/Crypt/Directory » : différence entre les versions
| Ligne 190 : | Ligne 190 : | ||
== Avantages/défauts == | == Avantages/défauts == | ||
'''Avantages :''' | |||
* une installation en quelques commandes, une utilisation basique avec deux commandes, | * une installation en quelques commandes, une utilisation basique avec deux commandes, | ||
* l'installation est durable. Aucune compilation ou réinstallation n'est nécessaire en cas de mise à jour du kernel, | * l'installation est durable. Aucune compilation ou réinstallation n'est nécessaire en cas de mise à jour du kernel, | ||
| Ligne 200 : | Ligne 199 : | ||
* fonctionnement possible sur différents types de fichier (dont NTFS) | * fonctionnement possible sur différents types de fichier (dont NTFS) | ||
'''Défauts :''' | |||
* le fait que le dossier de stockage soit visible et donne donc accès à quelques méta-données (nombre de fichiers chiffrés -mais pas leurs noms-, leur taille et droits d'accès…), | * le fait que le dossier de stockage soit visible et donne donc accès à quelques méta-données (nombre de fichiers chiffrés -mais pas leurs noms-, leur taille et droits d'accès…), | ||
* le fait que les données chiffrées doivent obligatoirement utiliser le système de fichier utilisé pour les données en clair (même partition). | * le fait que les données chiffrées doivent obligatoirement utiliser le système de fichier utilisé pour les données en clair (même partition). | ||
Version du 19 décembre 2012 à 21:19
Chiffrez aisément vos répertoires avec EncFS
De quoi s'agit-il ?
Apprendre à installer et utiliser le système de chiffrement EncFS qui fonctionne de façon simple sur tout système de fichiers grâce à fuse.
Introduction
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(s) 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 :
- un premier répertoire dans lequel seront stockées les données chiffrées ("source directory") ;
- 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.
Changements
- le fichier contenant les paramètres de chiffrement a changé de nom à partir d'Intrepid, il s'appelle désormais .encfs6.xml
Conséquence importante : afin d'assurer la compatibilité ascendante, si vous partagez un dossier chiffré entre un système Hardy ou antérieur, et un système Intrepid ou supérieur, il convient d'avoir créé le chiffrement avec la version la plus ancienne. En effet, il y a compatibilité ascendante, mais pas descendante !.. Ainsi, une version Intrepid ou supérieure pourra utiliser un chiffrement créé avec une version antérieure et donc marqué avec .encfs5, par contre l'inverse n'est pas vrai. Si le chiffrement est créé par Intrepid ou postérieur, Hardy verra votre chiffrement comme non initialisé puisqu'il ne connaît pas .encfs6.xml et ne trouve pas de .encfs5
- fuse-utils semble installé dans le package par défaut (vrai à partir de Hardy)
Installation
Paquets module fuse
Installez le paquet suivant : <package>fuse-encfs</package> Les dépendances nécessaires seront installées automatiquement.
#On ajoute son nom d'utilisateur au groupe fuse sudo adduser $USER fuse #On vérife ensuite que l'utilisateur 'VotreNom' fait bien partie du groupe fuse. Le numéro (ici 118) peut varier. grep "fuse" "/etc/group" fuse:x:118:VotreNom #Puis on réouvre une session su - $USER #Vous pouvez vérifier que vous êtes bien dans le groupe fuse en tapant : groups
Création des répertoires
Dans notre exemple, le répertoire de stockage des données chiffrées sera ~/.safe et le répertoire « de travail » (pour manipuler les données en clair après authentification) sera ~/unsafe. Tapez donc :
encfs /home/$USER/.safe/ /home/$USER/unsafe/
La première fois qu'elle est écrite, cette commande permet de créer et paramétrer les répertoires utilisés pour stocker et manipuler les données chiffrées par EncFS. Voici un exemple de ce que vous devriez obtenir dans votre terminal :
$ encfs /home/$USER/.safe/ /home/$USER/unsafe
Le répertoire "/home/didier/.safe/" n'existe pas. Faut-il le créer ? (y/n) y
Le répertoire "/home/didier/unsafe" n'existe pas. Faut-il le créer ? (y/n) y
Création du nouveau volume encrypté.
Veuillez choisir l'une des options suivantes :
entrez "x" pour le mode de configuration expert,
entrez "p" pour le mode paranoïaque préconfiguré,
toute autre entrée ou une ligne vide sélectionnera le mode normal.
?> p
Configuration paranoïaque sélectionnée.
Configuration terminée. Le système de fichier à créer a les propriétés suivantes :
Cryptage du système de fichiers : "ssl/aes" version 3:0:2
Encodage de fichier "nameio/block", version 3:0:1
Taille de clé : 256 bits
Taille de bloc : 1024 octets, y compris 8 octets d'en-tête MAC.
Chaque fichier contient un en-tête de 8 octets avec des données IV uniques.
Noms de fichier encodés à l'aide du mode de chaînage IV.
Les données IV du fichier sont chaînées à celles du nom de fichier
File holes passed through to ciphertext.
-------------------------- AVERTISSEMENT --------------------------
Le vecteur d'initialisation externe a été activé.
Cette option n'autorise pas l'usage de liens durs dans le système de fichiers.
Sans liens durs, quelques programmes peuvent ne pas fonctionner.
Les programmes «mutt» et «procmail» sont connus pour échouer.
Pour plus d'information, reportez-vous à la liste de discussion d'encfs.
Pour choisir une autre configuration, pressez CTRL-C et recommencez.
Vous devez entrer un mot de passe pour votre système de fichiers.
Vous devez vous en souvenir, car il n'existe aucun mécanisme de récupération.
Toutefois, le mot de passe peut être changé plus tard à l'aide d'encfsctl.
Nouveau mot de passe :
Vérifier le mot de passe :
À la question « Veuillez choisir au moins une des options suivantes », vous pouvez choisir le mode « paranoïaque » en tapant p puis [Entrée]. Ce mode est le plus sécurisé.
Vérifiez le montage du répertoire chiffré :
cat /proc/mounts
vous donnera, entre autres, une entrée de ce type :
encfs /home/$USER/unsafe fuse rw,nosuid,nodev,user_id=1000,group_id=1000,default_permissions 0 0
Utilisation
Elle est basique puisqu'il vous suffit de deux commandes du type ON/OFF
- ON Pour accéder aux données en clair, il suffit de réutiliser la même commande qu'au début, à savoir, dans notre exemple :
encfs /home/$USER/.safe/ /home/$USER/unsafe/
Contrairement à la première fois, EncFS détecte qu'une initialisation a déjä été faite sur ces deux répertoires et se contente de demander le mot de passe pour débloquer l'accès au répertoire « de travail » (qu'il montera pour vous avec la commande fusermount). Toute donnée créée/copiée/déplacée en clair dans le répertoire de travail (ici, ~/unsafe) sera automatiquement stockée sous forme chiffrée dans le répertoire de stockage (ici, ~/.safe). - OFF Pour ne plus pouvoir accéder aux données en clair, il suffit de démonter le répertoire « de travail », soit dans notre exemple :
fusermount -u /home/$USER/unsafe
Exemples sur un terminal
Vous trouverez sur la page encfs_exemples quelques exemples d'utilisation à partir d'un terminal.
Changement du mot de passe
Le mot de passe peut être changé, grâce à la commande (nom du répertoire à adapter si différent) :
encfsctl passwd ~/.safe
À l'invite, entrer l'ancien mot de passe et 2 fois le nouveau.
Automatiser le lancement/arrêt
avec pam_mount
Il est possible de configurer Ubuntu pour qu'il monte le système de fichier encrypté au démarrage de la session et ceci de manière automatique et sans redemander le mot de passe.
L'exemple suivant montre comment utiliser cette technique pour sécuriser des données qui seront ensuite synchronisées sur Ubuntu One. Vous devez avoir au préalable avoir créé un répertoire ~/Ubuntu One/.Encrypted comme décrit dans le début de cet article.
Installer pam_mount
yum install pam-mount
Créer le répertoire de stockage sécurisé et le point de montage
cd mkdir ~/Encrypted/ ln -s ~/Ubuntu\ One/.Encrypted/ .Encrypted
Editer le fichier /etc/security/pam_mount.conf.xml Rechercher la ligne <!– Volume definitions –> Ajouter la ligne suivante juste après en remplaçant «utilisateur» par votre login
<volume user="<<utilisateur>>" fstype="fuse" path="encfs#/home/<<utilisteur>>/.Encrypted" mountpoint="/home/<<utilisateur>>/Encrypted" />
A la prochaine ouverture de session, le système de fichier encrypté sera automatiquement monté dans le répertoire ~/Encrypted et les données de ce répertoire seront automatiquement encryptées et sauvegardées grace Ubuntu One.
avec Fusible
Fusible est une interface graphique pour tous les points de montage de type FUSE et donc EncFS. Il s'utilise avec des plugins ; celui pour EncFS est disponible.
avec cryptkeeper
C'est une applet qui s'installe sous forme de cadenas dans la zone de notification. Le mot "stash" se rapporte au couple de répertoires "clair/chiffré". La création d'un dossier chiffré /home/user/Coffre correspond à la création du répertoire chiffré (et caché) /home/user/.Coffre monté à l'emplacement /home/user/Coffre. Le reste est assez explicite. Pour éviter de trop chercher sachez aussi qu'il faut faire un clic droit sur la liste des dossiers chiffrés pour avoir :
- des informations
- modifier le mot de passe
- effacer le dossier chiffré
Pour installer Cryptkeeper:
yum install cryptkeeper
Enfin, vous souhaiterez sans doute activer Cryptkeeper automatiquement à chaque démarrage plutôt que de le lancer manuellement à chaque fois. Pour ce faire, allez dans Système > Préférences > Applications au démarrage, et ajoutez une application ayant pour nom Cryptkeeper et lançant la commande "cryptkeeper".
Problèmes éventuels
Accès impossible ?
Important : pour pouvoir accéder aux données en clair, il est nécessaire en plus du mot de passe de vérifier si le fichier .encfs5 est bien présent dans le répertoire de l'utilisateur.
Le fichier .encfs5 se trouve dans le répertoire chiffré à la racine du répertoire de stockage. Ce fichier caché contient notamment les données propres au chiffrement. Il ne doit donc en aucun cas être supprimé sous peine de perte de vos données. Si vous devez faire une sauvegarde des répertoires de travail encfs (répertoire chiffré et répertoire ouvert), il faut penser à sauvegarder aussi le fichier .encfs5 correspondant. Module fuse
Vérifier
- la présence du module fuse ( lsmod | grep fuse)
- que l'utilisateur a les droits requis (grep "fuse" "/etc/group")
Avantages/défauts
Avantages :
- une installation en quelques commandes, une utilisation basique avec deux commandes,
- l'installation est durable. Aucune compilation ou réinstallation n'est nécessaire en cas de mise à jour du kernel,
- il n'est pas nécessaire de créer de fichier/répertoire d'une taille fixe dédié à l'espace chiffré,
- l'utilisateur a le libre choix des répertoires,
- le fait de voir le nombre de fichiers chiffrés, leur taille et droits d'accès peut-être utile, et représente un avantage lors de l'utilisation de backups incrémentaux par exemple ;
- les performances semblent correctes (contrairement à d'autres solutions).
- fonctionnement possible sur différents types de fichier (dont NTFS)
Défauts :
- le fait que le dossier de stockage soit visible et donne donc accès à quelques méta-données (nombre de fichiers chiffrés -mais pas leurs noms-, leur taille et droits d'accès…),
- le fait que les données chiffrées doivent obligatoirement utiliser le système de fichier utilisé pour les données en clair (même partition).
- absence de déni plausible ou de volume caché.
Ressources
Pour plus de détails less /usr/share/doc/encfs/README.gz
EncFS peut faire un peu plus que ce que cette aide n'a présenté. Pour plus d'informations, voyez :
- [officiel d'EncFS]
- [détaillée à EncFS]
- [man d'EncFS] (ou man encfs dans votre terminal)
- [« EncFS » sur en.wikipedia.org]