2 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
4 <!-- English Revision : 1452865 -->
5 <!-- French translation : Lucien GENTIS -->
6 <!-- Reviewed by : Vincent Deffontaines -->
10 Licensed to the Apache Software Foundation (ASF) under one or more
11 contributor license agreements. See the NOTICE file distributed with
12 this work for additional information regarding copyright ownership.
13 The ASF licenses this file to You under the Apache License, Version 2.0
14 (the "License"); you may not use this file except in compliance with
15 the License. You may obtain a copy of the License at
17 http://www.apache.org/licenses/LICENSE-2.0
19 Unless required by applicable law or agreed to in writing, software
20 distributed under the License is distributed on an "AS IS" BASIS,
21 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22 See the License for the specific language governing permissions and
23 limitations under the License.
26 <modulesynopsis metafile="mod_ldap.xml.meta">
29 <description>Conservation des connexions LDAP et services de mise en
30 cache du résultat à destination des autres modules LDAP</description>
31 <status>Extension</status>
32 <sourcefile>util_ldap.c</sourcefile>
33 <identifier>ldap_module</identifier>
36 <p>Ce module a été conçu dans le but d'améliorer les performances
37 des sites web s'appuyant sur des connexions en arrière-plan vers des
38 serveurs LDAP. Il ajoute aux fonctions fournies par les
39 bibliothèques standards LDAP la conservation des connexions LDAP
40 ainsi qu'un cache LDAP partagé en mémoire.</p>
42 <p>Pour activer ce module, le support LDAP doit être compilé dans
43 apr-util. Pour ce faire, on ajoute l'option <code>--with-ldap</code>
44 au script <program>configure</program> lorsqu'on construit
47 <p>Le support SSL/TLS est conditionné par le kit de développement
48 LDAP qui a été lié à <glossary>APR</glossary>. Au moment où ces
49 lignes sont écrites, APR-util supporte <a
50 href="http://www.openldap.org/">OpenLDAP SDK</a> (version 2.x ou
51 supérieure), <a
52 href="http://developer.novell.com/ndk/cldap.htm">Novell LDAP
53 SDK</a>, <a href="https://wiki.mozilla.org/LDAP_C_SDK">
54 Mozilla LDAP SDK</a>, le SDK LDAP Solaris natif (basé sur Mozilla)
55 ou le SDK LDAP Microsoft natif. Voir le site web <a
56 href="http://apr.apache.org">APR</a> pour plus de détails.</p>
60 <section id="exampleconfig"><title>Exemple de configuration</title>
61 <p>Ce qui suit est un exemple de configuration qui utilise
62 <module>mod_ldap</module> pour améliorer les performances de
63 l'authentification HTTP de base fournie par
64 <module>mod_authnz_ldap</module>.</p>
66 <highlight language="config">
67 # Active la conservation des connexions LDAP et le cache partagé en
68 # mémoire. Active le gestionnaire de statut du cache LDAP.
69 # Nécessite le chargement de mod_ldap et de mod_authnz_ldap.
70 # Remplacez "votre-domaine.example.com" par le nom de votre
73 LDAPSharedCacheSize 500000
76 LDAPOpCacheEntries 1024
79 <Location /ldap-status>
80 SetHandler ldap-status
82 Require host yourdomain.example.com
86 AuthName "LDAP Protected"
87 AuthBasicProvider ldap
88 AuthLDAPURL ldap://127.0.0.1/dc=example,dc=com?uid?one
94 <section id="pool"><title>Conservation des connexions LDAP</title>
96 <p>Les connexions LDAP sont conservées de requête en requête. Ceci
97 permet de rester connecté et identifié au serveur LDAP, ce dernier
98 étant ainsi prêt pour la prochaine requête, sans avoir à se
99 déconnecter, reconnecter et réidentifier. Le gain en performances
100 est similaire à celui des connexions persistantes (keepalives)
103 <p>Sur un serveur très sollicité, il est possible que de nombreuses
104 requêtes tentent d'accéder simultanément à la même connexion au
105 serveur LDAP. Lorsqu'une connexion LDAP est utilisée, Apache en crée
106 une deuxième en parallèle à la première, ce qui permet d'éviter que
107 le système de conservation des connexions ne devienne un goulot
108 d'étranglement.</p>
110 <p>Il n'est pas nécessaire d'activer explicitement la conservation
111 des connexions dans la configuration d'Apache. Tout module utilisant
112 le module ldap pour accéder aux services LDAP partagera le jeu de
115 <p>Les connexions LDAP peuvent garder la trace des données
116 d'identification du client ldap utilisées pour l'identification
117 auprès du serveur LDAP. Ces données peuvent être fournies aux
118 serveurs LDAP qui ne permettent pas les connexions anonymes au cours
119 lors des tentatives de sauts vers des serveurs alternatifs. Pour
120 contrôler cette fonctionnalité, voir les directives <directive
121 module="mod_ldap">LDAPReferrals</directive> et <directive
122 module="mod_ldap">LDAPReferralHopLimit</directive>. Cette
123 fonctionnalité est activée par défaut.</p>
126 <section id="cache"><title>Cache LDAP</title>
128 <p>Pour améliorer les performances, <module>mod_ldap</module> met en
129 oeuvre une stratégie de mise en cache agressive visant à minimiser
130 le nombre de fois que le serveur LDAP doit être contacté. La mise en
131 cache peut facilement doubler et même tripler le débit d'Apache
132 lorsqu'il sert des pages protégées par mod_authnz_ldap. De plus, le
133 serveur LDAP verra lui-même sa charge sensiblement diminuée.</p>
135 <p><module>mod_ldap</module> supporte deux types de mise en cache
136 LDAP : un <em>cache recherche/identification</em> durant la phase
137 de recherche/identification et deux <em>caches d'opérations</em>
138 durant la phase de comparaison. Chaque URL LDAP utilisée par le
139 serveur a son propre jeu d'instances dans ces trois caches.</p>
141 <section id="search-bind"><title>Le cache
142 recherche/identification</title>
143 <p>Les processus de recherche et d'identification sont les
144 opérations LDAP les plus consommatrices en temps, en particulier
145 si l'annuaire est de grande taille. Le cache de
146 recherche/identification met en cache toutes les recherches qui
147 ont abouti à une identification positive. Les résultats négatifs
148 (c'est à dire les recherches sans succès, ou les recherches qui
149 n'ont pas abouti à une identification positive) ne sont pas mis en
150 cache. La raison de cette décision réside dans le fait que les
151 connexions avec des données d'identification invalides ne
152 représentent qu'un faible pourcentage du nombre total de
153 connexions, et ainsi, le fait de ne pas mettre en cache les
154 données d'identification invalides réduira d'autant la taille du
157 <p><module>mod_ldap</module> met en cache le nom d'utilisateur, le
158 DN extrait, le mot de passe utilisé pour l'identification, ainsi
159 que l'heure de l'identification. Chaque fois qu'une nouvelle
160 connexion est initialisée avec le même nom d'utilisateur,
161 <module>mod_ldap</module> compare le mot de passe de la nouvelle
162 connexion avec le mot de passe enregistré dans le cache. Si les
163 mots de passe correspondent, et si l'entrée du cache n'est pas
164 trop ancienne, <module>mod_ldap</module> court-circuite la phase
165 de recherche/identification.</p>
167 <p>Le cache de recherche/identification est contrôlé par les
168 directives <directive
169 module="mod_ldap">LDAPCacheEntries</directive> et <directive
170 module="mod_ldap">LDAPCacheTTL</directive>.</p>
173 <section id="opcaches"><title>Les caches d'opérations</title>
174 <p>Au cours des opérations de comparaison d'attributs et de noms
175 distinctifs (DN), <module>mod_ldap</module> utilise deux caches
176 d'opérations pour mettre en cache les opérations de comparaison.
177 Le premier cache de comparaison sert à mettre en cache les
178 résultats de comparaisons effectuées pour vérifier l'appartenance
179 à un groupe LDAP. Le second cache de comparaison sert à mettre en
180 cache les résultats de comparaisons entre DNs.</p>
182 <p>Notez que, lorsque l'appartenance à un groupe est vérifiée,
183 toute comparaison de sous-groupes est mise en cache afin
184 d'accélérer les comparaisons de sous-groupes ultérieures.</p>
186 <p>Le comportement de ces deux caches est contrôlé par les
187 directives <directive
188 module="mod_ldap">LDAPOpCacheEntries</directive> et <directive
189 module="mod_ldap">LDAPOpCacheTTL</directive>.</p>
192 <section id="monitoring"><title>Superviser le cache</title>
193 <p><module>mod_ldap</module> possède un gestionnaire de contenu
194 qui permet aux administrateurs de superviser les performances du
195 cache. Le nom du gestionnaire de contenu est
196 <code>ldap-status</code>, et on peut utiliser les directives
197 suivantes pour accéder aux informations du cache de
198 <module>mod_ldap</module> :</p>
200 <highlight language="config">
201 <Location /server/cache-info>
202 SetHandler ldap-status
206 <p>En se connectant à l'URL
207 <code>http://nom-serveur/infos-cache</code>, l'administrateur peut
208 obtenir un rapport sur le statut de chaque cache qu'utilise
209 <module>mod_ldap</module>. Notez que si Apache ne supporte pas la
210 mémoire partagée, chaque instance de <program>httpd</program>
211 possèdera son propre cache, et chaque fois que l'URL sera
212 rechargée, un résultat différent pourra être affiché, en fonction
213 de l'instance de <program>httpd</program> qui traitera la
218 <section id="usingssltls"><title>Utiliser SSL/TLS</title>
220 <p>La possibilité de créer des connexions SSL et TLS avec un serveur
221 LDAP est définie par les directives <directive module="mod_ldap">
222 LDAPTrustedGlobalCert</directive>, <directive module="mod_ldap">
223 LDAPTrustedClientCert</directive> et <directive module="mod_ldap">
224 LDAPTrustedMode</directive>. Ces directives permettent de spécifier
225 l'autorité de certification (CA), les certificats clients éventuels,
226 ainsi que le type de chiffrement à utiliser pour la connexion (none,
227 SSL ou TLS/STARTTLS).</p>
229 <highlight language="config">
230 # Etablissement d'une connexion SSL LDAP sur le port 636.
231 # Nécessite le chargement de mod_ldap et mod_authnz_ldap.
232 # Remplacez "votre-domaine.example.com" par le nom de votre
235 LDAPTrustedGlobalCert CA_DER /certs/certfile.der
237 <Location /ldap-status>
238 SetHandler ldap-status
240 Require host yourdomain.example.com
244 AuthName "LDAP Protected"
245 AuthBasicProvider ldap
246 AuthLDAPURL ldaps://127.0.0.1/dc=example,dc=com?uid?one
251 <highlight language="config">
252 # Etablissement d'une connexion TLS LDAP sur le port 389.
253 # Nécessite le chargement de mod_ldap et mod_authnz_ldap.
254 # Remplacez "votre-domaine.example.com" par le nom de votre
257 LDAPTrustedGlobalCert CA_DER /certs/certfile.der
259 <Location /ldap-status>
260 SetHandler ldap-status
262 Require host yourdomain.example.com
266 AuthName "LDAP Protected"
267 AuthBasicProvider ldap
268 AuthLDAPURL ldap://127.0.0.1/dc=example,dc=com?uid?one TLS
275 <section id="settingcerts"><title>Certificats SSL/TLS</title>
277 <p>Les différents SDKs LDAP disposent de nombreuses méthodes pour
278 définir et gérer les certificats des clients et des autorités de
279 certification (CA).</p>
281 <p>Si vous avez l'intention d'utiliser SSL ou TLS, lisez cette
282 section ATTENTIVEMENT de façon à bien comprendre les différences de
283 configurations entre les différents SDKs LDAP supportés.</p>
285 <section id="settingcerts-netscape"><title>SDK Netscape/Mozilla/iPlanet</title>
286 <p>Les certificat de CA sont enregistrés dans un fichier nommé
287 cert7.db. Le SDK ne dialoguera avec aucun serveur LDAP dont le
288 certificat n'a pas été signé par une CA spécifiée dans ce
289 fichier. Si des certificats clients sont requis, un fichier
290 key3.db ainsi qu'un mot de passe optionnels peuvent être
291 spécifiés. On peut aussi spécifier le fichier secmod si
292 nécessaire. Ces fichiers sont du même format que celui utilisé
293 par les navigateurs web Netscape Communicator ou Mozilla. Le
294 moyen le plus simple pour obtenir ces fichiers consiste à les
295 extraire de l'installation de votre navigateur.</p>
297 <p>Les certificats clients sont spécifiés pour chaque connexion
298 en utilisant la directive LDAPTrustedClientCert et en se
299 référant au certificat "nickname". On peut éventuellement
300 spécifier un mot de passe pour déverrouiller la clé privée du
303 <p>Le SDK supporte seulement SSL. Toute tentative d'utilisation
304 de STARTTLS engendrera une erreur lors des tentatives de
305 contacter le serveur LDAP pendant l'exécution.</p>
307 <highlight language="config">
308 # Spécifie un fichier de certificats de CA Netscape
309 LDAPTrustedGlobalCert CA_CERT7_DB /certs/cert7.db
310 # Spécifie un fichier key3db optionnel pour le support des
311 # certificats clients
312 LDAPTrustedGlobalCert CERT_KEY3_DB /certs/key3.db
313 # Spécifie le fichier secmod si nécessaire
314 LDAPTrustedGlobalCert CA_SECMOD /certs/secmod
315 <Location /ldap-status>
316 SetHandler ldap-status
318 Require host yourdomain.example.com
322 AuthName "LDAP Protected"
323 AuthBasicProvider ldap
324 LDAPTrustedClientCert CERT_NICKNAME <nickname> [password]
325 AuthLDAPURL ldaps://127.0.0.1/dc=example,dc=com?uid?one
332 <section id="settingcerts-novell"><title>SDK Novell</title>
334 <p>Un ou plusieurs certificats de CA doivent être spécifiés pour
335 que le SDK Novell fonctionne correctement. Ces certificats
336 peuvent être spécifiés sous forme de fichiers au format binaire
337 DER ou codés en Base64 (PEM).</p>
339 <p>Note: Les certificats clients sont spécifiés globalement
340 plutôt qu'à chaque connexion, et doivent être spécifiés à l'aide
341 de la directive LDAPTrustedGlobalCert comme ci-dessous. Définir
342 des certificats clients via la directive LDAPTrustedClientCert
343 engendrera une erreur qui sera journalisée, au moment de la
344 tentative de connexion avec le serveur LDAP.</p>
346 <p>Le SDK supporte SSL et STARTTLS, le choix étant défini par le
347 paramètre de la directive LDAPTrustedMode. Si une URL de type
348 ldaps:// est spécifiée, le mode SSL est forcé, et l'emporte sur
351 <highlight language="config">
352 # Spécifie deux fichiers contenant des certificats de CA
353 LDAPTrustedGlobalCert CA_DER /certs/cacert1.der
354 LDAPTrustedGlobalCert CA_BASE64 /certs/cacert2.pem
355 # Spécifie un fichier contenant des certificats clients
356 # ainsi qu'une clé
357 LDAPTrustedGlobalCert CERT_BASE64 /certs/cert1.pem
358 LDAPTrustedGlobalCert KEY_BASE64 /certs/key1.pem [password]
359 # N'utilisez pas cette directive, sous peine de provoquer
361 #LDAPTrustedClientCert CERT_BASE64 /certs/cert1.pem
366 <section id="settingcerts-openldap"><title>SDK OpenLDAP</title>
368 <p>Un ou plusieurs certificats de CA doivent être spécifiés pour
369 que le SDK OpenLDAP fonctionne correctement. Ces certificats
370 peuvent être spécifiés sous forme de fichiers au format binaire
371 DER ou codés en Base64 (PEM).</p>
373 <p>Les certificats clients sont spécifiés pour chaque connexion
374 à l'aide de la directive LDAPTrustedClientCert.</p>
376 <p>La documentation du SDK prétend que SSL et STARTTLS sont
377 supportés ; cependant, STARTTLS semble ne pas fonctionner avec
378 toutes les versions du SDK. Le mode SSL/TLS peut être défini en
379 utilisant le paramètre de la directive LDAPTrustedMode. Si une
381 ldaps:// est spécifiée, le mode SSL est forcé. La documentation
382 OpenLDAP indique que le support SSL (ldaps://) tend à être
383 remplacé par TLS, bien que le mode SSL fonctionne toujours.</p>
385 <highlight language="config">
386 # Spécifie deux fichiers contenant des certificats de CA
387 LDAPTrustedGlobalCert CA_DER /certs/cacert1.der
388 LDAPTrustedGlobalCert CA_BASE64 /certs/cacert2.pem
389 <Location /ldap-status>
390 SetHandler ldap-status
392 Require host yourdomain.example.com
394 LDAPTrustedClientCert CERT_BASE64 /certs/cert1.pem
395 LDAPTrustedClientCert KEY_BASE64 /certs/key1.pem
396 # CA certs respecified due to per-directory client certs
397 LDAPTrustedClientCert CA_DER /certs/cacert1.der
398 LDAPTrustedClientCert CA_BASE64 /certs/cacert2.pem
401 AuthName "LDAP Protected"
402 AuthBasicProvider ldap
403 AuthLDAPURL ldaps://127.0.0.1/dc=example,dc=com?uid?one
410 <section id="settingcerts-solaris"><title>SDK Solaris</title>
412 <p>SSL/TLS pour les bibliothèques LDAP propres à Solaris n'est
413 pas encore supporté. Si nécessaire, installez et utilisez plutôt
414 les bibliothèques OpenLDAP.</p>
418 <section id="settingcerts-microsoft"><title>SDK Microsoft</title>
420 <p>La configuration des certificats SSL/TLS pour les
421 bibliothèques LDAP propres à Microsoft s'effectue à l'intérieur
422 du registre système, et aucune directive de configuration n'est
425 <p>SSL et TLS sont tous deux supportés en utilisant des URLs de
426 type ldaps://, ou en définissant la directive LDAPTrustedMode à
429 <p>Note: L'état du support des certificats clients n'est pas
430 encore connu pour ce SDK.</p>
437 <name>LDAPSharedCacheSize</name>
438 <description>Taille en octets du cache en mémoire partagée</description>
439 <syntax>LDAPSharedCacheSize <var>octets</var></syntax>
440 <default>LDAPSharedCacheSize 500000</default>
441 <contextlist><context>server config</context></contextlist>
444 <p>Cette directive permet de spécifier le nombre d'octets à allouer
445 pour le cache en mémoire partagée. La valeur par
446 défaut est 500kb.
447 Si elle est définie à 0, le cache en mémoire partagée ne sera pas
448 utilisé et chaque processus HTTPD va créer son propre cache.</p>
453 <name>LDAPSharedCacheFile</name>
454 <description>Définit le fichier du cache en mémoire
455 partagée</description>
456 <syntax>LDAPSharedCacheFile <var>chemin-fichier</var></syntax>
457 <contextlist><context>server config</context></contextlist>
460 <p>Cette directive permet de spécifier le chemin du
461 fichier du cache en mémoire partagée. Si elle n'est pas définie, la
462 mémoire partagée anonyme sera utilisée si la plate-forme la
465 <p>Si <var>chemin-fichier</var> n'est pas un chemin absolu, il sera
466 relatif au répertoire défini via la directive <directive
467 module="core">DefaultRuntimeDir</directive>.</p>
472 <name>LDAPCacheEntries</name>
473 <description>Nombre maximum d'entrées dans le cache LDAP
474 primaire</description>
475 <syntax>LDAPCacheEntries <var>nombre</var></syntax>
476 <default>LDAPCacheEntries 1024</default>
477 <contextlist><context>server config</context></contextlist>
480 <p>Cette directive permet de spécifier la taille maximale du cache
481 LDAP primaire. Ce cache contient les résultats de
482 recherche/identification positifs. Définissez-la à 0 pour désactiver
483 la mise en cache des résultats de recherche/identification positifs.
484 La taille par défaut est de 1024 recherches en cache.</p>
489 <name>LDAPCacheTTL</name>
490 <description>Durée pendant laquelle les entrées du cache restent
491 valides.</description>
492 <syntax>LDAPCacheTTL <var>secondes</var></syntax>
493 <default>LDAPCacheTTL 600</default>
494 <contextlist><context>server config</context></contextlist>
497 <p>Cette directive permet de spécifier la durée (en secondes)
498 pendant laquelle une entrée du cache de recherche/identification
499 reste valide. La valeur par défaut est de 600 secondes (10
505 <name>LDAPOpCacheEntries</name>
506 <description>Nombre d'entrées utilisées pour mettre en cache les
507 opérations de comparaison LDAP</description>
508 <syntax>LDAPOpCacheEntries <var>nombre</var></syntax>
509 <default>LDAPOpCacheEntries 1024</default>
510 <contextlist><context>server config</context></contextlist>
513 <p>Cette directive permet de spécifier le nombre d'entrées que
514 <module>mod_ldap</module> va utiliser pour mettre en cache les
515 opérations de comparaison LDAP. La valeur par défaut est de 1024
516 entrées. Si elle est définie à 0, la mise en cache des opérations de
517 comparaison LDAP est désactivée.</p>
522 <name>LDAPOpCacheTTL</name>
523 <description>Durée pendant laquelle les entrées du cache d'opérations
524 restent valides</description>
525 <syntax>LDAPOpCacheTTL <var>secondes</var></syntax>
526 <default>LDAPOpCacheTTL 600</default>
527 <contextlist><context>server config</context></contextlist>
530 <p>Cette directive permet de spécifier la durée (en secondes)
531 pendant laquelle les entrées du cache d'opérations restent valides.
532 La valeur par défaut est de 600 secondes.</p>
537 <name>LDAPReferralHopLimit</name>
538 <description>Le nombre maximum de redirections vers des serveurs
539 alternatifs (referrals) avant l'abandon de la requête
541 <syntax>LDAPReferralHopLimit <var>nombre</var></syntax>
542 <default>Dépend du SDK, en général entre 5 et 10</default>
543 <contextlist><context>directory</context><context>.htaccess</context></contextlist>
544 <override>AuthConfig</override>
547 <p>Si elle est activée par la directive <code>LDAPReferrals</code>,
548 cette directive permet de définir le nombre maximum de sauts vers
549 des serveurs alternatifs (referrals) avant l'abandon de la requête
552 <note type="warning">
553 <p>L'ajustement de ce paramètre n'est pas commun à tous les SDKs LDAP.</p>
559 <name>LDAPReferrals</name>
560 <description>Active la redirection vers des serveurs alternatifs au
561 cours des requêtes vers le serveur LDAP.</description>
562 <syntax>LDAPReferrals <var>On|Off</var></syntax>
563 <default>LDAPReferrals On</default>
564 <contextlist><context>directory</context><context>.htaccess</context></contextlist>
565 <override>AuthConfig</override>
568 <p>Certains serveurs LDAP partagent leur annuaire en plusieurs
569 domaines et utilisent le système des redirections (referrals) pour
570 aiguiller un client lorsque les limites d'un domaine doivent être
571 franchies. En définissant <code>LDAPReferrals On</code>, les
572 redirections seront prises en compte (et bien entendu, en
573 définissant <code>LDAPReferrals Off</code>, les redirections seront
574 ignorées). La directive <code>LDAPReferralHopLimit</code> complète
575 cette directive en définissant le nombre maximum de redirections à
576 suivre avant l'abandon de la requête LDAP. Lorsque le traitement des
577 redirections est activé, les données d'identification du client
578 seront fournies, via un appel (callback) de réidentification, à tout
579 serveur LDAP qui en fera la demande.</p>
584 <name>LDAPRetryDelay</name>
585 <description>Définit le temps d'attente avant un autre essai de connexion au
586 serveur LDAP.</description>
587 <syntax>LDAPRetryDelay <var>secondes</var></syntax>
588 <default>LDAPRetryDelay 0</default>
589 <contextlist><context>server config</context></contextlist>
592 <p>Si la directive <directive>LDAPRetryDelay</directive> est définie
593 à une valeur différente de 0, le serveur attendra pendant la durée
594 spécifiée pour envoyer à nouveau sa requête LDAP. Une valeur de 0
595 implique une absence de délai pour les essais successifs.</p>
597 <p>Il est possible d'effectuer une autre tentative de connexion en
598 cas d'erreurs LDAP du type délai dépassé ou connexion refusée. </p>
603 <name>LDAPRetries</name>
604 <description>Définit le nombre maximum de tentatives de connexions au
605 serveur LDAP.</description>
606 <syntax>LDAPRetries <var>nombre d'essais</var></syntax>
607 <default>LDAPRetries 3</default>
608 <contextlist><context>server config</context></contextlist>
610 <p>Suite à des échecs de connexion au serveur LDAP, le serveur
611 tentera de se connecter autant de fois qu'indiqué par la directive
612 <directive>LDAPRetries</directive>. Si cette directive est définie à
613 0, le serveur ne tentera pas d'autre connexion après un échec.</p>
614 <p>Il est possible d'effectuer une autre tentative de connexion en
615 cas d'erreurs LDAP du type délai dépassé ou connexion refusée. </p>
620 <name>LDAPTrustedGlobalCert</name>
621 <description>Définit le nom de fichier ou la base de données contenant
622 les Autorités de Certification de confiance globales ou les certificats
623 clients globaux</description>
624 <syntax>LDAPTrustedGlobalCert <var>type</var>
625 <var>chemin/nom-fichier</var> <var>[mot de passe]</var></syntax>
626 <contextlist><context>server config</context></contextlist>
629 <p>Cette directive permet de spécifier le chemin et le nom du
630 fichier contenant les certificats des CA de confiance et/ou les
631 certificats clients du système global que <module>mod_ldap</module>
632 utilisera pour établir une connexion SSL ou TLS avec un serveur
633 LDAP. Notez que toute information relative aux certificats spécifiée
634 en utilisant cette directive s'applique globalement à l'ensemble de
635 l'installation du serveur. Certains SDK LDAP (en particulier Novell)
636 nécessitent la définition globale de tous les certificats clients en
637 utilisant cette directive. La plupart des autres SDK nécessitent la
638 définition des certificats clients dans une section Directory ou
639 Location en utilisant la directive LDAPTrustedClientCert. Si vous ne
640 définissez pas ces directives correctement, une erreur sera générée
641 lors des tentatives de contact avec un serveur LDAP, ou la connexion
642 échouera silencieusement (Voir plus haut le guide des certificats
643 SSL/TLS pour plus de détails). Le paramètre type spécifie le type de
644 certificat en cours de définition, en fonction du SDK LDAP utilisé.
645 Les types supportés sont :</p>
647 <li>CA_DER - certificat de CA codé en binaire DER</li>
648 <li>CA_BASE64 - certificat de CA codé en PEM</li>
649 <li>CA_CERT7_DB - fichier de base de données des certificats de CA
650 de Netscape cert7.db</li>
651 <li>CA_SECMOD - fichier de base de données secmod de Netscape</li>
652 <li>CERT_DER - certificat client codé en binaire DER</li>
653 <li>CERT_BASE64 - certificat client codé en PEM</li>
654 <li>CERT_KEY3_DB - fichier de base de données des certificats
655 clients de Netscape key3.db</li>
656 <li>CERT_NICKNAME - certificat client "nickname" (SDK Netscape)</li>
657 <li>CERT_PFX - certificat client codé en PKCS#12 (SDK Novell)</li>
658 <li>KEY_DER - clé privée codée en binaire DER</li>
659 <li>KEY_BASE64 - clé privée codée en PEM</li>
660 <li>KEY_PFX - clé privée codée en PKCS#12 (SDK Novell)</li>
666 <name>LDAPTrustedClientCert</name>
667 <description>Définit le nom de fichier contenant un certificat client ou
668 un alias renvoyant vers un certificat client spécifique à une connexion.
669 Tous les SDK LDAP ne supportent pas les certificats clients par
670 connexion.</description>
671 <syntax>LDAPTrustedClientCert <var>type</var>
672 <var>chemin/nom-fichier/alias</var> <var>[mot de passe]</var></syntax>
673 <contextlist><context>server config</context><context>virtual
674 host</context><context>directory</context><context>.htaccess</context></contextlist>
677 <p>Cette directive permet de spécifier le chemin et le nom de
678 fichier ou l'alias d'un certificat client par connexion utilisé lors
679 de l'établissement d'une connexion SSL ou TLS avec un serveur LDAP.
680 Les sections directory ou location peuvent posséder leurs propres
681 configurations de certificats clients. Certains SDK LDAP (en
682 particulier Novell) ne supportent pas les certificats clients par
683 connexion, et renvoient une erreur lors de la connexion au serveur
684 LDAP si vous tenter d'utiliser cette directive (Utilisez à la place
685 la directive LDAPTrustedGlobalCert pour les certificats clients sous
686 Novell - Voir plus haut le guide des certificats SSL/TLS pour plus
687 de détails). Le paramètre type spécifie le type du certificat en
688 cours de définition, en fonction du SDK LDAP utilisé. Les types
689 supportés sont :</p>
691 <li>CA_DER - certificat de CA codé en binaire DER</li>
692 <li>CA_BASE64 - certificat de CA codé en PEM</li>
693 <li>CERT_DER - certificat client codé en binaire DER</li>
694 <li>CERT_BASE64 - certificat client codé en PEM</li>
695 <li>CERT_NICKNAME - certificat client "nickname" (SDK Netscape)</li>
696 <li>KEY_DER - clé privée codée en binaire DER</li>
697 <li>KEY_BASE64 - clé privée codée en PEM</li>
703 <name>LDAPTrustedMode</name>
704 <description>Spécifie le mode (SSL ou TLS) à utiliser lors de la
705 connexion à un serveur LDAP.</description>
706 <syntax>LDAPTrustedMode <var>type</var></syntax>
707 <contextlist><context>server config</context><context>virtual
708 host</context></contextlist>
711 <p>Les modes suivants sont supportés :</p>
713 <li>NONE - aucun chiffrement</li>
714 <li>SSL - chiffrement ldaps:// sur le port par défaut 636</li>
715 <li>TLS - chiffrement STARTTLS sur le port par défaut 389</li>
718 <p>Les modes ci-dessus ne sont pas supportés par tous les SDK LDAP.
719 Un message d'erreur sera généré à l'exécution si un mode n'est pas
720 supporté, et la connexion au serveur LDAP échouera.
723 <p>Si une URL de type ldaps:// est spécifiée, le mode est forcé à
724 SSL et la définition de LDAPTrustedMode est ignorée.</p>
729 <name>LDAPConnectionTimeout</name>
730 <description>Spécifie le délai d'attente en secondes de la socket de
731 connexion</description>
732 <syntax>LDAPConnectionTimeout <var>secondes</var></syntax>
733 <contextlist><context>server config</context></contextlist>
736 <p>Cette directive configure l'option LDAP_OPT_NETWORK_TIMEOUT (ou
737 LDAP_OPT_CONNECT_TIMEOUT) dans la bibliothèque client LDAP
738 sous-jacente, si elle est disponible. Cette valeur représente la
739 durée pendant laquelle la bibliothèque client LDAP va attendre que
740 le processus de connexion TCP au serveur LDAP soit achevé.</p>
742 <p>Si la connexion n'a pas réussi avant ce délai, une erreur sera
743 renvoyée, ou la bibliothèque client LDAP tentera de se connecter à
744 un second serveur LDAP, s'il en a été défini un (via une liste de
745 noms d'hôtes séparés par des espaces dans la directive <directive
746 module="mod_authnz_ldap">AuthLDAPURL</directive>).</p>
748 <p>La valeur par défaut est 10 secondes, si la bibliothèque client
749 LDAP liée avec le serveur supporte l'option
750 LDAP_OPT_NETWORK_TIMEOUT.</p>
752 <note>LDAPConnectionTimeout n'est disponible que si la bibliothèque client
753 LDAP liée avec le serveur supporte l'option
754 LDAP_OPT_NETWORK_TIMEOUT (ou LDAP_OPT_CONNECT_TIMEOUT), et le
755 comportement final est entièrement dicté par la bibliothèque client
762 <name>LDAPTimeout</name>
763 <description>Spécifie le délai d'attente pour les opérations de
764 recherche et d'identification LDAP en secondes</description>
765 <syntax>LDAPTimeout <var>secondes</var></syntax>
766 <default>LDAPTimeout 60</default>
767 <contextlist><context>server config</context></contextlist>
768 <compatibility>Disponible à partir de la version 2.3.5 du serveur HTTP
769 Apache</compatibility>
772 <p>Cette directive permet de spécifier le délai d'attente pour les
773 opérations de recherche et d'identification, ainsi que l'option
774 LDAP_OPT_TIMEOUT dans la bibliothèque LDAP client sous-jacente,
775 lorsqu'elle est disponible.</p>
777 <p>Lorsque le délai est atteint, httpd va refaire un essai dans le
778 cas où une connexion existante a été silencieusement fermée par un
779 pare-feu. Les performances seront cependant bien meilleures si le
780 pare-feu est configuré pour envoyer des paquets TCP RST au lieu de
781 rejeter silencieusement les paquets.</p>
784 <p>Les délais pour les opérations de comparaison LDAP nécessitent un
785 SDK avec LDAP_OPT_TIMEOUT, comme OpenLDAP >= 2.4.4.</p>
792 <name>LDAPVerifyServerCert</name>
793 <description>Force la vérification du certificat du
794 serveur</description>
795 <syntax>LDAPVerifyServerCert <var>On|Off</var></syntax>
796 <default>LDAPVerifyServerCert On</default>
797 <contextlist><context>server config</context></contextlist>
800 <p>Cette directive permet de spécifier s'il faut forcer la
801 vérification d'un certificat de serveur lors de l'établissement
802 d'une connexion SSL avec un serveur LDAP.</p>
807 <name>LDAPConnectionPoolTTL</name>
808 <description>Désactive les connexions d'arrière-plan qui sont restées
809 inactives trop longtemps au sein du jeu de connexions.</description>
810 <syntax>LDAPConnectionPoolTTL <var>n</var></syntax>
811 <default>LDAPConnectionPoolTTL -1</default>
812 <contextlist><context>server config</context><context>virtual host</context></contextlist>
813 <compatibility>Disponible à partir de la version 2.3.12 du serveur HTTP
814 Apache</compatibility>
817 <p>Cette directive permet de spécifier la durée maximale, en
818 secondes, pendant laquelle une connexion LDAP du jeu de connexions
819 peut demeurer inactive, mais rester quand-même disponible pour une
820 utilisation éventuelle. Le jeu de connexions est nettoyé au fur et à
821 mesure des besoins, de manière non asynchrone.</p>
823 <p>Si cette directive est définie à 0, les connexions ne sont jamais
824 sauvegardées dans le jeu de connexions d'arrière-plan. Avec la
825 valeur par défaut -1, ou toute autre valeur négative, les connexions
826 peuvent être réutilisées sans limite de durée.</p>
828 <p>La durée de vie est basée sur le moment où la connexion LDAP est
829 remise en attente dans le jeu de connexions , et non sur la dernière
830 entrée/sortie effectuée sur le serveur d'arrière-plan. Si
831 l'information est mise en cache, la durée d'inactivité apparente
832 peut excéder la valeur de la directive
833 <directive>LDAPConnectionPoolTTL</directive>.</p>
835 <note><p>Cette durée de vie s'exprime par défaut en secondes, mais
836 il est possible d'utiliser d'autres unités en ajoutant un suffixe :
837 millisecondes (ms), minutes (min), ou heures (h).
843 <name>LDAPLibraryDebug</name>
844 <description>Active le débogage dans le SDK LDAP</description>
845 <syntax>LDAPLibraryDebug <var>7</var></syntax>
846 <default>disabled</default>
847 <contextlist><context>server config</context></contextlist>
850 <p>Active les options de débogage LDAP spécifiques au SDK, qui
851 entraînent en général une journalisation d'informations verbeuses du
852 SDK LDAP dans le journal principal des erreurs d'Apache. Les
853 messages de traces en provenance du SDK LDAP fournissent des
854 informations très détaillées qui peuvent s'avérer utiles lors du
855 débogage des problèmes de connexion avec des serveurs LDAP
856 d'arrière-plan.</p>
858 <p>Cette option n'est configurable que lorsque le serveur HTTP
859 Apache est lié avec un SDK LDAP qui implémente
860 <code>LDAP_OPT_DEBUG</code> ou <code>LDAP_OPT_DEBUG_LEVEL</code>,
861 comme OpenLDAP (une valeur de 7 est verbeuse) ou Tivoli Directory
862 Server (une valeur de 65535 est verbeuse).</p>
864 <note type="warning">
865 <p>Les informations journalisées peuvent contenir des données
866 d'authentification en clair utilisées ou validées lors de
867 l'authentification LDAP ; vous devez donc prendre soin de protéger
868 et de purger le journal des erreurs lorsque cette directive est