Dossiers Webdav Apache et Windows 7

Serveur Debian Lenny – Apache 2.2.9 avec mod_dav
Clients Windows 7 32 et 64 bits

Microsoft n’aime décidément pas les dossiers Webdav, surtout quand ils sont servis par un serveur non MS, Apache par exemple. Sous Windows 7, si on essaie d’ouvrir un dossier Webdav servi par Apache avec l’authentification basique, on obtient l’erreur Le dossier que vous avez entré ne semble pas être valide. Choisissez-en un autre. J’aime beaucoup les messages d’erreur Windows, c’est bon de se sentir aidé…

Le problème est lié au type d’authentification utilisé par Apache, l’authentification basique (AuthType Basic) n’est pas supportée par Windows 7. En http on pourrait comprendre pour des raisons de sécurité, le mot de passe est transmis en clair, mais en https c’est pareil alors que la connexion est cryptée dans un tunnel SSL. Il y avait déjà eu le même problème avec Vista, réglé par un patch, mais pour l’instant rien ne s’annonce pour Windows 7.

Que peut-on faire?

Côté poste client

Si on n’a pas accès à la configuration du serveur, il y a des clients Webdav qui permettent de contourner le problème, Bitkinex semble avoir la cote actuellement mais je ne l’ai pas testé.

Sur le poste client Windows 7 on peut aussi autoriser l’authentification basique en donnant la valeur 2 à la clé de registre suivante :

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\BasicAuthLevel

Coté serveur

Apache propose un autre mode d’authentification, digest, basé sur les condensés MD5, à priori plus sécurisé et accepté par les clients intégrés à Windows 7, Vista et XP. Par contre cette méthode d’authentification n’est pas forcément implémentée dans les anciens navigateurs.

Activation du module auth_digest :

a2enmod auth_digest
apache2ctl restart

Un exemple de config Apache :

Dav on
<Location /webdav/>
AuthType digest
AuthName "monwebdav"
AuthDigestDomain /webdav/ http://mondomaine/webdav/
AuthDigestProvider file
AuthUserFile /www/auth/webdav
Require valid-user
</Location>

Pour créer le fichier des utilisateurs, ici /www/auth/webdav avec le premier utilisateur toto, on utilise htdigest :

htdigest -c /www/auth/webdav monwebdav toto

Le « realm » de htdigest doit correspondre à la directive AuthName, ici c’est « monwebdav ».

Pour les utilisateurs suivants on enlèvera le -c :

htdigest /www/auth/webdav monwebdav turlututu

Liens

How to fix Windows 7 64 bits Webdav
Using Basic Authentication with Windows 7 and Windows Vista WebDAV Client

No votes yet.
Please wait...

Laisser une réponse