]> granicus.if.org Git - apache/blob - docs/manual/mod/mod_auth_digest.xml.fr
XML update.
[apache] / docs / manual / mod / mod_auth_digest.xml.fr
1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
4 <!-- English Revision : 1745060 -->
5 <!-- French translation : Lucien GENTIS -->
6 <!-- Reviewed by : Vincent Deffontaines -->
7
8 <!--
9  Licensed to the Apache Software Foundation (ASF) under one or more
10  contributor license agreements.  See the NOTICE file distributed with
11  this work for additional information regarding copyright ownership.
12  The ASF licenses this file to You under the Apache License, Version 2.0
13  (the "License"); you may not use this file except in compliance with
14  the License.  You may obtain a copy of the License at
15
16      http://www.apache.org/licenses/LICENSE-2.0
17
18  Unless required by applicable law or agreed to in writing, software
19  distributed under the License is distributed on an "AS IS" BASIS,
20  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21  See the License for the specific language governing permissions and
22  limitations under the License.
23 -->
24
25 <modulesynopsis metafile="mod_auth_digest.xml.meta">
26
27 <name>mod_auth_digest</name>
28 <description>Authentification utilisateur utilisant les condensés
29 MD5</description>
30 <status>Extension</status>
31 <sourcefile>mod_auth_digest.c</sourcefile>
32 <identifier>auth_digest_module</identifier>
33
34 <summary>
35     <p>Ce module implémente l'authentification HTTP basée sur les
36     condensés MD5 (<a
37     href="http://www.faqs.org/rfcs/rfc2617.html">RFC2617</a>), et
38     fournit une alternative à <module>mod_auth_basic</module> en
39     ne transmettant plus le mot de passe en clair. Cependant, cela ne
40     suffit pas pour améliorer la sécurité de manière significative par
41     rapport à l'authentification basique. En outre, le stockage du mot
42     de passe sur le serveur est encore moins sûr dans le cas
43     d'une authentification à base de condensé que dans le cas d'une
44     authentification basique. C'est pourquoi l'utilisation de
45     l'authentification basique associée à un chiffrement de la connexion
46     via <module>mod_ssl</module> constitue une bien meilleure
47     alternative.</p>
48 </summary>
49
50 <seealso><directive module="mod_authn_core">AuthName</directive></seealso>
51 <seealso><directive module="mod_authn_core">AuthType</directive></seealso>
52 <seealso><directive module="mod_authz_core">Require</directive></seealso>
53 <seealso><a href="../howto/auth.html">Mode d'emploi de
54 l'authentification</a></seealso>
55
56 <section id="using"><title>Utilisation de l'authentification à base de
57 condensés</title>
58
59     <p>Pour utiliser l'authentification à base de condensés MD5, configurez la
60     protection de la section Location comme dans l'exemple ci-dessous :</p>
61
62     <example><title>Exemple :</title>
63       <highlight language="config">
64 &lt;Location "/private/"&gt;
65     AuthType Digest
66     AuthName "private area"
67     AuthDigestDomain "/private/" "http://mirror.my.dom/private2/"
68     
69     AuthDigestProvider file
70     AuthUserFile "/web/auth/.digest_pw"
71     Require valid-user
72 &lt;/Location&gt;
73       </highlight>
74     </example>
75
76     <p>La directive <directive
77     module="mod_auth_digest">AuthDigestDomain</directive> permet de fournir la
78     liste des URIs protégés par cette configuration.</p>
79
80     <p>Le fichier de mots de passe référencé par la directive <directive
81     module="mod_auth_digest">AuthUserFile</directive> peut être créé et maintenu
82     via l'utilitaire <program>htdigest</program>.</p>
83
84     <note><title>Note</title>
85     <p>L'authentification à base de condensé a été conçue pour améliorer
86     la sécurité par rapport à l'authentification basique, mais il
87     s'avère que ce but n'a pas été atteint. Un attaquant de type
88     "man-in-the-middle" peut facilement forcer le navigateur à revenir à
89     une authentification basique. Même une oreille indiscrète passive
90     peut retrouver le mot de passe par force brute avec les moyens
91     modernes, car l'algorithme de hashage utilisé par l'authentification
92     à base de condensé est trop rapide. Autre problème, le stockage des
93     mots de passe sur le serveur n'est pas sûr. Le contenu d'un fichier
94     htdigest volé peut être utilisé directement pour l'authentification
95     à base de condensé. Il est donc fortement recommandé d'utiliser
96     <module>mod_ssl</module> pour chiffrer la connexion.</p>
97     <p><module>mod_auth_digest</module> ne fonctionne correctement que
98     sur les plates-formes où APR supporte la mémoire partagée.</p>
99     </note>
100 </section>
101
102 <directivesynopsis>
103 <name>AuthDigestProvider</name>
104 <description>Définit le(s) fournisseurs(s) d'authentification pour la
105 zone du site web concernée</description>
106 <syntax>AuthDigestProvider <var>nom fournisseur</var>
107 [<var>nom fournisseur</var>] ...</syntax>
108 <default>AuthDigestProvider file</default>
109 <contextlist><context>directory</context><context>.htaccess</context>
110 </contextlist>
111 <override>AuthConfig</override>
112
113 <usage>
114     <p>La directive <directive>AuthDigestProvider</directive> permet de
115     définir quel fournisseur d'authentification sera utilisé pour
116     authentifier les utilisateurs pour la zone du site web concernée.
117     Assurez-vous que le module implémentant le fournisseur
118     d'authentification choisi soit bien présent dans le serveur. Le
119     fournisseur par défaut <code>file</code> est implémenté par le
120     module <module>mod_authn_file</module>.</p>
121
122     <p>Voir <module>mod_authn_dbm</module>,
123     <module>mod_authn_file</module>, <module>mod_authn_dbd</module> et
124     <module>mod_authn_socache</module>
125     pour la liste des fournisseurs disponibles.</p>
126 </usage>
127 </directivesynopsis>
128
129 <directivesynopsis>
130 <name>AuthDigestQop</name>
131 <description>Détermine le niveau de protection fourni par
132 l'authentification à base de condensé</description>
133 <syntax>AuthDigestQop none|auth|auth-int [auth|auth-int]</syntax>
134 <default>AuthDigestQop auth</default>
135 <contextlist><context>directory</context><context>.htaccess</context>
136 </contextlist>
137 <override>AuthConfig</override>
138
139 <usage>
140     <p>La directive <directive>AuthDigestQop</directive> permet de
141     définir le <dfn>niveau de protection</dfn> fourni. <code>auth</code>
142     ne fournit que l'authentification (nom utilisateur/mot de passe) ;
143     <code>auth-int</code> fournit l'authentification plus un contrôle
144     d'intégrité (un condensé MD5 de l'entité est aussi calculé et
145     vérifié) ; avec <code>none</code>, le module va utiliser l'ancien
146     algorithme de condensés RFC-2069 (qui n'effectue pas de contrôle
147     d'intégrité). On peut spécifier à la fois <code>auth</code> et
148     <code>auth-int</code>, auquel cas c'est le navigateur qui va choisir
149     lequel des deux utiliser. <code>none</code> ne doit être utilisé que
150     dans le cas où le navigateur ne serait pas à même (pour une raison
151     ou pour une autre) de relever le défit qu'il recevrait si un autre
152     niveau de protection était défini.</p>
153
154     <note>
155       <code>auth-int</code> n'est pas encore implémenté.
156     </note>
157 </usage>
158 </directivesynopsis>
159
160 <directivesynopsis>
161 <name>AuthDigestNonceLifetime</name>
162 <description>Durée de validité du nombre à valeur unique du
163 serveur (nonce)</description>
164 <syntax>AuthDigestNonceLifetime <var>secondes</var></syntax>
165 <default>AuthDigestNonceLifetime 300</default>
166 <contextlist><context>directory</context><context>.htaccess</context>
167 </contextlist>
168 <override>AuthConfig</override>
169
170 <usage>
171     <p>La directive <directive>AuthDigestNonceLifetime</directive>
172     permet de contrôler la durée de validité du nombre à valeur unique
173     du serveur (nonce). Lorsque le client contacte le serveur en
174     utilisant un nonce dont la validité a expiré, le serveur renvoie un
175     code d'erreur 401 avec <code>stale=true</code>. Si
176     <var>secondes</var> est supérieur à 0, il spécifie la durée de
177     validité du nonce ; il est en général déconseillé d'affecter à cet
178     argument une valeur inférieure à 10 secondes. Si
179     <var>secondes</var> est inférieur à 0, le nonce n'expire jamais.
180     <!-- Pas encore implémenté : si <var>secondes</var> est égal à 0, le
181     client ne doit utiliser le nonce qu'une seule fois. Notez que si les
182     nonces à usage unique assurent une sécurité accrue contre les
183     attaques à base de rejeu, il ont aussi d'importantes implications en
184     matière de performances, car le navigateur ne peut plus alors
185     effectuer de requêtes en paralléle (pipelining) ou utiliser
186     plusieurs connexions pour une même requête. Comme il n'est pas aisé
187     pour les navigateurs de détecter l'utilisation de nonces à usage
188     unique, on peut aboutir à la situation où le navigateur va tenter
189     d'effectuer des requêtes en parallèle et recevoir des codes d'erreur
190     401 pour toutes les requêtes sauf la première, ce qui aura pour
191     effet de lui faire renvoyer les requêtes. Notez aussi que la
192     protection contre les attaques à base de rejeu n'a de sens que dans
193     le cas de contenus générés dynamiquement ou de requêtes de type
194     POST ; dans le cas des contenus statiques, l'attaquant possède déjà
195     probablement la réponse complète, et les nonces à usage unique sont
196     ici sans objet.  -->
197     </p>
198 </usage>
199 </directivesynopsis>
200
201 <directivesynopsis>
202 <name>AuthDigestNonceFormat</name>
203 <description>Détermine la manière dont le nombre à valeur unique du
204 serveur (nonce) est généré</description>
205 <syntax>AuthDigestNonceFormat <var>format</var></syntax>
206 <contextlist><context>directory</context><context>.htaccess</context>
207 </contextlist>
208 <override>AuthConfig</override>
209
210 <usage>
211     <note>Non encore implémenté.</note>
212     <!-- La directive AuthDigestNonceFormat permet de déterminer la
213     manière dont le nombre à valeur unique du serveur (nonce) est
214     généré. -->
215 </usage>
216 </directivesynopsis>
217
218 <directivesynopsis>
219 <name>AuthDigestNcCheck</name>
220 <description>Active ou désactive la vérification du nombre d'envois du
221 nombre à valeur unique (nonce) par le serveur</description>
222 <syntax>AuthDigestNcCheck On|Off</syntax>
223 <default>AuthDigestNcCheck Off</default>
224 <contextlist><context>server config</context></contextlist>
225
226 <usage>
227     <note>
228       Non encore implémenté.
229     </note>
230     <!--
231     <p>La directive AuthDigestNcCheck permet d'activer ou de désactiver
232     la vérification du nombre d'envois du nombre à valeur unique (nonce)
233     par le serveur.</p>
234
235     <p>Bien que la définition de cette directive à On soit recommandée
236     du point de vue de la sécurité, elle a des conséquences importantes sur
237     les performances du serveur.  Pour vérifier le nombre d'envois du nonce,
238     *toutes* les requêtes (du moins toutes celles qui possèdent un
239     en-tête d'autorisation, qu'elles requièrent ou non une
240     authentification à base de condensé) doivent être sérialisées au
241     travers d'une section critique. Si le serveur traite un grand nombre
242     de requêtes qui possèdent un en-tête d'autorisation, l'impact sur
243     les performances pourra se montrer sensible.</p>
244      -->
245 </usage>
246 </directivesynopsis>
247
248 <directivesynopsis>
249 <name>AuthDigestAlgorithm</name>
250 <description>Sélectionne l'algorithme utilisé pour calculer les
251 condensés du défit et de sa réponse</description>
252 <syntax>AuthDigestAlgorithm MD5|MD5-sess</syntax>
253 <default>AuthDigestAlgorithm MD5</default>
254 <contextlist><context>directory</context><context>.htaccess</context>
255 </contextlist>
256 <override>AuthConfig</override>
257
258 <usage>
259     <p>La directive <directive>AuthDigestAlgorithm</directive> permet de
260     sélectionner l'algorithme utilisé pour calculer les condensés du
261     défit et de sa réponse.</p>
262
263     <note>
264       <code>MD5-sess</code> n'est pas encore correctement implémenté.
265     </note>
266     <!--
267     <p>Pour pouvoir utiliser <code>MD5-sess</code>, vous devez tout
268     d'abord éditer le code de la fonction <code>get_userpw_hash()</code>
269     dans <code>mod_auth_digest.c</code>.</p>
270     -->
271 </usage>
272 </directivesynopsis>
273
274 <directivesynopsis>
275 <name>AuthDigestDomain</name>
276 <description>Les URIs qui se trouvent dans le même espace de protection
277 concernant l'authentification à base de condensés</description>
278 <syntax>AuthDigestDomain <var>URI</var> [<var>URI</var>] ...</syntax>
279 <contextlist><context>directory</context><context>.htaccess</context>
280 </contextlist>
281 <override>AuthConfig</override>
282
283 <usage>
284     <p>La directive <directive>AuthDigestDomain</directive> vous permet
285     de spécifier un ou plusieurs URIs se trouvant dans le même
286     espace de protection (c'est à dire utilisant le même utilisateur/mot
287     de passe et se trouvant dans le même domaine). Les URIs spécifiés
288     sont des préfixes ; le client doit savoir que tous les URIs situés
289     sous ces préfixes seront protégés par le même utilisateur/mot de
290     passe. Les URIs peuvent être soit des URIs absolus (c'est à dire
291     avec protocole, nom serveur, port, etc...), soit des URIs
292     relatifs.</p>
293
294     <p>Cette directive doit toujours être présente et contenir au moins
295     le(s) URI(s) racine(s) pour cet espace. Dans le cas contraire, le
296     client va envoyer un en-tête d'autorisation avec <em>chaque
297     requête</em> à destination de ce serveur. Outre une augmentation de
298     la taille de la requête, les performances vont s'en trouver
299     affectées si la directive <directive
300     module="mod_auth_digest">AuthDigestNcCheck</directive> est définie à
301     On.</p>
302
303     <p>Les URIs spécifiés peuvent aussi référencer différents serveurs,
304     auquel cas les clients (qui sont à même de le comprendre) vont
305     partager l'utilisateur/mot de passe entre plusieurs serveurs sans le
306     demander à l'utilisateur à chaque fois.</p>
307 </usage>
308 </directivesynopsis>
309
310 <directivesynopsis>
311 <name>AuthDigestShmemSize</name>
312 <description>La quantité de mémoire partagée à allouer afin de conserver
313 les informations à propos des clients</description>
314 <syntax>AuthDigestShmemSize <var>taille</var></syntax>
315 <default>AuthDigestShmemSize 1000</default>
316 <contextlist><context>server config</context></contextlist>
317
318 <usage>
319     <p>La directive <directive>AuthDigestShmemSize</directive> permet de
320     définir la quantité de mémoire partagée à allouer au démarrage du
321     serveur afin de conserver les informations à propos des clients.
322     Notez que le segment de mémoire partagée ne peut pas être défini à
323     une taille inférieure à l'espace nécessaire pour conserver les
324     informations à propos d'<em>un</em> client. Cette valeur dépend de
325     votre système. Si vous voulez en déterminer la valeur exacte, vous
326     pouvez simplement définir <directive>AuthDigestShmemSize</directive>
327     à <code>0</code> et consulter le message d'erreur que renverra le
328     serveur lorsqu'on essaiera de le démarrer.</p>
329
330     <p>L'argument <var>size</var> s'exprime par défaut en octets, mais
331     vous pouvez suffixer le nombre par un <code>K</code> ou un
332     <code>M</code> pour spécifier respectivement des KiloOctets ou des
333     MégaOctets. Par exemple, les directives qui suivent sont toutes
334     équivalentes :</p>
335
336     <highlight language="config">
337 AuthDigestShmemSize 1048576
338 AuthDigestShmemSize 1024K
339 AuthDigestShmemSize 1M
340     </highlight>
341 </usage>
342 </directivesynopsis>
343
344 </modulesynopsis>