Vendredi 23 novembre 2018

eCryptfs

eCryptfs est un système de fichiers cryptographiques empilés de classe entreprise compatible POSIX pour Linux. La superposition sur la couche du système de fichiers eCryptfs protège les fichiers quelque soit le système de fichiers sous-jacent, le type de partition, etc….
Lors de l’installation, il y a une option pour chiffrer la partition /home. Cela configurera automatiquement tout ce qu’il faut pour chiffrer la partition mais aussi pour la monter.

A titre d’exemple, cette section traitera de la configuration de /backup afin qu’il soit crypté en utilisant eCryptfs.

  • Utilisation de eCryptfs
  • Monter automatiquement les partitions chiffrées
  • Autres utilitaires
  • Références

Utilisation de eCryptfs

Installez d’abord les paquets nécessaires. Saisissez dans un terminal :
sudo apt install ecryptfs-utils
Montez la partition à chiffrer :
sudo mount -t ecryptfs /backup /backup
Des renseignements sur la manière dont ecryptfs doit chiffrer des données vont vous être demandés.

Pour vérifier que les données de /backup sont effectivement chiffrées, copiez le répertoire /etc/default vers /backup :
sudo cp -r /etc/default /backup
Démontez /backup et essayez de lire un fichier :
sudo umount /backup
cat /backup/default/cron

Vous pourrez lire à nouveau les données une fois que vous aurez remonté /backup en utilisant ecryptfs.

Monter automatiquement les partitions chiffrées

Plusieurs méthodes sont disponibles pour monter automatiquement au démarrage un système de fichiers chiffré avec ecryptfs

Créez d’abord /root/.ecryptfsrc avec les informations suivantes :

key=passphrase:passphrase_passwd_file=/mnt/usb/fichier_avec_phrase_de_passe.txt
ecryptfs_sig=5826dd62cf81c615
ecryptfs_cipher=aes
ecryptfs_key_bytes=16
ecryptfs_passthrough=n
ecryptfs_enable_filename_crypto=n

Faites correspondre ecryptfs_sig avec la signature se trouvant dans /root/.ecryptfs/sig-cache.txt.
Créez ensuite le fichier de phrase de passe /mnt/usb/fichier_avec_mot_de_passe.txt :
passphrase_passwd=[secrets]

Ajouter les lignes nécesssaires dans /etc/fstab :

/dev/sdb1       /mnt/usb        ext3    ro      0 0
/backup /backup ecryptfs defaults 0 0

Assurez-vous que le périphérique USB est monté avant la partition chiffrée.

Enfin, redémarrez et /backup devrait être monté à l’aide de eCryptfs.

Autres utilitaires

Le paquet ecryptfs-utils contient d’autres utilitaires :

  • ecryptfs-setup-private : crée un répertoire ~/Private recevant les informations chiffrées. Cet utilitaire peut être lancé par de simples utilisateurs (sans privilèges) pour chiffrer leur données.
  • ecryptfs-mount-private and ecryptfs-umount-private will mount and unmount a user’s ~/Private directory.
  • ecryptfs-add-passphrase : ajoute une nouvelle phrase de passe au trousseau de clés du noyau.
  • ecryptfs-manager : gère les objets eCryptfs tels que les clés.
  • ecryptfs-stat : vous permet de voir les méta-informations ecryptfs d’un fichier.

Références

Encfs

Lorsqu’on utilise une distribution GNU/Linux, on dispose facilement d’une solution : Encfs.
Ce logiciel fonctionne un peu différemment de TrueCrypt.
Comme lui, il chiffre les données à la volée au travers d’un montage sur le système de fichier.
Mais, contrairement à TrueCrypt, le stockage chiffré se fait dans de multiples répertoires et fichiers au lieu d’un seul conteneur.
On retrouve donc sur le disque une arborescence identique à la version en clair des fichiers mais avec des noms de fichiers et de répertoires et bien sûr le contenu chiffrés.

Cette technique présente plusieurs avantages :

  • pas besoin de définir une taille de conteneur lors de la création, la limite est la taille du support de stockage.
  • la sauvegarde incrémentielle est facilitée car les fichiers non modifiés n’ont pas besoin d’être pris dans la sauvegarde. Avec TrueCrypt, une moindre modification marque le conteneur complet comme modifié.
  • en cas de synchronisation avec un autre serveur (ou dans les nuages), les fichiers peuvent être gérés indépendamment évitant un transfert complet du conteneur.

Utiliser Encfs

L’installation du paquet est très simple.
Sur debian et dérivées :
sudo apt-get install encfs
Il faut ensuite s’assurer que son compte utilisateur appartient bien au groupe fuse afin de disposer des droits nécessaires au montage d’un système Encfs :
sudo addgroup $USER fuse
Il peut être nécessaire de fermer le terminal et d’en ouvrir un nouveau pour prendre en compte l’association au groupe.

Ensuite, il suffit de créer le système de fichier Encfs. Dans notre cas, nous allons utiliser un répertoire nommé clair qui servira de point de montage à la version en clair des fichiers et un répertoire chiffre qui contiendra les fichiers physiques chiffrés.
encfs /home/$USER/chiffre /home/$USER/clair
Répondre aux questions avec les valeurs par défaut. Je vous conseille le mode paranoïaque préconfiguré qui évite tout un tas de questions nécessitant des compétences cryptographiques. Choisissez un mot de passe adapté à la confidentialité de vos données.

Voilà, il vous reste à écrire vos fichiers dans le dossier /home/$USER/clair. Vous les trouverez chiffrés dans le dossier /home/$USER/chiffre.
C’est ce dernier qui doit être sauvegardé ou partagé dans le cloud.

Pour désactiver le chiffrement, il suffit d’utiliser la commande suivante :
fusermount -u /home/$USER/clair
Pour le remonter :
encfs /home/$USER/chiffre /home/$USER/clair

Attention, le dossier /home/$USER/chiffre contient un fichier caché .encfs6.xml qui contient tout le nécessaire au montage de votre dossier…
ne le supprimer pas, vous ne pourriez plus accéder à vos données.