Serveur Apache HTTP Version 2.4
Description: | Fonctionnalit� de cr�ation et gestion de versions de documents via le web (WebDAV) |
---|---|
Statut: | Extension |
Identificateur�de�Module: | dav_module |
Fichier�Source: | mod_dav.c |
Ce module ajoute � Apache une fonctionnalit� WebDAV de classes 1 et 2 ('Web-based Distributed Authoring and Versioning' ou Cr�ation et gestion de versions de documents via le web). Il s'agit d'une extension du protocole HTTP qui permet de cr�er, d�placer, copier et supprimer des ressources ou collections de ressources sur un serveur web distant.
Pour activer le module mod_dav
, ajoutez la ligne
suivante � un conteneur de votre fichier apache2.conf
:
Dav On
Ceci active le fournisseur de syst�me de fichier DAV impl�ment� par
le module mod_dav_fs
. Ce dernier doit donc �tre
compil� dans le serveur ou charg� au d�marrage � l'aide de la
directive LoadModule
.
En outre, vous devez indiquer o� se trouve la base de donn�es des
verrous DAV via une directive DavLockDB
dans la section globale de
votre fichier apache2.conf
:
DavLockDB /usr/local/apache2/var/DavLock
Le r�pertoire contenant le fichier de la base de donn�es des
verrous doit avoir des droits en �criture pour l'utilisateur et le
groupe sous lesquels Apache s'ex�cute et d�finis respectivement par
les directives User
et
Group
.
Si vous souhaitez limiter l'acc�s aux r�pertoires o� DAV est
activ�, vous pouvez ajouter une clause <Limit>
dans la section <Location>
consid�r�e. Pour
d�finir la quantit� maximale de donn�es en octets qu'un client
DAV peut envoyer par requ�te, vous devez utiliser la directive
LimitXMLRequestBody
, car La
directive LimitRequestBody
"habituelle" n'a aucune incidence sur les requ�tes DAV.
DavLockDB /usr/local/apache2/var/DavLock <Directory /usr/local/apache2/htdocs/foo> Require all granted Dav On AuthType Basic AuthName DAV AuthUserFile user.passwd <LimitExcept GET POST OPTIONS> Require user admin </LimitExcept> </Directory>
Etant donn� que les m�thodes d'acc�s DAV permettent � des clients
distants de manipuler des fichiers sur le serveur, vous devez vous
assurer que votre serveur est bien s�curis� avant d'activer
mod_dav
.
Tout r�pertoire du serveur o� DAV est activ� doit �tre prot�g�
par une proc�dure d'authentification. L'utilisation de
l'authentification HTTP de base n'est pas recommand�e. Vous devez
utiliser au moins l'authentification HTTP � base de condens�s
qu'impl�mente le module mod_auth_digest
.
Pratiquement tous les clients WebDAV supportent cette m�thode
d'authentification. Vous pouvez aussi utiliser l'authentification de
base sur une connexion o� SSL est activ�.
Pour que mod_dav
puisse manipuler des fichiers,
il doit avoir des permissions en �criture sur les r�pertoires et les
fichiers qui sont sous son contr�le ; en d'autre termes, c'est
l'utilisateur et le groupe sous lesquels Apache s'ex�cute et d�finis
par les directives User
et
Group
qui doivent avoir
les droits en �criture sur ces fichiers et r�pertoires. Les fichiers
nouvellement cr��s appartiendront aussi � ces utilisateur et groupe.
Par cons�quent, il est important de contr�ler l'acc�s � ce compte.
Les r�pertoires DAV sont consid�r�s comme priv�s du point de vue
d'Apache, et la modification des fichiers qu'ils contiennent
autrement que par l'interm�diaire d'Apache (par exemple par FTP ou
par des outils du niveau du syst�me de fichiers) ne doit pas �tre
permise.
mod_dav
peut faire l'objet de plusieurs sortes
d'attaques par d�ni de service. La directive LimitXMLRequestBody
permet de limiter la
quantit� de m�moire consomm�e pour interpr�ter des requ�tes DAV de
grande taille. En outre, la directive DavDepthInfinity
permet d'emp�cher les
requ�tes PROPFIND
concernant un r�pertoire de tr�s
grande taille de consommer de grandes quantit�s de m�moire. Un autre
type d'attaque par d�ni de service peut aussi �tre men� par un
client qui remplit simplement tout l'espace disque disponible avec
des fichiers de tr�s grande taille. Etant donn� qu'il n'existe aucun
moyen direct d'�viter ce genre d'attaque dans Apache, vous ne devez
accorder des acc�s DAV qu'� des utilisateurs de confiance.
Les requ�tes ayant pour but de manipuler des fichiers dynamiques
(scripts PHP, scripts CGI, etc...) en utilisant
mod_dav
sont courantes. Ce traitement n'est pas
�vident car une requ�te
GET
va toujours tenter d'ex�cuter le script, plut�t que
de t�l�charger son contenu. Pour �viter cet inconv�nient, une
m�thode possible consiste � faire correspondre deux URLs
diff�rentes au m�me contenu, l'une d'entre elles servant � lancer le
script, alors que l'autre peut �tre utilis�e pour le t�l�charger et
le manipuler avec DAV.
Alias /phparea /home/gstein/php_files Alias /php-source /home/gstein/php_files <Location /php-source> DAV On ForceType text/plain </Location>
Avec cette configuration, on peut utiliser
http://example.com/phparea
pour afficher le r�sultat de
l'ex�cution des scripts PHP, et
http://example.com/php-source
pour les manipuler avec
DAV.
Description: | Active les m�thodes HTTP WebDAV |
---|---|
Syntaxe: | Dav On|Off|nom fournisseur |
D�faut: | Dav Off |
Contexte: | r�pertoire |
Statut: | Extension |
Module: | mod_dav |
La directive Dav
permet d'activer les
m�thodes HTTP WebDAV pour le conteneur condid�r� :
<Location /foo> Dav On </Location>
La valeur On
est en fait un alias vers le
fournisseur par d�faut filesystem
impl�ment� par le
module mod_dav_fs
. Notez que lorsque DAV est activ�
pour un conteneur, on ne peut pas le d�sactiver pour ses
sous-conteneurs. Pour un exemple de configuration complet,
reportez-vous � la section pr�c�dente.
Description: | Autorise les requ�tes PROPFIND avec en-t�te Depth: Infinity |
---|---|
Syntaxe: | DavDepthInfinity on|off |
D�faut: | DavDepthInfinity off |
Contexte: | configuration du serveur, serveur virtuel, r�pertoire |
Statut: | Extension |
Module: | mod_dav |
La directive DavDepthInfinity
permet
d'autoriser le traitement des requ�tes PROPFIND
contenant l'en-t�te Depth: Infinity. Par d�faut, ce type de requ�te
n'est pas autoris�, car il peut favoriser les attaques de type D�ni
de service.
Description: | Dur�e minimale pendant laquelle le serveur maintient un verrou sur une ressource DAV |
---|---|
Syntaxe: | DavMinTimeout secondes |
D�faut: | DavMinTimeout 0 |
Contexte: | configuration du serveur, serveur virtuel, r�pertoire |
Statut: | Extension |
Module: | mod_dav |
Lorsqu'un client demande le verrouillage d'une ressource DAV, il peut aussi sp�cifier une dur�e au bout de laquelle le verrou sera automatiquement supprim� par le serveur. Cette valeur ne constitue qu'une demande, et le serveur peut l'ignorer ou informer le client qu'il va utiliser une valeur arbitraire.
La directive DavMinTimeout
permet de
sp�cifier, en secondes, la dur�e minimale de verrouillage � renvoyer
au client. Les R�pertoires Web de Microsoft pr�sentent une dur�e par
d�faut de 120 secondes ; la directive
DavMinTimeout
permet de d�finir une valeur
sup�rieure (par exemple 600 secondes), afin de r�duire les risques
de perte du verrou par le client suite � une surcharge du
r�seau.
<Location /MSWord> DavMinTimeout 600 </Location>