1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
4 <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7 This file is generated from xml source: DO NOT EDIT
8 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
10 <title>mod_auth_digest - Serveur Apache HTTP Version 2.4</title>
11 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
12 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
13 <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
14 <script src="../style/scripts/prettify.min.js" type="text/javascript">
17 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
19 <div id="page-header">
20 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
21 <p class="apache">Serveur Apache HTTP Version 2.4</p>
22 <img alt="" src="../images/feather.png" /></div>
23 <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
25 <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div>
26 <div id="page-content">
27 <div id="preamble"><h1>Module Apache mod_auth_digest</h1>
29 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_auth_digest.html" hreflang="en" rel="alternate" title="English"> en </a> |
30 <a href="../fr/mod/mod_auth_digest.html" title="Français"> fr </a> |
31 <a href="../ko/mod/mod_auth_digest.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
33 <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Authentification utilisateur utilisant les condensés
35 <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
36 <tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>auth_digest_module</td></tr>
37 <tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_auth_digest.c</td></tr></table>
40 <p>Ce module implémente l'authentification HTTP basée sur les
41 condensés MD5 (<a href="http://www.faqs.org/rfcs/rfc2617.html">RFC2617</a>), et
42 fournit une alternative à <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> en
43 ne transmettant plus le mot de passe en clair. Cependant, cela ne
44 suffit pas pour améliorer la sécurité de manière significative par
45 rapport à l'authentification basique. En outre, le stockage du mot
46 de passe sur le serveur est encore moins sûr dans le cas
47 d'une authentification à base de condensé que dans le cas d'une
48 authentification basique. C'est pourquoi l'utilisation de
49 l'authentification basique associée à un chiffrement de la connexion
50 via <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> constitue une bien meilleure
53 <div id="quickview"><h3>Sujets</h3>
55 <li><img alt="" src="../images/down.gif" /> <a href="#using">Utilisation de l'authentification à base de
57 </ul><h3 class="directives">Directives</h3>
59 <li><img alt="" src="../images/down.gif" /> <a href="#authdigestalgorithm">AuthDigestAlgorithm</a></li>
60 <li><img alt="" src="../images/down.gif" /> <a href="#authdigestdomain">AuthDigestDomain</a></li>
61 <li><img alt="" src="../images/down.gif" /> <a href="#authdigestnoncelifetime">AuthDigestNonceLifetime</a></li>
62 <li><img alt="" src="../images/down.gif" /> <a href="#authdigestprovider">AuthDigestProvider</a></li>
63 <li><img alt="" src="../images/down.gif" /> <a href="#authdigestqop">AuthDigestQop</a></li>
64 <li><img alt="" src="../images/down.gif" /> <a href="#authdigestshmemsize">AuthDigestShmemSize</a></li>
66 <h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_auth_digest">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_auth_digest">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
68 <li><code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code></li>
69 <li><code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code></li>
70 <li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li>
71 <li><a href="../howto/auth.html">Mode d'emploi de
72 l'authentification</a></li>
73 <li><a href="#comments_section">Commentaires</a></li></ul></div>
74 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
76 <h2><a name="using" id="using">Utilisation de l'authentification à base de
79 <p>Pour utiliser l'authentification à base de condensés MD5, vous
80 devez simplement remplacer <code>AuthType Basic</code> et <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> respectivement
81 par <code>AuthType Digest</code> et <code class="directive"><a href="#authdigestprovider">AuthDigestProvider</a></code> lorsque vous
82 configurez l'authentification, puis ajouter une directive <code class="directive"><a href="#authdigestdomain">AuthDigestDomain</a></code> contenant au
83 moins la(les) URI(s) racine(s) de la zone à protéger.</p>
85 <p>On peut créer les fichiers utilisateur appropriés (au format
86 texte) à l'aide de l'outil <code class="program"><a href="../programs/htdigest.html">htdigest</a></code>.</p>
88 <div class="example"><h3>Exemple :</h3><pre class="prettyprint lang-config"><Location "/private/">
90 AuthName "private area"
91 AuthDigestDomain "/private/" "http://mirror.my.dom/private2/"
93 AuthDigestProvider file
94 AuthUserFile "/web/auth/.digest_pw"
96 </Location></pre>
99 <div class="note"><h3>Note</h3>
100 <p>L'authentification à base de condensé a été conçue pour améliorer
101 la sécurité par rapport à l'authentification basique, mais il
102 s'avère que ce but n'a pas été atteint. Un attaquant de type
103 "man-in-the-middle" peut facilement forcer le navigateur à revenir à
104 une authentification basique. Même une oreille indiscrète passive
105 peut retrouver le mot de passe par force brute avec les moyens
106 modernes, car l'algorithme de hashage utilisé par l'authentification
107 à base de condensé est trop rapide. Autre problème, le stockage des
108 mots de passe sur le serveur n'est pas sûr. Le contenu d'un fichier
109 htdigest volé peut être utilisé directement pour l'authentification
110 à base de condensé. Il est donc fortement recommandé d'utiliser
111 <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> pour chiffrer la connexion.</p>
112 <p><code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> ne fonctionne correctement que
113 sur les plates-formes où APR supporte la mémoire partagée.</p>
116 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
117 <div class="directive-section"><h2><a name="authdigestalgorithm" id="authdigestalgorithm">Directive</a> <a name="AuthDigestAlgorithm" id="AuthDigestAlgorithm">AuthDigestAlgorithm</a></h2>
118 <table class="directive">
119 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sélectionne l'algorithme utilisé pour calculer les
120 condensés du défit et de sa réponse</td></tr>
121 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDigestAlgorithm MD5|MD5-sess</code></td></tr>
122 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthDigestAlgorithm MD5</code></td></tr>
123 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
124 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
125 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
126 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_digest</td></tr>
128 <p>La directive <code class="directive">AuthDigestAlgorithm</code> permet de
129 sélectionner l'algorithme utilisé pour calculer les condensés du
130 défit et de sa réponse.</p>
133 <code>MD5-sess</code> n'est pas encore correctement implémenté.
138 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
139 <div class="directive-section"><h2><a name="authdigestdomain" id="authdigestdomain">Directive</a> <a name="AuthDigestDomain" id="AuthDigestDomain">AuthDigestDomain</a></h2>
140 <table class="directive">
141 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Les URIs qui se trouvent dans le même espace de protection
142 concernant l'authentification à base de condensés</td></tr>
143 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDigestDomain <var>URI</var> [<var>URI</var>] ...</code></td></tr>
144 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
145 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
146 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
147 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_digest</td></tr>
149 <p>La directive <code class="directive">AuthDigestDomain</code> vous permet
150 de spécifier un ou plusieurs URIs se trouvant dans le même
151 espace de protection (c'est à dire utilisant le même utilisateur/mot
152 de passe et se trouvant dans le même domaine). Les URIs spécifiés
153 sont des préfixes ; le client doit savoir que tous les URIs situés
154 sous ces préfixes seront protégés par le même utilisateur/mot de
155 passe. Les URIs peuvent être soit des URIs absolus (c'est à dire
156 avec protocole, nom serveur, port, etc...), soit des URIs
159 <p>Cette directive doit toujours être présente et contenir au moins
160 le(s) URI(s) racine(s) pour cet espace. Dans le cas contraire, le
161 client va envoyer un en-tête d'autorisation avec <em>chaque
162 requête</em> à destination de ce serveur.</p>
164 <p>Les URIs spécifiés peuvent aussi référencer différents serveurs,
165 auquel cas les clients (qui sont à même de le comprendre) vont
166 partager l'utilisateur/mot de passe entre plusieurs serveurs sans le
167 demander à l'utilisateur à chaque fois.</p>
170 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
171 <div class="directive-section"><h2><a name="authdigestnoncelifetime" id="authdigestnoncelifetime">Directive</a> <a name="AuthDigestNonceLifetime" id="AuthDigestNonceLifetime">AuthDigestNonceLifetime</a></h2>
172 <table class="directive">
173 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée de validité du nombre à valeur unique du
174 serveur (nonce)</td></tr>
175 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDigestNonceLifetime <var>secondes</var></code></td></tr>
176 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthDigestNonceLifetime 300</code></td></tr>
177 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
178 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
179 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
180 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_digest</td></tr>
182 <p>La directive <code class="directive">AuthDigestNonceLifetime</code>
183 permet de contrôler la durée de validité du nombre à valeur unique
184 du serveur (nonce). Lorsque le client contacte le serveur en
185 utilisant un nonce dont la validité a expiré, le serveur renvoie un
186 code d'erreur 401 avec <code>stale=true</code>. Si
187 <var>secondes</var> est supérieur à 0, il spécifie la durée de
188 validité du nonce ; il est en général déconseillé d'affecter à cet
189 argument une valeur inférieure à 10 secondes. Si
190 <var>secondes</var> est inférieur à 0, le nonce n'expire jamais.
195 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
196 <div class="directive-section"><h2><a name="authdigestprovider" id="authdigestprovider">Directive</a> <a name="AuthDigestProvider" id="AuthDigestProvider">AuthDigestProvider</a></h2>
197 <table class="directive">
198 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le(s) fournisseurs(s) d'authentification pour la
199 zone du site web concernée</td></tr>
200 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDigestProvider <var>nom fournisseur</var>
201 [<var>nom fournisseur</var>] ...</code></td></tr>
202 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthDigestProvider file</code></td></tr>
203 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
204 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
205 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
206 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_digest</td></tr>
208 <p>La directive <code class="directive">AuthDigestProvider</code> permet de
209 définir quel fournisseur d'authentification sera utilisé pour
210 authentifier les utilisateurs pour la zone du site web concernée.
211 Assurez-vous que le module implémentant le fournisseur
212 d'authentification choisi soit bien présent dans le serveur. Le
213 fournisseur par défaut <code>file</code> est implémenté par le
214 module <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>.</p>
216 <p>Voir <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code>,
217 <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>, <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code> et
218 <code class="module"><a href="../mod/mod_authn_socache.html">mod_authn_socache</a></code>
219 pour la liste des fournisseurs disponibles.</p>
222 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
223 <div class="directive-section"><h2><a name="authdigestqop" id="authdigestqop">Directive</a> <a name="AuthDigestQop" id="AuthDigestQop">AuthDigestQop</a></h2>
224 <table class="directive">
225 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine le niveau de protection fourni par
226 l'authentification à base de condensé</td></tr>
227 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDigestQop none|auth|auth-int [auth|auth-int]</code></td></tr>
228 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthDigestQop auth</code></td></tr>
229 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
230 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
231 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
232 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_digest</td></tr>
234 <p>La directive <code class="directive">AuthDigestQop</code> permet de
235 définir le <dfn>niveau de protection</dfn> fourni. <code>auth</code>
236 ne fournit que l'authentification (nom utilisateur/mot de passe) ;
237 <code>auth-int</code> fournit l'authentification plus un contrôle
238 d'intégrité (un condensé MD5 de l'entité est aussi calculé et
239 vérifié) ; avec <code>none</code>, le module va utiliser l'ancien
240 algorithme de condensés RFC-2069 (qui n'effectue pas de contrôle
241 d'intégrité). On peut spécifier à la fois <code>auth</code> et
242 <code>auth-int</code>, auquel cas c'est le navigateur qui va choisir
243 lequel des deux utiliser. <code>none</code> ne doit être utilisé que
244 dans le cas où le navigateur ne serait pas à même (pour une raison
245 ou pour une autre) de relever le défit qu'il recevrait si un autre
246 niveau de protection était défini.</p>
249 <code>auth-int</code> n'est pas encore implémenté.
253 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
254 <div class="directive-section"><h2><a name="authdigestshmemsize" id="authdigestshmemsize">Directive</a> <a name="AuthDigestShmemSize" id="AuthDigestShmemSize">AuthDigestShmemSize</a></h2>
255 <table class="directive">
256 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La quantité de mémoire partagée à allouer afin de conserver
257 les informations à propos des clients</td></tr>
258 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDigestShmemSize <var>taille</var></code></td></tr>
259 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthDigestShmemSize 1000</code></td></tr>
260 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
261 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
262 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_digest</td></tr>
264 <p>La directive <code class="directive">AuthDigestShmemSize</code> permet de
265 définir la quantité de mémoire partagée à allouer au démarrage du
266 serveur afin de conserver les informations à propos des clients.
267 Notez que le segment de mémoire partagée ne peut pas être défini à
268 une taille inférieure à l'espace nécessaire pour conserver les
269 informations à propos d'<em>un</em> client. Cette valeur dépend de
270 votre système. Si vous voulez en déterminer la valeur exacte, vous
271 pouvez simplement définir <code class="directive">AuthDigestShmemSize</code>
272 à <code>0</code> et consulter le message d'erreur que renverra le
273 serveur lorsqu'on essaiera de le démarrer.</p>
275 <p>L'argument <var>size</var> s'exprime par défaut en octets, mais
276 vous pouvez suffixer le nombre par un <code>K</code> ou un
277 <code>M</code> pour spécifier respectivement des KiloOctets ou des
278 MégaOctets. Par exemple, les directives qui suivent sont toutes
281 <pre class="prettyprint lang-config">AuthDigestShmemSize 1048576
282 AuthDigestShmemSize 1024K
283 AuthDigestShmemSize 1M</pre>
288 <div class="bottomlang">
289 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_auth_digest.html" hreflang="en" rel="alternate" title="English"> en </a> |
290 <a href="../fr/mod/mod_auth_digest.html" title="Français"> fr </a> |
291 <a href="../ko/mod/mod_auth_digest.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
292 </div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
293 <script type="text/javascript"><!--//--><![CDATA[//><!--
294 var comments_shortname = 'httpd';
295 var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_auth_digest.html';
297 if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
298 d.write('<div id="comments_thread"><\/div>');
299 var s = d.createElement('script');
300 s.type = 'text/javascript';
302 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
303 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
306 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
308 })(window, document);
309 //--><!]]></script></div><div id="footer">
310 <p class="apache">Copyright 2016 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
311 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
312 if (typeof(prettyPrint) !== 'undefined') {