Ceci est une ancienne révision du document !



davfs2

Beaucoup plus intéressant que via Nautilus (mais un peu moins simple !), on peut aussi monter un partage WebDAV comme un système de fichier grâce à davfs2.

Installez le paquet davfs2 en cliquant ici : apt://davfs2

Montage root

Le montage peut se faire de façon classique en root comme tout système de fichier :

$ sudo mkdir /media/Box.net
$ sudo mount.davfs https://www.box.net/dav /media/Box.net
Please enter the username to authenticate with server
https://www.box.net/dav or hit enter for none.
  Username: Zakhar
Please enter the password to authenticate user eze@free.fr with server
https://www.box.net/dav or hit enter for none.
  Password:  

Montage en userspace

Mais le plus intéressant est qu'on peut aussi monter un partage WebDAV en userspace (ie : sans droits root). L'utilisateur pourra alors à sa guise monter et démonter le partage sans qu'il ait besoin de lui donner des privilèges administrateur.

En réalité, certains considèrent que cette façon de monter un partage WebDAV est préférable d'un point de vue sécurité. En effet, avec le montage root, on a un montage qui est en prise directe sur le Web avec des droits root. Une faille dans la pile WebDAV serait alors plus dangereuse que dans le cas d'un montage en userspace.

Pour que cela soit possible, il est cependant nécessaire de faire quelques modifications.

sudo dpkg-reconfigure davfs2

Et bien sûr, à la question :

Autoriser les utilisateurs non privilégiés à monter les ressources WebDAV ?

on répond : oui.

On crée un répertoire dans notre /home pour monter le partage non privilégié :

mkdir $HOME/Box.net

et on édite le fichier /etc/fstab (prenez la précaution de le sauvegarder auparavant, c'est un fichier sensible !), rajouter :

  # Mon montage WebDav
  https://www.box.net/dav /home/votre_nom/Box.net davfs rw,user,noauto 0 0

Ensuite il faut rajouter votre user au groupe davfs2

sudo adduser $USER davfs2

Et enfin, il faut modifier le fichier secrets qui se trouve dans votre /home, sous le répertoire .davfs2, pour y ajouter les identifiants et mots de passe de votre partage.

Si vous n'avez pas de répertoire .davfs2 dans votre dossier personnel, créez-le en y copiant les 2 fichiers qui se trouvent dans /etc/davfs2 :
mkdir ~/.davfs2
cp /etc/davfs2/davfs2.conf ~/.davfs2
sudo cp /etc/davfs2/secrets ~/.davfs2
sudo chown $USER ~/.davfs2/secrets

Le fichier est donc $HOME/.davfs2/secrets, rajouter

  /home/votre_nom/Box.net	identifiant_webdav	mot_de_passe_webdav
Cette dernière manipulation étant assez moyenne au niveau sécurité, s'il s'agit d'un ordinateur partagé, je vous recommande d'utiliser le cryptage du répertoire personnel. De cette façon, les identifiants/mots de passe du partage WebDAV seront au moins protégés par le mot de passe principal de l'utilisateur.

Vous pouvez bien sûr ne pas indiquer vos identifiants dans le fichier secret. Dans ce cas, le montage via Nautilus ou les Raccourcis ne sera pas possible, mais l'utilisateur pourra toujours faire une commande mount ou lancer un script non privilégié pour monter ses partages.

Vous pouvez maintenant constater que dans les raccourcis, à l'endroit où figurent toutes les unités que vous pouvez monter, vous avez une icône correspondant à votre partage WebDAV.

Il vous suffit alors de cliquer dessus pour la monter, comme n'importe quelle unité de disque. Idem pour la démonter, en cliquant sur la petite flèche en regard du nom de montage dans Nautilus.

Box.net ne gère pas les locks et cela posera des problèmes si vous voulez créer ou modifier des fichiers. Afin de corriger cela, il faut éditer le fichier $HOME/.davfs2/davfs2.conf et rajouter la ligne :
  use_locks       0
La rédaction des pages WebDAV / davfs2 est née de cette astuce expliquée ici : http://forum.ubuntu-fr.org/viewtopic.php?id=391271

L'astuce concernait Ubuntu One + encFS, mais cela fonctionne de même avec WebDAV.

De plus en plus nos fichiers seront dans les nuages (ou sur le cloud pour les anglophones). Cela peut poser des problèmes ou des questions quant au respect de notre vie privée, d'autant plus que les hébergeurs ne sont pas toujours soumis à vos lois locales (CNIL et autres).

Ainsi, on connait bien le modèle économique de Google par exemple, basé sur la valorisation publicitaire de nos données privées. Tous documents, mails, etc… sont scrupuleusement explorés afin de mieux cibler la publicité que Google vend.

Les fichiers que vous pourriez mettre sur votre partage WebDAV sont alors une cible toute indiquée pour de telles pratiques. Si vous souhaitez éviter que l'hébergeur lise vos données privées, rien de plus simple sous Linux : encfs.

En effet, on peut combiner davfs et encfs sans problème. La seule précaution à prendre est que le dossier "en clair" ne doit pas se trouver dans l'arborescence de votre montage WebDAV, sinon le daemon WebDAV s'emmêle un peu les pinceaux !

Donc par exemple vous pouvez faire :

mkdir ~/En_Clair
encfs /home/$USER/Box.net/Crypt /home/$USER/En_Clair

Et vous utilisez votre répertoire En_Clair pour y déposer ou lire vos fichiers stockés sur le partage WebDAV. Les fichiers déposés dans En_Clair seront cryptés par encfs vers le répertoire Box.net/Crypt, et donc sauvegardés ainsi cryptés sur votre Webdav.

L'hébergeur ne verra alors que des fichiers illisibles. Il n'a même pas le nom des fichiers pour faire des ciblages.

Pour plus de détails sur encfs c'est ici : encfs

En utilisant encfs sur le Cloud, on crée un nouveau "problème", c'est qu'une partie de notre clé de déchiffrement est confiée à l'hébergeur du cloud (le fichier .encfs6.xml). Si celui-ci est mal intentionné, il pourrait tenter de déchiffrer, par force brute ou si une faille est découverte dans encfs (ce qui n'est pas le cas à ce jour).

Il est donc préférable de ne pas stocker ce fichier dans le répertoire de chiffrement, comme c'est le cas de façon standard avec encfs.

N'ayant pas cette partie de la clé de déchiffrement, l'utilisation de force brute par votre hébergeur devient impossible, même si votre mot de passe est très faible.

On va donc déplacer le fichier .encfs6.xml par exemple sur /home/$USER/Secret

Et ensuite on utilise une fonction non-documentée (!) de encfs, pour lui indiquer où se trouve désormais ce fichier. Le montage se fait alors ainsi

ENCFS6_CONFIG=/home/$USER/Secret/.encfs6.xml encfs /home/$USER/Box.net/Crypt /home/$USER/En_Clair

Le risque de déchiffrement par un tiers est ainsi largement réduit… mais on créé un nouveau risque !.. En effet, si on utilise un stockage "Cloud", c'est souvent pour disposer d'une sauvegarde de ses données en cas de plantage total de l'ensemble des supports locaux. Or là, puisqu'on garde le fichier .encfs6.xml localement, si l'ensemble de nos disques est détruit (court-circuit, incendie, vol,…) on ne pourra plus déchiffrer les fichiers que l'on a mis sur notre cloud ! Pour remédier à cela, il faut garder une copie de ce fichier aussi à distance, mais comme on veut éviter d'avoir ce fichier en clair, on va le chiffrer.

On utilise alors ccrypt qu'il convient d'installer : ccrypt

cp /home/$USER/Secret/.encfs6.xml /tmp
cd /tmp
ccrypt -e .encfs6.xml

A la demande du mot de passe, mettez une "pass-phrase" forte, pour éviter les tentatives par force brute ou dictionnaire.

Vous disposez alors du fichier .encf6.xml.cpt que vous pouvez copier quelque part chez votre hébergeur de cloud… ou mieux encore, si vous avez plusieurs hébergeurs, vous pouvez le stocker chez un autre fournisseur.

Si vous voulez récupérer votre .encfs6.xml original, l'opération inverse est :

ccrypt -d .encfs6.xml.cpt

Pour supprimer cette application, il suffit de supprimer son paquet. Selon la méthode choisie, la configuration globale de l'application est conservée ou supprimée. Les journaux du système, et les fichiers de préférence des utilisateurs dans leur dossier personnel sont toujours conservés.


Page créée en mai 2010 / Testé sur Karmic & Lucid

Mise à jour juin 2012 / Testé sur Precise

Contribution : Zakhar

  • davfs2.1339839771.txt.gz
  • Dernière modification: Le 16/06/2012, 11:42
  • par Zakhar