Magazine High tech

Stocker des fichiers cryptés sur un serveur distant grâce à encfs et sshfs

Publié le 11 novembre 2008 par Jpfox

J'ai découvert récemment le service Dropbox qui permet de synchroniser des fichiers entre plusieurs machines. Mais mon goût de la liberté me pousse à chaque fois à fuir ce genre de services commerciaux, bien que gratuits, qui ne me garantissent pas la sécurité de mes données ni le respect de ma vie privée.

J'ai donc cherché une solution pour pouvoir stocker des données sur un serveur distant sur lequel j'ai un accès ssh afin de pouvoir y accéder depuis mes différentes machines (y compris depuis le boulot). En parcourant le net et notamment le site doc.ubuntu-fr.org j'ai réalisé que la combinaison de deux technologies basées sur Fuse répondait parfaitement à mon attente.

Le principe

On monte tout d'abord un dossier du serveur distant dans un dossier local grâce à sshfs. De cette manière, tout ce que l'on écrit dans ce dossier se trouve stocké sur le serveur.

On monte ensuite un système d'encryptage de ce dossier dans un nouveau dossier. Là, tout ce qui sera écrit dans ce nouveau dossier sera crypté par le système encfs puis stocké sur le serveur au travers de sshfs.

Si on empile les couches utilisées avec les noms de dossier utilisés dans l'exemple ci-après, on obtient ceci :

machine locale  : ~/SecuredBox/
encfs
machine locale  : ~/.remotesshfs/.cryptedfolder/
sshfs
serveurDistant.fr : /home/loginSurServeurDistant/.cryptedfolder/

En résumé, tout ce qui sera écrit en local dans le dossier ~/SecuredBox/ sera en réalité stocké de manière cryptée dans le dossier /home/loginSurServeurDistant/.cryptedfolder/ de la machine distante.

Installation

Les paquets nécessaires

On installe tout d'abord les paquets sshfs, encfs, fuse-utils

sudo apt-get install sshfs encfs fuse-utils

Configuration de Fuse

On active fuse pour les prochains démarrage

sudo sh -c "echo fuse >> /etc/modules"

On charge le module fuse pour cette session, cela évite de rebooter.

sudo modprobe fuse

On ajoute son compte au groupe fuse

sudo adduser $(whoami) fuse

On réouvre une session pour prendre en compte l'ajout au groupe

su - $(whoami)

Création du système encfs over sshfs

On crée un dossier local qui va servir de point de montage au dossier distant

mkdir ~/.remotesshfs

On monte le dossier distant par sshfs

sshfs [email protected]: ~/.remotesshfs -o uid=$UID,gid=$(id -g)

Désormais .remotesshfs correspond au dossier home de l'utilisateur sur le serveur distant

On crée un dossier distant qui va contenir les fichiers cryptés

mkdir ~/.remotesshfs/.cryptedfolder

On crée un dossier local qui va servir de point de montage pour la version claire des fichiers

mkdir ~/SecuredBox

On monte le système de cryptage

encfs /SecuredBox -- -o uid=$UID,gid=$(id -g)

On choisit p pour le mode parano de base et on saisie le mot de passe de cryptage. Attention, ce mot de passe sera nécessaire pour accéder de nouveau aux données cryptées.

Voilà, tout ce qui va être mis dans le dossier ~/SecuredBox va en fait être crypté dans le dossier distant .cryptedfolder

Après utilisation, on démonte le système de cryptage

fusermount -u ~/SecuredBox

puis le système sshfs

fusermount -u ~/.remotesshfs

Utilisation courante

Depuis la même machine

Pour utiliser de nouveau le dossier SecureBox

sshfs [email protected]: ~/.remotesshfs -o uid=$UID,gid=$(id -g)
encfs /SecuredBox -- -o uid=$UID,gid=$(id -g)

On ressaisie le mot de passe qui a servi au cryptage

Depuis une nouvelle machine

Il est alors nécessaire de répéter les mêmes opérations que dans la phase d'installation.

Démontage du système encfs over sshfs après utilisation du dossier ~/SecuredBox/

fusermount -u ~/SecuredBox
fusermount -u ~/.remotesshfs

En cas de soucis, consultez la documentation plutôt claire de sshfs et de encfs.

Le système ssh et ses différentes utilisations m'impressionnera toujours autant !


Retour à La Une de Logo Paperblog

A propos de l’auteur


Jpfox Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte