mirror of
https://github.com/apache/httpd.git
synced 2025-08-06 11:06:17 +00:00

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1874515 13f79535-47bb-0310-9956-ffa450edef68
345 lines
15 KiB
Plaintext
345 lines
15 KiB
Plaintext
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
|
|
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
|
|
<!-- English Revision: 1874148 -->
|
|
<!-- French translation : Lucien GENTIS -->
|
|
<!-- Reviewed by : Vincent Deffontaines -->
|
|
|
|
<!--
|
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
contributor license agreements. See the NOTICE file distributed with
|
|
this work for additional information regarding copyright ownership.
|
|
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
(the "License"); you may not use this file except in compliance with
|
|
the License. You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
-->
|
|
|
|
<modulesynopsis metafile="mod_auth_digest.xml.meta">
|
|
|
|
<name>mod_auth_digest</name>
|
|
<description>Authentification utilisateur utilisant les condensés
|
|
MD5</description>
|
|
<status>Extension</status>
|
|
<sourcefile>mod_auth_digest.c</sourcefile>
|
|
<identifier>auth_digest_module</identifier>
|
|
|
|
<summary>
|
|
<p>Ce module implémente l'authentification HTTP basée sur les
|
|
condensés MD5 (<a
|
|
href="http://www.faqs.org/rfcs/rfc2617.html">RFC2617</a>), et
|
|
fournit une alternative à <module>mod_auth_basic</module> en
|
|
ne transmettant plus le mot de passe en clair. Cependant, cela ne
|
|
suffit pas pour améliorer la sécurité de manière significative par
|
|
rapport à l'authentification basique. En outre, le stockage du mot
|
|
de passe sur le serveur est encore moins sûr dans le cas
|
|
d'une authentification à base de condensé que dans le cas d'une
|
|
authentification basique. C'est pourquoi l'utilisation de
|
|
l'authentification basique associée à un chiffrement de la connexion
|
|
via <module>mod_ssl</module> constitue une bien meilleure
|
|
alternative.</p>
|
|
</summary>
|
|
|
|
<seealso><directive module="mod_authn_core">AuthName</directive></seealso>
|
|
<seealso><directive module="mod_authn_core">AuthType</directive></seealso>
|
|
<seealso><directive module="mod_authz_core">Require</directive></seealso>
|
|
<seealso><a href="../howto/auth.html">Mode d'emploi de
|
|
l'authentification</a></seealso>
|
|
|
|
<section id="using"><title>Utilisation de l'authentification à base de
|
|
condensés</title>
|
|
|
|
<p>Pour utiliser l'authentification à base de condensés MD5, configurez la
|
|
protection de la section Location comme dans l'exemple ci-dessous :</p>
|
|
|
|
<example><title>Exemple :</title>
|
|
<highlight language="config">
|
|
<Location "/private/">
|
|
AuthType Digest
|
|
AuthName "private area"
|
|
AuthDigestDomain "/private/" "http://mirror.my.dom/private2/"
|
|
|
|
AuthDigestProvider file
|
|
AuthUserFile "/web/auth/.digest_pw"
|
|
Require valid-user
|
|
</Location>
|
|
</highlight>
|
|
</example>
|
|
|
|
<p>La directive <directive
|
|
module="mod_auth_digest">AuthDigestDomain</directive> permet de fournir la
|
|
liste des URIs protégés par cette configuration.</p>
|
|
|
|
<p>Le fichier de mots de passe référencé par la directive <directive
|
|
module="mod_auth_digest">AuthUserFile</directive> peut être créé et maintenu
|
|
via l'utilitaire <program>htdigest</program>.</p>
|
|
|
|
<note><title>Note</title>
|
|
<p>L'authentification à base de condensé a été conçue pour améliorer
|
|
la sécurité par rapport à l'authentification basique, mais il
|
|
s'avère que ce but n'a pas été atteint. Un attaquant de type
|
|
"man-in-the-middle" peut facilement forcer le navigateur à revenir à
|
|
une authentification basique. Même une oreille indiscrète passive
|
|
peut retrouver le mot de passe par force brute avec les moyens
|
|
modernes, car l'algorithme de hashage utilisé par l'authentification
|
|
à base de condensé est trop rapide. Autre problème, le stockage des
|
|
mots de passe sur le serveur n'est pas sûr. Le contenu d'un fichier
|
|
htdigest volé peut être utilisé directement pour l'authentification
|
|
à base de condensé. Il est donc fortement recommandé d'utiliser
|
|
<module>mod_ssl</module> pour chiffrer la connexion.</p>
|
|
<p><module>mod_auth_digest</module> ne fonctionne correctement que
|
|
sur les plates-formes où APR supporte la mémoire partagée.</p>
|
|
</note>
|
|
</section>
|
|
|
|
<directivesynopsis>
|
|
<name>AuthDigestProvider</name>
|
|
<description>Définit le(s) fournisseurs(s) d'authentification pour la
|
|
zone du site web concernée</description>
|
|
<syntax>AuthDigestProvider <var>nom fournisseur</var>
|
|
[<var>nom fournisseur</var>] ...</syntax>
|
|
<default>AuthDigestProvider file</default>
|
|
<contextlist><context>directory</context><context>.htaccess</context>
|
|
</contextlist>
|
|
<override>AuthConfig</override>
|
|
|
|
<usage>
|
|
<p>La directive <directive>AuthDigestProvider</directive> permet de
|
|
définir quel fournisseur d'authentification sera utilisé pour
|
|
authentifier les utilisateurs pour la zone du site web concernée.
|
|
Assurez-vous que le module implémentant le fournisseur
|
|
d'authentification choisi soit bien présent dans le serveur. Le
|
|
fournisseur par défaut <code>file</code> est implémenté par le
|
|
module <module>mod_authn_file</module>.</p>
|
|
|
|
<p>Voir <module>mod_authn_dbm</module>,
|
|
<module>mod_authn_file</module>, <module>mod_authn_dbd</module> et
|
|
<module>mod_authn_socache</module>
|
|
pour la liste des fournisseurs disponibles.</p>
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
<directivesynopsis>
|
|
<name>AuthDigestQop</name>
|
|
<description>Détermine le niveau de protection fourni par
|
|
l'authentification à base de condensé</description>
|
|
<syntax>AuthDigestQop none|auth|auth-int [auth|auth-int]</syntax>
|
|
<default>AuthDigestQop auth</default>
|
|
<contextlist><context>directory</context><context>.htaccess</context>
|
|
</contextlist>
|
|
<override>AuthConfig</override>
|
|
|
|
<usage>
|
|
<p>La directive <directive>AuthDigestQop</directive> permet de
|
|
définir le <dfn>niveau de protection</dfn> fourni. <code>auth</code>
|
|
ne fournit que l'authentification (nom utilisateur/mot de passe) ;
|
|
<code>auth-int</code> fournit l'authentification plus un contrôle
|
|
d'intégrité (un condensé MD5 de l'entité est aussi calculé et
|
|
vérifié) ; avec <code>none</code>, le module va utiliser l'ancien
|
|
algorithme de condensés RFC-2069 (qui n'effectue pas de contrôle
|
|
d'intégrité). On peut spécifier à la fois <code>auth</code> et
|
|
<code>auth-int</code>, auquel cas c'est le navigateur qui va choisir
|
|
lequel des deux utiliser. <code>none</code> ne doit être utilisé que
|
|
dans le cas où le navigateur ne serait pas à même (pour une raison
|
|
ou pour une autre) de relever le défit qu'il recevrait si un autre
|
|
niveau de protection était défini.</p>
|
|
|
|
<note>
|
|
<code>auth-int</code> n'est pas encore implémenté.
|
|
</note>
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
<directivesynopsis>
|
|
<name>AuthDigestNonceLifetime</name>
|
|
<description>Durée de validité du nombre à valeur unique du
|
|
serveur (nonce)</description>
|
|
<syntax>AuthDigestNonceLifetime <var>secondes</var></syntax>
|
|
<default>AuthDigestNonceLifetime 300</default>
|
|
<contextlist><context>directory</context><context>.htaccess</context>
|
|
</contextlist>
|
|
<override>AuthConfig</override>
|
|
|
|
<usage>
|
|
<p>La directive <directive>AuthDigestNonceLifetime</directive>
|
|
permet de contrôler la durée de validité du nombre à valeur unique
|
|
du serveur (nonce). Lorsque le client contacte le serveur en
|
|
utilisant un nonce dont la validité a expiré, le serveur renvoie un
|
|
code d'erreur 401 avec <code>stale=true</code>. Si
|
|
<var>secondes</var> est supérieur à 0, il spécifie la durée de
|
|
validité du nonce ; il est en général déconseillé d'affecter à cet
|
|
argument une valeur inférieure à 10 secondes. Si
|
|
<var>secondes</var> est inférieur à 0, le nonce n'expire jamais.
|
|
<!-- Pas encore implémenté : si <var>secondes</var> est égal à 0, le
|
|
client ne doit utiliser le nonce qu'une seule fois. Notez que si les
|
|
nonces à usage unique assurent une sécurité accrue contre les
|
|
attaques à base de rejeu, il ont aussi d'importantes implications en
|
|
matière de performances, car le navigateur ne peut plus alors
|
|
effectuer de requêtes en paralléle (pipelining) ou utiliser
|
|
plusieurs connexions pour une même requête. Comme il n'est pas aisé
|
|
pour les navigateurs de détecter l'utilisation de nonces à usage
|
|
unique, on peut aboutir à la situation où le navigateur va tenter
|
|
d'effectuer des requêtes en parallèle et recevoir des codes d'erreur
|
|
401 pour toutes les requêtes sauf la première, ce qui aura pour
|
|
effet de lui faire renvoyer les requêtes. Notez aussi que la
|
|
protection contre les attaques à base de rejeu n'a de sens que dans
|
|
le cas de contenus générés dynamiquement ou de requêtes de type
|
|
POST ; dans le cas des contenus statiques, l'attaquant possède déjà
|
|
probablement la réponse complète, et les nonces à usage unique sont
|
|
ici sans objet. -->
|
|
</p>
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
<directivesynopsis>
|
|
<name>AuthDigestNonceFormat</name>
|
|
<description>Détermine la manière dont le nombre à valeur unique du
|
|
serveur (nonce) est généré</description>
|
|
<syntax>AuthDigestNonceFormat <var>format</var></syntax>
|
|
<contextlist><context>directory</context><context>.htaccess</context>
|
|
</contextlist>
|
|
<override>AuthConfig</override>
|
|
|
|
<usage>
|
|
<note>Non encore implémenté.</note>
|
|
<!-- La directive AuthDigestNonceFormat permet de déterminer la
|
|
manière dont le nombre à valeur unique du serveur (nonce) est
|
|
généré. -->
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
<directivesynopsis>
|
|
<name>AuthDigestNcCheck</name>
|
|
<description>Active ou désactive la vérification du nombre d'envois du
|
|
nombre à valeur unique (nonce) par le serveur</description>
|
|
<syntax>AuthDigestNcCheck On|Off</syntax>
|
|
<default>AuthDigestNcCheck Off</default>
|
|
<contextlist><context>server config</context></contextlist>
|
|
|
|
<usage>
|
|
<note>
|
|
Non encore implémenté.
|
|
</note>
|
|
<!--
|
|
<p>La directive AuthDigestNcCheck permet d'activer ou de désactiver
|
|
la vérification du nombre d'envois du nombre à valeur unique (nonce)
|
|
par le serveur.</p>
|
|
|
|
<p>Bien que la définition de cette directive à On soit recommandée
|
|
du point de vue de la sécurité, elle a des conséquences importantes sur
|
|
les performances du serveur. Pour vérifier le nombre d'envois du nonce,
|
|
*toutes* les requêtes (du moins toutes celles qui possèdent un
|
|
en-tête d'autorisation, qu'elles requièrent ou non une
|
|
authentification à base de condensé) doivent être sérialisées au
|
|
travers d'une section critique. Si le serveur traite un grand nombre
|
|
de requêtes qui possèdent un en-tête d'autorisation, l'impact sur
|
|
les performances pourra se montrer sensible.</p>
|
|
-->
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
<directivesynopsis>
|
|
<name>AuthDigestAlgorithm</name>
|
|
<description>Sélectionne l'algorithme utilisé pour calculer les
|
|
condensés du défit et de sa réponse</description>
|
|
<syntax>AuthDigestAlgorithm MD5|MD5-sess</syntax>
|
|
<default>AuthDigestAlgorithm MD5</default>
|
|
<contextlist><context>directory</context><context>.htaccess</context>
|
|
</contextlist>
|
|
<override>AuthConfig</override>
|
|
|
|
<usage>
|
|
<p>La directive <directive>AuthDigestAlgorithm</directive> permet de
|
|
sélectionner l'algorithme utilisé pour calculer les condensés du
|
|
défit et de sa réponse.</p>
|
|
|
|
<note>
|
|
<code>MD5-sess</code> n'est pas encore correctement implémenté.
|
|
</note>
|
|
<!--
|
|
<p>Pour pouvoir utiliser <code>MD5-sess</code>, vous devez tout
|
|
d'abord éditer le code de la fonction <code>get_userpw_hash()</code>
|
|
dans <code>mod_auth_digest.c</code>.</p>
|
|
-->
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
<directivesynopsis>
|
|
<name>AuthDigestDomain</name>
|
|
<description>Les URIs qui se trouvent dans le même espace de protection
|
|
concernant l'authentification à base de condensés</description>
|
|
<syntax>AuthDigestDomain <var>URI</var> [<var>URI</var>] ...</syntax>
|
|
<contextlist><context>directory</context><context>.htaccess</context>
|
|
</contextlist>
|
|
<override>AuthConfig</override>
|
|
|
|
<usage>
|
|
<p>La directive <directive>AuthDigestDomain</directive> vous permet
|
|
de spécifier un ou plusieurs URIs se trouvant dans le même
|
|
espace de protection (c'est à dire utilisant le même utilisateur/mot
|
|
de passe et se trouvant dans le même domaine). Les URIs spécifiés
|
|
sont des préfixes ; le client doit savoir que tous les URIs situés
|
|
sous ces préfixes seront protégés par le même utilisateur/mot de
|
|
passe. Les URIs peuvent être soit des URIs absolus (c'est à dire
|
|
avec protocole, nom serveur, port, etc...), soit des URIs
|
|
relatifs.</p>
|
|
|
|
<p>Cette directive doit toujours être présente et contenir au moins
|
|
le(s) URI(s) racine(s) pour cet espace. Dans le cas contraire, le
|
|
client va envoyer un en-tête d'autorisation avec <em>chaque
|
|
requête</em> à destination de ce serveur. Outre une augmentation de
|
|
la taille de la requête, les performances vont s'en trouver
|
|
affectées si la directive <directive
|
|
module="mod_auth_digest">AuthDigestNcCheck</directive> est définie à
|
|
On.</p>
|
|
|
|
<p>Les URIs spécifiés peuvent aussi référencer différents serveurs,
|
|
auquel cas les clients (qui sont à même de le comprendre) vont
|
|
partager l'utilisateur/mot de passe entre plusieurs serveurs sans le
|
|
demander à l'utilisateur à chaque fois.</p>
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
<directivesynopsis>
|
|
<name>AuthDigestShmemSize</name>
|
|
<description>La quantité de mémoire partagée à allouer afin de conserver
|
|
les informations à propos des clients</description>
|
|
<syntax>AuthDigestShmemSize <var>taille</var></syntax>
|
|
<default>AuthDigestShmemSize 1000</default>
|
|
<contextlist><context>server config</context></contextlist>
|
|
|
|
<usage>
|
|
<p>La directive <directive>AuthDigestShmemSize</directive> permet de
|
|
définir la quantité de mémoire partagée à allouer au démarrage du
|
|
serveur afin de conserver les informations à propos des clients.
|
|
Notez que le segment de mémoire partagée ne peut pas être défini à
|
|
une taille inférieure à l'espace nécessaire pour conserver les
|
|
informations à propos d'<em>un</em> client. Cette valeur dépend de
|
|
votre système. Si vous voulez en déterminer la valeur exacte, vous
|
|
pouvez simplement définir <directive>AuthDigestShmemSize</directive>
|
|
à <code>0</code> et consulter le message d'erreur que renverra le
|
|
serveur lorsqu'on essaiera de le démarrer.</p>
|
|
|
|
<p>L'argument <var>size</var> s'exprime par défaut en octets, mais
|
|
vous pouvez suffixer le nombre par un <code>K</code> ou un
|
|
<code>M</code> pour spécifier respectivement des KiloOctets ou des
|
|
MégaOctets. Par exemple, les directives qui suivent sont toutes
|
|
équivalentes :</p>
|
|
|
|
<highlight language="config">
|
|
AuthDigestShmemSize 1048576
|
|
AuthDigestShmemSize 1024K
|
|
AuthDigestShmemSize 1M
|
|
</highlight>
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
</modulesynopsis>
|