| <?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: 1780218 --> |
| <!-- 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_ldap.xml.meta"> |
| |
| <name>mod_ldap</name> |
| <description>Conservation des connexions LDAP et services de mise en |
| cache du résultat à destination des autres modules LDAP</description> |
| <status>Extension</status> |
| <sourcefile>util_ldap.c</sourcefile> |
| <identifier>ldap_module</identifier> |
| |
| <summary> |
| <p>Ce module a été conçu dans le but d'améliorer les performances |
| des sites web s'appuyant sur des connexions en arrière-plan vers des |
| serveurs LDAP. Il ajoute aux fonctions fournies par les |
| bibliothèques standards LDAP la conservation des connexions LDAP |
| ainsi qu'un cache LDAP partagé en mémoire.</p> |
| |
| <p>Pour activer ce module, le support LDAP doit être compilé dans |
| apr-util. Pour ce faire, on ajoute l'option <code>--with-ldap</code> |
| au script <program>configure</program> lorsqu'on construit |
| Apache.</p> |
| |
| <p>Le support SSL/TLS est conditionné par le kit de développement |
| LDAP qui a été lié à <glossary>APR</glossary>. Au moment où ces |
| lignes sont écrites, APR-util supporte <a |
| href="http://www.openldap.org/">OpenLDAP SDK</a> (version 2.x ou |
| supérieure), <a |
| href="http://developer.novell.com/ndk/cldap.htm">Novell LDAP |
| SDK</a>, <a href="https://wiki.mozilla.org/LDAP_C_SDK"> |
| Mozilla LDAP SDK</a>, le SDK LDAP Solaris natif (basé sur Mozilla) |
| ou le SDK LDAP Microsoft natif. Voir le site web <a |
| href="http://apr.apache.org">APR</a> pour plus de détails.</p> |
| |
| </summary> |
| |
| <section id="exampleconfig"><title>Exemple de configuration</title> |
| <p>Ce qui suit est un exemple de configuration qui utilise |
| <module>mod_ldap</module> pour améliorer les performances de |
| l'authentification HTTP de base fournie par |
| <module>mod_authnz_ldap</module>.</p> |
| |
| <highlight language="config"> |
| # Active la conservation des connexions LDAP et le cache partagé en |
| # mémoire. Active le gestionnaire de statut du cache LDAP. |
| # Nécessite le chargement de mod_ldap et de mod_authnz_ldap. |
| # Remplacez "votre-domaine.example.com" par le nom de votre |
| # domaine. |
| |
| LDAPSharedCacheSize 500000 |
| LDAPCacheEntries 1024 |
| LDAPCacheTTL 600 |
| LDAPOpCacheEntries 1024 |
| LDAPOpCacheTTL 600 |
| |
| <Location "/ldap-status"> |
| SetHandler ldap-status |
| |
| Require host yourdomain.example.com |
| |
| Satisfy any |
| AuthType Basic |
| AuthName "LDAP Protected" |
| AuthBasicProvider ldap |
| AuthLDAPURL "ldap://127.0.0.1/dc=example,dc=com?uid?one" |
| Require valid-user |
| </Location> |
| </highlight> |
| </section> |
| |
| <section id="pool"><title>Conservation des connexions LDAP</title> |
| |
| <p>Les connexions LDAP sont conservées de requête en requête. Ceci |
| permet de rester connecté et identifié au serveur LDAP, ce dernier |
| étant ainsi prêt pour la prochaine requête, sans avoir à se |
| déconnecter, reconnecter et réidentifier. Le gain en performances |
| est similaire à celui des connexions persistantes (keepalives) |
| HTTP.</p> |
| |
| <p>Sur un serveur très sollicité, il est possible que de nombreuses |
| requêtes tentent d'accéder simultanément à la même connexion au |
| serveur LDAP. Lorsqu'une connexion LDAP est utilisée, Apache en crée |
| une deuxième en parallèle à la première, ce qui permet d'éviter que |
| le système de conservation des connexions ne devienne un goulot |
| d'étranglement.</p> |
| |
| <p>Il n'est pas nécessaire d'activer explicitement la conservation |
| des connexions dans la configuration d'Apache. Tout module utilisant |
| le module ldap pour accéder aux services LDAP partagera le jeu de |
| connexions.</p> |
| |
| <p>Les connexions LDAP peuvent garder la trace des données |
| d'identification du client ldap utilisées pour l'identification |
| auprès du serveur LDAP. Ces données peuvent être fournies aux |
| serveurs LDAP qui ne permettent pas les connexions anonymes au cours |
| lors des tentatives de sauts vers des serveurs alternatifs. Pour |
| contrôler cette fonctionnalité, voir les directives <directive |
| module="mod_ldap">LDAPReferrals</directive> et <directive |
| module="mod_ldap">LDAPReferralHopLimit</directive>. Cette |
| fonctionnalité est activée par défaut.</p> |
| </section> |
| |
| <section id="cache"><title>Cache LDAP</title> |
| |
| <p>Pour améliorer les performances, <module>mod_ldap</module> met en |
| oeuvre une stratégie de mise en cache agressive visant à minimiser |
| le nombre de fois que le serveur LDAP doit être contacté. La mise en |
| cache peut facilement doubler et même tripler le débit d'Apache |
| lorsqu'il sert des pages protégées par mod_authnz_ldap. De plus, le |
| serveur LDAP verra lui-même sa charge sensiblement diminuée.</p> |
| |
| <p><module>mod_ldap</module> supporte deux types de mise en cache |
| LDAP : un <em>cache recherche/identification</em> durant la phase |
| de recherche/identification et deux <em>caches d'opérations</em> |
| durant la phase de comparaison. Chaque URL LDAP utilisée par le |
| serveur a son propre jeu d'instances dans ces trois caches.</p> |
| |
| <section id="search-bind"><title>Le cache |
| recherche/identification</title> |
| <p>Les processus de recherche et d'identification sont les |
| opérations LDAP les plus consommatrices en temps, en particulier |
| si l'annuaire est de grande taille. Le cache de |
| recherche/identification met en cache toutes les recherches qui |
| ont abouti à une identification positive. Les résultats négatifs |
| (c'est à dire les recherches sans succès, ou les recherches qui |
| n'ont pas abouti à une identification positive) ne sont pas mis en |
| cache. La raison de cette décision réside dans le fait que les |
| connexions avec des données d'identification invalides ne |
| représentent qu'un faible pourcentage du nombre total de |
| connexions, et ainsi, le fait de ne pas mettre en cache les |
| données d'identification invalides réduira d'autant la taille du |
| cache.</p> |
| |
| <p><module>mod_ldap</module> met en cache le nom d'utilisateur, le |
| DN extrait, le mot de passe utilisé pour l'identification, ainsi |
| que l'heure de l'identification. Chaque fois qu'une nouvelle |
| connexion est initialisée avec le même nom d'utilisateur, |
| <module>mod_ldap</module> compare le mot de passe de la nouvelle |
| connexion avec le mot de passe enregistré dans le cache. Si les |
| mots de passe correspondent, et si l'entrée du cache n'est pas |
| trop ancienne, <module>mod_ldap</module> court-circuite la phase |
| de recherche/identification.</p> |
| |
| <p>Le cache de recherche/identification est contrôlé par les |
| directives <directive |
| module="mod_ldap">LDAPCacheEntries</directive> et <directive |
| module="mod_ldap">LDAPCacheTTL</directive>.</p> |
| </section> |
| |
| <section id="opcaches"><title>Les caches d'opérations</title> |
| <p>Au cours des opérations de comparaison d'attributs et de noms |
| distinctifs (DN), <module>mod_ldap</module> utilise deux caches |
| d'opérations pour mettre en cache les opérations de comparaison. |
| Le premier cache de comparaison sert à mettre en cache les |
| résultats de comparaisons effectuées pour vérifier l'appartenance |
| à un groupe LDAP. Le second cache de comparaison sert à mettre en |
| cache les résultats de comparaisons entre DNs.</p> |
| |
| <p>Notez que, lorsque l'appartenance à un groupe est vérifiée, |
| toute comparaison de sous-groupes est mise en cache afin |
| d'accélérer les comparaisons de sous-groupes ultérieures.</p> |
| |
| <p>Le comportement de ces deux caches est contrôlé par les |
| directives <directive |
| module="mod_ldap">LDAPOpCacheEntries</directive> et <directive |
| module="mod_ldap">LDAPOpCacheTTL</directive>.</p> |
| </section> |
| |
| <section id="monitoring"><title>Superviser le cache</title> |
| <p><module>mod_ldap</module> possède un gestionnaire de contenu |
| qui permet aux administrateurs de superviser les performances du |
| cache. Le nom du gestionnaire de contenu est |
| <code>ldap-status</code>, et on peut utiliser les directives |
| suivantes pour accéder aux informations du cache de |
| <module>mod_ldap</module> :</p> |
| |
| <highlight language="config"> |
| <Location "/server/cache-info"> |
| SetHandler ldap-status |
| </Location> |
| </highlight> |
| |
| <p>En se connectant à l'URL |
| <code>http://nom-serveur/infos-cache</code>, l'administrateur peut |
| obtenir un rapport sur le statut de chaque cache qu'utilise |
| <module>mod_ldap</module>. Notez que si Apache ne supporte pas la |
| mémoire partagée, chaque instance de <program>httpd</program> |
| possèdera son propre cache, et chaque fois que l'URL sera |
| rechargée, un résultat différent pourra être affiché, en fonction |
| de l'instance de <program>httpd</program> qui traitera la |
| requête.</p> |
| </section> |
| </section> |
| |
| <section id="usingssltls"><title>Utiliser SSL/TLS</title> |
| |
| <p>La possibilité de créer des connexions SSL et TLS avec un serveur |
| LDAP est définie par les directives <directive module="mod_ldap"> |
| LDAPTrustedGlobalCert</directive>, <directive module="mod_ldap"> |
| LDAPTrustedClientCert</directive> et <directive module="mod_ldap"> |
| LDAPTrustedMode</directive>. Ces directives permettent de spécifier |
| l'autorité de certification (CA), les certificats clients éventuels, |
| ainsi que le type de chiffrement à utiliser pour la connexion (none, |
| SSL ou TLS/STARTTLS).</p> |
| |
| <highlight language="config"> |
| # Etablissement d'une connexion SSL LDAP sur le port 636. |
| # Nécessite le chargement de mod_ldap et mod_authnz_ldap. |
| # Remplacez "votre-domaine.example.com" par le nom de votre |
| # domaine. |
| |
| LDAPTrustedGlobalCert CA_DER "/certs/certfile.der" |
| |
| <Location "/ldap-status"> |
| SetHandler ldap-status |
| |
| Require host yourdomain.example.com |
| |
| Satisfy any |
| AuthType Basic |
| AuthName "LDAP Protected" |
| AuthBasicProvider ldap |
| AuthLDAPURL "ldaps://127.0.0.1/dc=example,dc=com?uid?one" |
| Require valid-user |
| </Location> |
| </highlight> |
| |
| <highlight language="config"> |
| # Etablissement d'une connexion TLS LDAP sur le port 389. |
| # Nécessite le chargement de mod_ldap et mod_authnz_ldap. |
| # Remplacez "votre-domaine.example.com" par le nom de votre |
| # domaine. |
| |
| LDAPTrustedGlobalCert CA_DER "/certs/certfile.der" |
| |
| <Location "/ldap-status"> |
| SetHandler ldap-status |
| |
| Require host yourdomain.example.com |
| |
| Satisfy any |
| AuthType Basic |
| AuthName "LDAP Protected" |
| AuthBasicProvider ldap |
| AuthLDAPURL "ldap://127.0.0.1/dc=example,dc=com?uid?one" TLS |
| Require valid-user |
| </Location> |
| </highlight> |
| |
| </section> |
| |
| <section id="settingcerts"><title>Certificats SSL/TLS</title> |
| |
| <p>Les différents SDKs LDAP disposent de nombreuses méthodes pour |
| définir et gérer les certificats des clients et des autorités de |
| certification (CA).</p> |
| |
| <p>Si vous avez l'intention d'utiliser SSL ou TLS, lisez cette |
| section ATTENTIVEMENT de façon à bien comprendre les différences de |
| configurations entre les différents SDKs LDAP supportés.</p> |
| |
| <section id="settingcerts-netscape"><title>SDK Netscape/Mozilla/iPlanet</title> |
| <p>Les certificat de CA sont enregistrés dans un fichier nommé |
| cert7.db. Le SDK ne dialoguera avec aucun serveur LDAP dont le |
| certificat n'a pas été signé par une CA spécifiée dans ce |
| fichier. Si des certificats clients sont requis, un fichier |
| key3.db ainsi qu'un mot de passe optionnels peuvent être |
| spécifiés. On peut aussi spécifier le fichier secmod si |
| nécessaire. Ces fichiers sont du même format que celui utilisé |
| par les navigateurs web Netscape Communicator ou Mozilla. Le |
| moyen le plus simple pour obtenir ces fichiers consiste à les |
| extraire de l'installation de votre navigateur.</p> |
| |
| <p>Les certificats clients sont spécifiés pour chaque connexion |
| en utilisant la directive LDAPTrustedClientCert et en se |
| référant au certificat "nickname". On peut éventuellement |
| spécifier un mot de passe pour déverrouiller la clé privée du |
| certificat.</p> |
| |
| <p>Le SDK supporte seulement SSL. Toute tentative d'utilisation |
| de STARTTLS engendrera une erreur lors des tentatives de |
| contacter le serveur LDAP pendant l'exécution.</p> |
| |
| <highlight language="config"> |
| # Spécifie un fichier de certificats de CA Netscape |
| LDAPTrustedGlobalCert CA_CERT7_DB "/certs/cert7.db" |
| # Spécifie un fichier key3db optionnel pour le support des |
| # certificats clients |
| LDAPTrustedGlobalCert CERT_KEY3_DB "/certs/key3.db" |
| # Spécifie le fichier secmod si nécessaire |
| LDAPTrustedGlobalCert CA_SECMOD "/certs/secmod" |
| <Location "/ldap-status"> |
| SetHandler ldap-status |
| |
| Require host yourdomain.example.com |
| |
| Satisfy any |
| AuthType Basic |
| AuthName "LDAP Protected" |
| AuthBasicProvider ldap |
| LDAPTrustedClientCert CERT_NICKNAME <nickname> [password] |
| AuthLDAPURL "ldaps://127.0.0.1/dc=example,dc=com?uid?one" |
| Require valid-user |
| </Location> |
| </highlight> |
| |
| </section> |
| |
| <section id="settingcerts-novell"><title>SDK Novell</title> |
| |
| <p>Un ou plusieurs certificats de CA doivent être spécifiés pour |
| que le SDK Novell fonctionne correctement. Ces certificats |
| peuvent être spécifiés sous forme de fichiers au format binaire |
| DER ou codés en Base64 (PEM).</p> |
| |
| <p>Note: Les certificats clients sont spécifiés globalement |
| plutôt qu'à chaque connexion, et doivent être spécifiés à l'aide |
| de la directive LDAPTrustedGlobalCert comme ci-dessous. Définir |
| des certificats clients via la directive LDAPTrustedClientCert |
| engendrera une erreur qui sera journalisée, au moment de la |
| tentative de connexion avec le serveur LDAP.</p> |
| |
| <p>Le SDK supporte SSL et STARTTLS, le choix étant défini par le |
| paramètre de la directive LDAPTrustedMode. Si une URL de type |
| ldaps:// est spécifiée, le mode SSL est forcé, et l'emporte sur |
| cette directive.</p> |
| |
| <highlight language="config"> |
| # Spécifie deux fichiers contenant des certificats de CA |
| LDAPTrustedGlobalCert CA_DER "/certs/cacert1.der" |
| LDAPTrustedGlobalCert CA_BASE64 "/certs/cacert2.pem" |
| # Spécifie un fichier contenant des certificats clients |
| # ainsi qu'une clé |
| LDAPTrustedGlobalCert CERT_BASE64 "/certs/cert1.pem" |
| LDAPTrustedGlobalCert KEY_BASE64 "/certs/key1.pem" [password] |
| # N'utilisez pas cette directive, sous peine de provoquer |
| # une erreur |
| #LDAPTrustedClientCert CERT_BASE64 "/certs/cert1.pem" |
| </highlight> |
| |
| </section> |
| |
| <section id="settingcerts-openldap"><title>SDK OpenLDAP</title> |
| |
| <p>Un ou plusieurs certificats de CA doivent être spécifiés pour |
| que le SDK OpenLDAP fonctionne correctement. Ces certificats |
| peuvent être spécifiés sous forme de fichiers au format binaire |
| DER ou codés en Base64 (PEM).</p> |
| |
| <p>Les certificats clients sont spécifiés pour chaque connexion |
| à l'aide de la directive LDAPTrustedClientCert.</p> |
| |
| <p>La documentation du SDK prétend que SSL et STARTTLS sont |
| supportés ; cependant, STARTTLS semble ne pas fonctionner avec |
| toutes les versions du SDK. Le mode SSL/TLS peut être défini en |
| utilisant le paramètre de la directive LDAPTrustedMode. Si une |
| URL de type |
| ldaps:// est spécifiée, le mode SSL est forcé. La documentation |
| OpenLDAP indique que le support SSL (ldaps://) tend à être |
| remplacé par TLS, bien que le mode SSL fonctionne toujours.</p> |
| |
| <highlight language="config"> |
| # Spécifie deux fichiers contenant des certificats de CA |
| LDAPTrustedGlobalCert CA_DER "/certs/cacert1.der" |
| LDAPTrustedGlobalCert CA_BASE64 "/certs/cacert2.pem" |
| <Location /ldap-status> |
| SetHandler ldap-status |
| |
| Require host yourdomain.example.com |
| |
| LDAPTrustedClientCert CERT_BASE64 "/certs/cert1.pem" |
| LDAPTrustedClientCert KEY_BASE64 "/certs/key1.pem" |
| # CA certs respecified due to per-directory client certs |
| LDAPTrustedClientCert CA_DER "/certs/cacert1.der" |
| LDAPTrustedClientCert CA_BASE64 "/certs/cacert2.pem" |
| Satisfy any |
| AuthType Basic |
| AuthName "LDAP Protected" |
| AuthBasicProvider ldap |
| AuthLDAPURL "ldaps://127.0.0.1/dc=example,dc=com?uid?one" |
| Require valid-user |
| </Location> |
| </highlight> |
| |
| </section> |
| |
| <section id="settingcerts-solaris"><title>SDK Solaris</title> |
| |
| <p>SSL/TLS pour les bibliothèques LDAP propres à Solaris n'est |
| pas encore supporté. Si nécessaire, installez et utilisez plutôt |
| les bibliothèques OpenLDAP.</p> |
| |
| </section> |
| |
| <section id="settingcerts-microsoft"><title>SDK Microsoft</title> |
| |
| <p>La configuration des certificats SSL/TLS pour les |
| bibliothèques LDAP propres à Microsoft s'effectue à l'intérieur |
| du registre système, et aucune directive de configuration n'est |
| requise.</p> |
| |
| <p>SSL et TLS sont tous deux supportés en utilisant des URLs de |
| type ldaps://, ou en définissant la directive LDAPTrustedMode à |
| cet effet.</p> |
| |
| <p>Note: L'état du support des certificats clients n'est pas |
| encore connu pour ce SDK.</p> |
| |
| </section> |
| |
| </section> |
| |
| <directivesynopsis> |
| <name>LDAPSharedCacheSize</name> |
| <description>Taille en octets du cache en mémoire partagée</description> |
| <syntax>LDAPSharedCacheSize <var>octets</var></syntax> |
| <default>LDAPSharedCacheSize 500000</default> |
| <contextlist><context>server config</context></contextlist> |
| |
| <usage> |
| <p>Cette directive permet de spécifier le nombre d'octets à allouer |
| pour le cache en mémoire partagée. La valeur par |
| défaut est 500kb. |
| Si elle est définie à 0, le cache en mémoire partagée ne sera pas |
| utilisé et chaque processus HTTPD va créer son propre cache.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>LDAPSharedCacheFile</name> |
| <description>Définit le fichier du cache en mémoire |
| partagée</description> |
| <syntax>LDAPSharedCacheFile <var>chemin/fichier</var></syntax> |
| <contextlist><context>server config</context></contextlist> |
| |
| <usage> |
| <p>Cette directive permet de spécifier le chemin du |
| fichier du cache en mémoire partagée. Si elle n'est pas définie, la |
| mémoire partagée anonyme sera utilisée si la plate-forme la |
| supporte.</p> |
| |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>LDAPCacheEntries</name> |
| <description>Nombre maximum d'entrées dans le cache LDAP |
| primaire</description> |
| <syntax>LDAPCacheEntries <var>nombre</var></syntax> |
| <default>LDAPCacheEntries 1024</default> |
| <contextlist><context>server config</context></contextlist> |
| |
| <usage> |
| <p>Cette directive permet de spécifier la taille maximale du cache |
| LDAP primaire. Ce cache contient les résultats de |
| recherche/identification positifs. Définissez-la à 0 pour désactiver |
| la mise en cache des résultats de recherche/identification positifs. |
| La taille par défaut est de 1024 recherches en cache.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>LDAPCacheTTL</name> |
| <description>Durée pendant laquelle les entrées du cache restent |
| valides.</description> |
| <syntax>LDAPCacheTTL <var>secondes</var></syntax> |
| <default>LDAPCacheTTL 600</default> |
| <contextlist><context>server config</context></contextlist> |
| |
| <usage> |
| <p>Cette directive permet de spécifier la durée (en secondes) |
| pendant laquelle une entrée du cache de recherche/identification |
| reste valide. La valeur par défaut est de 600 secondes (10 |
| minutes).</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>LDAPOpCacheEntries</name> |
| <description>Nombre d'entrées utilisées pour mettre en cache les |
| opérations de comparaison LDAP</description> |
| <syntax>LDAPOpCacheEntries <var>nombre</var></syntax> |
| <default>LDAPOpCacheEntries 1024</default> |
| <contextlist><context>server config</context></contextlist> |
| |
| <usage> |
| <p>Cette directive permet de spécifier le nombre d'entrées que |
| <module>mod_ldap</module> va utiliser pour mettre en cache les |
| opérations de comparaison LDAP. La valeur par défaut est de 1024 |
| entrées. Si elle est définie à 0, la mise en cache des opérations de |
| comparaison LDAP est désactivée.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>LDAPOpCacheTTL</name> |
| <description>Durée pendant laquelle les entrées du cache d'opérations |
| restent valides</description> |
| <syntax>LDAPOpCacheTTL <var>secondes</var></syntax> |
| <default>LDAPOpCacheTTL 600</default> |
| <contextlist><context>server config</context></contextlist> |
| |
| <usage> |
| <p>Cette directive permet de spécifier la durée (en secondes) |
| pendant laquelle les entrées du cache d'opérations restent valides. |
| La valeur par défaut est de 600 secondes.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>LDAPReferralHopLimit</name> |
| <description>Le nombre maximum de redirections vers des serveurs |
| alternatifs (referrals) avant l'abandon de la requête |
| LDAP.</description> |
| <syntax>LDAPReferralHopLimit <var>nombre</var></syntax> |
| <default>Dépend du SDK, en général entre 5 et 10</default> |
| <contextlist><context>directory</context><context>.htaccess</context></contextlist> |
| <override>AuthConfig</override> |
| |
| <usage> |
| <p>Si elle est activée par la directive <directive>LDAPReferrals</directive>, |
| cette directive permet de définir le nombre maximum de sauts vers |
| des serveurs alternatifs (referrals) avant l'abandon de la requête |
| LDAP.</p> |
| |
| <note type="warning"> |
| <p>L'ajustement de ce paramètre n'est pas commun à tous les SDKs LDAP.</p> |
| </note> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>LDAPReferrals</name> |
| <description>Active la redirection vers des serveurs alternatifs au |
| cours des requêtes vers le serveur LDAP.</description> |
| <syntax>LDAPReferrals <var>On|Off|default</var></syntax> |
| <default>LDAPReferrals On</default> |
| <contextlist><context>directory</context><context>.htaccess</context></contextlist> |
| <override>AuthConfig</override> |
| <compatibility>Le paramètre <var>default</var> est disponible depuis la |
| version 2.4.7 du serveur HTTP Apache.</compatibility> |
| |
| <usage> |
| <p>Certains serveurs LDAP partagent leur annuaire en plusieurs |
| domaines et utilisent le système des redirections (referrals) pour |
| aiguiller un client lorsque les limites d'un domaine doivent être |
| franchies. Ce processus est similaire à une redirection HTTP. Les |
| bibliothèques client LDAP ne respectent pas forcément ces |
| redirections par défaut. Cette directive permet de configurer |
| explicitement les redirections LDAP dans le SDK sous-jacent.</p> |
| |
| <p>La directive <directive>LDAPReferrals</directive> accepte les |
| valeurs suivantes :</p> |
| |
| <dl> |
| <dt>"on"</dt> |
| <dd> <p>Avec la valeur "on", la prise en compte des redirections |
| LDAP par le SDK sous-jacent est activée, la directive |
| <directive>LDAPReferralHopLimit</directive> permet de surcharger la |
| "hop limit" du SDK, et un "LDAP rebind callback" est enregistré.</p></dd> |
| <dt>"off"</dt> |
| <dd> <p>Avec la valeur "off", la prise en compte des redirections |
| LDAP par le SDK sous-jacent est complètement désactivée.</p></dd> |
| <dt>"default"</dt> |
| <dd> <p>Avec la valeur "default", la prise en compte des redirections |
| LDAP par le SDK sous-jacent n'est pas modifiée, la directive |
| <directive>LDAPReferralHopLimit</directive> ne permet pas de surcharger la |
| "hop limit" du SDK, et aucun "LDAP rebind callback" n'est enregistré.</p></dd> |
| </dl> |
| |
| <p>La directive <directive>LDAPReferralHopLimit</directive> travaille en |
| conjonction avec cette directive pour limiter le nombre de |
| redirections à suivre pour achever le traitement de la requête LDAP. |
| Lorsque le processus de redirection est activé par la valeur "On", |
| les données d'authentification du client sont transmises via un |
| "rebind callback" à tout serveur LDAP qui en fait la demande.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>LDAPRetryDelay</name> |
| <description>Définit le temps d'attente avant un autre essai de connexion au |
| serveur LDAP.</description> |
| <syntax>LDAPRetryDelay <var>secondes</var></syntax> |
| <default>LDAPRetryDelay 0</default> |
| <contextlist><context>server config</context></contextlist> |
| |
| <usage> |
| <p>Si la directive <directive>LDAPRetryDelay</directive> est définie |
| à une valeur différente de 0, le serveur attendra pendant la durée |
| spécifiée pour envoyer à nouveau sa requête LDAP. Une valeur de 0 |
| implique une absence de délai pour les essais successifs.</p> |
| |
| <p>Il est possible d'effectuer une autre tentative de connexion en |
| cas d'erreurs LDAP du type délai dépassé ou connexion refusée. </p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>LDAPRetries</name> |
| <description>Définit le nombre maximum de tentatives de connexions au |
| serveur LDAP.</description> |
| <syntax>LDAPRetries <var>nombre d'essais</var></syntax> |
| <default>LDAPRetries 3</default> |
| <contextlist><context>server config</context></contextlist> |
| <usage> |
| <p>Suite à des échecs de connexion au serveur LDAP, le serveur |
| tentera de se connecter autant de fois qu'indiqué par la directive |
| <directive>LDAPRetries</directive>. Si cette directive est définie à |
| 0, le serveur ne tentera pas d'autre connexion après un échec.</p> |
| <p>Il est possible d'effectuer une autre tentative de connexion en |
| cas d'erreurs LDAP du type délai dépassé ou connexion refusée. </p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>LDAPTrustedGlobalCert</name> |
| <description>Définit le nom de fichier ou la base de données contenant |
| les Autorités de Certification de confiance globales ou les certificats |
| clients globaux</description> |
| <syntax>LDAPTrustedGlobalCert <var>type</var> |
| <var>chemin/nom-fichier</var> <var>[mot de passe]</var></syntax> |
| <contextlist><context>server config</context></contextlist> |
| |
| <usage> |
| <p>Cette directive permet de spécifier le chemin et le nom du |
| fichier contenant les certificats des CA de confiance et/ou les |
| certificats clients du système global que <module>mod_ldap</module> |
| utilisera pour établir une connexion SSL ou TLS avec un serveur |
| LDAP. Notez que toute information relative aux certificats spécifiée |
| en utilisant cette directive s'applique globalement à l'ensemble de |
| l'installation du serveur. Certains SDK LDAP (en particulier Novell) |
| nécessitent la définition globale de tous les certificats clients en |
| utilisant cette directive. La plupart des autres SDK nécessitent la |
| définition des certificats clients dans une section Directory ou |
| Location en utilisant la directive LDAPTrustedClientCert. Si vous ne |
| définissez pas ces directives correctement, une erreur sera générée |
| lors des tentatives de contact avec un serveur LDAP, ou la connexion |
| échouera silencieusement (Voir plus haut le guide des certificats |
| SSL/TLS pour plus de détails). Le paramètre type spécifie le type de |
| certificat en cours de définition, en fonction du SDK LDAP utilisé. |
| Les types supportés sont :</p> |
| <ul> |
| <li>CA_DER - certificat de CA codé en binaire DER</li> |
| <li>CA_BASE64 - certificat de CA codé en PEM</li> |
| <li>CA_CERT7_DB - fichier de base de données des certificats de CA |
| de Netscape cert7.db</li> |
| <li>CA_SECMOD - fichier de base de données secmod de Netscape</li> |
| <li>CERT_DER - certificat client codé en binaire DER</li> |
| <li>CERT_BASE64 - certificat client codé en PEM</li> |
| <li>CERT_KEY3_DB - fichier de base de données des certificats |
| clients de Netscape key3.db</li> |
| <li>CERT_NICKNAME - certificat client "nickname" (SDK Netscape)</li> |
| <li>CERT_PFX - certificat client codé en PKCS#12 (SDK Novell)</li> |
| <li>KEY_DER - clé privée codée en binaire DER</li> |
| <li>KEY_BASE64 - clé privée codée en PEM</li> |
| <li>KEY_PFX - clé privée codée en PKCS#12 (SDK Novell)</li> |
| </ul> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>LDAPTrustedClientCert</name> |
| <description>Définit le nom de fichier contenant un certificat client ou |
| un alias renvoyant vers un certificat client spécifique à une connexion. |
| Tous les SDK LDAP ne supportent pas les certificats clients par |
| connexion.</description> |
| <syntax>LDAPTrustedClientCert <var>type</var> |
| <var>chemin/nom-fichier/alias</var> <var>[mot de passe]</var></syntax> |
| <contextlist><context>server config</context><context>virtual |
| host</context><context>directory</context><context>.htaccess</context></contextlist> |
| |
| <usage> |
| <p>Cette directive permet de spécifier le chemin et le nom de |
| fichier ou l'alias d'un certificat client par connexion utilisé lors |
| de l'établissement d'une connexion SSL ou TLS avec un serveur LDAP. |
| Les sections directory ou location peuvent posséder leurs propres |
| configurations de certificats clients. Certains SDK LDAP (en |
| particulier Novell) ne supportent pas les certificats clients par |
| connexion, et renvoient une erreur lors de la connexion au serveur |
| LDAP si vous tenter d'utiliser cette directive (Utilisez à la place |
| la directive LDAPTrustedGlobalCert pour les certificats clients sous |
| Novell - Voir plus haut le guide des certificats SSL/TLS pour plus |
| de détails). Le paramètre type spécifie le type du certificat en |
| cours de définition, en fonction du SDK LDAP utilisé. Les types |
| supportés sont :</p> |
| <ul> |
| <li>CA_DER - certificat de CA codé en binaire DER</li> |
| <li>CA_BASE64 - certificat de CA codé en PEM</li> |
| <li>CERT_DER - certificat client codé en binaire DER</li> |
| <li>CERT_BASE64 - certificat client codé en PEM</li> |
| <li>CERT_NICKNAME - certificat client "nickname" (SDK Netscape)</li> |
| <li>KEY_DER - clé privée codée en binaire DER</li> |
| <li>KEY_BASE64 - clé privée codée en PEM</li> |
| </ul> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>LDAPTrustedMode</name> |
| <description>Spécifie le mode (SSL ou TLS) à utiliser lors de la |
| connexion à un serveur LDAP.</description> |
| <syntax>LDAPTrustedMode <var>type</var></syntax> |
| <contextlist><context>server config</context><context>virtual |
| host</context></contextlist> |
| |
| <usage> |
| <p>Les modes suivants sont supportés :</p> |
| <ul> |
| <li>NONE - aucun chiffrement</li> |
| <li>SSL - chiffrement ldaps:// sur le port par défaut 636</li> |
| <li>TLS - chiffrement STARTTLS sur le port par défaut 389</li> |
| </ul> |
| |
| <p>Les modes ci-dessus ne sont pas supportés par tous les SDK LDAP. |
| Un message d'erreur sera généré à l'exécution si un mode n'est pas |
| supporté, et la connexion au serveur LDAP échouera. |
| </p> |
| |
| <p>Si une URL de type ldaps:// est spécifiée, le mode est forcé à |
| SSL et la définition de LDAPTrustedMode est ignorée.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>LDAPConnectionTimeout</name> |
| <description>Spécifie le délai d'attente en secondes de la socket de |
| connexion</description> |
| <syntax>LDAPConnectionTimeout <var>secondes</var></syntax> |
| <contextlist><context>server config</context></contextlist> |
| |
| <usage> |
| <p>Cette directive configure l'option LDAP_OPT_NETWORK_TIMEOUT (ou |
| LDAP_OPT_CONNECT_TIMEOUT) dans la bibliothèque client LDAP |
| sous-jacente, si elle est disponible. Cette valeur représente la |
| durée pendant laquelle la bibliothèque client LDAP va attendre que |
| le processus de connexion TCP au serveur LDAP soit achevé.</p> |
| |
| <p>Si la connexion n'a pas réussi avant ce délai, une erreur sera |
| renvoyée, ou la bibliothèque client LDAP tentera de se connecter à |
| un second serveur LDAP, s'il en a été défini un (via une liste de |
| noms d'hôtes séparés par des espaces dans la directive <directive |
| module="mod_authnz_ldap">AuthLDAPURL</directive>).</p> |
| |
| <p>La valeur par défaut est 10 secondes, si la bibliothèque client |
| LDAP liée avec le serveur supporte l'option |
| LDAP_OPT_NETWORK_TIMEOUT.</p> |
| |
| <note>LDAPConnectionTimeout n'est disponible que si la bibliothèque client |
| LDAP liée avec le serveur supporte l'option |
| LDAP_OPT_NETWORK_TIMEOUT (ou LDAP_OPT_CONNECT_TIMEOUT), et le |
| comportement final est entièrement dicté par la bibliothèque client |
| LDAP. |
| </note> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>LDAPTimeout</name> |
| <description>Spécifie le délai d'attente pour les opérations de |
| recherche et d'identification LDAP en secondes</description> |
| <syntax>LDAPTimeout <var>secondes</var></syntax> |
| <default>LDAPTimeout 60</default> |
| <contextlist><context>server config</context></contextlist> |
| <compatibility>Disponible à partir de la version 2.3.5 du serveur HTTP |
| Apache</compatibility> |
| |
| <usage> |
| <p>Cette directive permet de spécifier le délai d'attente pour les |
| opérations de recherche et d'identification, ainsi que l'option |
| LDAP_OPT_TIMEOUT dans la bibliothèque LDAP client sous-jacente, |
| lorsqu'elle est disponible.</p> |
| |
| <p>Lorsque le délai est atteint, httpd va refaire un essai dans le |
| cas où une connexion existante a été silencieusement fermée par un |
| pare-feu. Les performances seront cependant bien meilleures si le |
| pare-feu est configuré pour envoyer des paquets TCP RST au lieu de |
| rejeter silencieusement les paquets.</p> |
| |
| <note> |
| <p>Les délais pour les opérations de comparaison LDAP nécessitent un |
| SDK avec LDAP_OPT_TIMEOUT, comme OpenLDAP >= 2.4.4.</p> |
| </note> |
| |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>LDAPVerifyServerCert</name> |
| <description>Force la vérification du certificat du |
| serveur</description> |
| <syntax>LDAPVerifyServerCert <var>On|Off</var></syntax> |
| <default>LDAPVerifyServerCert On</default> |
| <contextlist><context>server config</context></contextlist> |
| |
| <usage> |
| <p>Cette directive permet de spécifier s'il faut forcer la |
| vérification d'un certificat de serveur lors de l'établissement |
| d'une connexion SSL avec un serveur LDAP.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>LDAPConnectionPoolTTL</name> |
| <description>Désactive les connexions d'arrière-plan qui sont restées |
| inactives trop longtemps au sein du jeu de connexions.</description> |
| <syntax>LDAPConnectionPoolTTL <var>n</var></syntax> |
| <default>LDAPConnectionPoolTTL -1</default> |
| <contextlist><context>server config</context><context>virtual host</context></contextlist> |
| <compatibility>Disponible à partir de la version 2.3.12 du serveur HTTP |
| Apache</compatibility> |
| |
| <usage> |
| <p>Cette directive permet de spécifier la durée maximale, en |
| secondes, pendant laquelle une connexion LDAP du jeu de connexions |
| peut demeurer inactive, mais rester quand-même disponible pour une |
| utilisation éventuelle. Le jeu de connexions est nettoyé au fur et à |
| mesure des besoins, de manière non asynchrone.</p> |
| |
| <p>Si cette directive est définie à 0, les connexions ne sont jamais |
| sauvegardées dans le jeu de connexions d'arrière-plan. Avec la |
| valeur par défaut -1, ou toute autre valeur négative, les connexions |
| peuvent être réutilisées sans limite de durée.</p> |
| |
| <p>Dans le but d'améliorer les performances, le temps de référence |
| qu'utilise cette directive correspond au moment où la connexion LDAP |
| est enregistrée ou remise dans le jeu de connexions, et non au |
| moment du dernier échange réussi avec le serveur LDAP.</p> |
| |
| <p>La version 2.4.10 a introduit de nouvelles mesures permettant |
| d'éviter une augmentation excessive du temps de référence due à des |
| correspondances positives dans le cache ou des requêtes lentes. A |
| cet effet, le temps de référence n'est pas réactualisé si aucune |
| connexion LDAP d'arrière-plan n'est requise ; d'autre part, le temps |
| de référence se base sur le moment où la requête HTTP est reçue, et |
| non sur le moment où la requête a été traitée.</p> |
| |
| <note><p>Cette durée de vie s'exprime par défaut en secondes, mais |
| il est possible d'utiliser d'autres unités en ajoutant un suffixe : |
| millisecondes (ms), minutes (min), ou heures (h). |
| </p></note> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>LDAPLibraryDebug</name> |
| <description>Active le débogage dans le SDK LDAP</description> |
| <syntax>LDAPLibraryDebug <var>7</var></syntax> |
| <default>disabled</default> |
| <contextlist><context>server config</context></contextlist> |
| |
| <usage> |
| <p>Active les options de débogage LDAP spécifiques au SDK, qui |
| entraînent en général une journalisation d'informations verbeuses du |
| SDK LDAP dans le journal principal des erreurs d'Apache. Les |
| messages de traces en provenance du SDK LDAP fournissent des |
| informations très détaillées qui peuvent s'avérer utiles lors du |
| débogage des problèmes de connexion avec des serveurs LDAP |
| d'arrière-plan.</p> |
| |
| <p>Cette option n'est configurable que lorsque le serveur HTTP |
| Apache est lié avec un SDK LDAP qui implémente |
| <code>LDAP_OPT_DEBUG</code> ou <code>LDAP_OPT_DEBUG_LEVEL</code>, |
| comme OpenLDAP (une valeur de 7 est verbeuse) ou Tivoli Directory |
| Server (une valeur de 65535 est verbeuse).</p> |
| |
| <note type="warning"> |
| <p>Les informations journalisées peuvent contenir des données |
| d'authentification en clair utilisées ou validées lors de |
| l'authentification LDAP ; vous devez donc prendre soin de protéger |
| et de purger le journal des erreurs lorsque cette directive est |
| utilisée.</p> |
| </note> |
| |
| </usage> |
| </directivesynopsis> |
| |
| </modulesynopsis> |