Serveur Apache HTTP Version 2.5
Description: | Conservation des connexions LDAP et services de mise en cache du résultat à destination des autres modules LDAP |
---|---|
Statut: | Extension |
Identificateur de Module: | ldap_module |
Fichier Source: | util_ldap.c |
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.
Pour activer ce module, le support LDAP doit être compilé dans
apr-util. Pour ce faire, on ajoute l'option --with-ldap
au script configure
lorsqu'on construit
Apache.
Le support SSL/TLS est conditionné par le kit de développement LDAP qui a été lié à APR. Au moment où ces lignes sont écrites, APR-util supporte OpenLDAP SDK (version 2.x ou supérieure), Novell LDAP SDK, Mozilla LDAP SDK, le SDK LDAP Solaris natif (basé sur Mozilla) ou le SDK LDAP Microsoft natif. Voir le site web APR pour plus de détails.
Description: | Nombre maximum d'entrées dans le cache LDAP primaire |
---|---|
Syntaxe: | LDAPCacheEntries nombre |
Défaut: | LDAPCacheEntries 1024 |
Contexte: | configuration du serveur |
Statut: | Extension |
Module: | mod_ldap |
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.
Description: | Durée pendant laquelle les entrées du cache restent valides. |
---|---|
Syntaxe: | LDAPCacheTTL secondes |
Défaut: | LDAPCacheTTL 600 |
Contexte: | configuration du serveur |
Statut: | Extension |
Module: | mod_ldap |
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).
Description: | Désactive les connexions d'arrière-plan qui sont restées inactives trop longtemps au sein du jeu de connexions. |
---|---|
Syntaxe: | LDAPConnectionPoolTTL n |
Défaut: | LDAPConnectionPoolTTL -1 |
Contexte: | configuration du serveur, serveur virtuel |
Statut: | Extension |
Module: | mod_ldap |
Compatibilité: | Disponible à partir de la version 2.3.12 du serveur HTTP Apache |
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.
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.
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.
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.
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).
Description: | Spécifie le délai d'attente en secondes de la socket de connexion |
---|---|
Syntaxe: | LDAPConnectionTimeout secondes |
Contexte: | configuration du serveur |
Statut: | Extension |
Module: | mod_ldap |
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é.
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 AuthLDAPURL
).
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.
Description: | Active le débogage dans le SDK LDAP |
---|---|
Syntaxe: | LDAPLibraryDebug 7 |
Défaut: | disabled |
Contexte: | configuration du serveur |
Statut: | Extension |
Module: | mod_ldap |
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.
Cette option n'est configurable que lorsque le serveur HTTP
Apache est lié avec un SDK LDAP qui implémente
LDAP_OPT_DEBUG
ou LDAP_OPT_DEBUG_LEVEL
,
comme OpenLDAP (une valeur de 7 est verbeuse) ou Tivoli Directory
Server (une valeur de 65535 est verbeuse).
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.
Description: | Nombre d'entrées utilisées pour mettre en cache les opérations de comparaison LDAP |
---|---|
Syntaxe: | LDAPOpCacheEntries nombre |
Défaut: | LDAPOpCacheEntries 1024 |
Contexte: | configuration du serveur |
Statut: | Extension |
Module: | mod_ldap |
Cette directive permet de spécifier le nombre d'entrées que
mod_ldap
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.
Description: | Durée pendant laquelle les entrées du cache d'opérations restent valides |
---|---|
Syntaxe: | LDAPOpCacheTTL secondes |
Défaut: | LDAPOpCacheTTL 600 |
Contexte: | configuration du serveur |
Statut: | Extension |
Module: | mod_ldap |
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.
Description: | Le nombre maximum de redirections vers des serveurs alternatifs (referrals) avant l'abandon de la requête LDAP. |
---|---|
Syntaxe: | LDAPReferralHopLimit nombre |
Défaut: | Dépend du SDK, en général entre 5 et 10 |
Contexte: | répertoire, .htaccess |
AllowOverride: | AuthConfig |
Statut: | Extension |
Module: | mod_ldap |
Si elle est activée par la directive LDAPReferrals
,
cette directive permet de définir le nombre maximum de sauts vers
des serveurs alternatifs (referrals) avant l'abandon de la requête
LDAP.
L'ajustement de ce paramètre n'est pas commun à tous les SDKs LDAP.
Description: | Active la redirection vers des serveurs alternatifs au cours des requêtes vers le serveur LDAP. |
---|---|
Syntaxe: | LDAPReferrals On|Off|default |
Défaut: | LDAPReferrals On |
Contexte: | répertoire, .htaccess |
AllowOverride: | AuthConfig |
Statut: | Extension |
Module: | mod_ldap |
Compatibilité: | Le paramètre default est disponible depuis la version 2.4.7 du serveur HTTP Apache. |
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.
La directive LDAPReferrals
accepte les
valeurs suivantes :
Avec la valeur "on", la prise en compte des redirections
LDAP par le SDK sous-jacent est activée, la directive
LDAPReferralHopLimit
permet de surcharger la
"hop limit" du SDK, et un "LDAP rebind callback" est enregistré.
Avec la valeur "off", la prise en compte des redirections LDAP par le SDK sous-jacent est complètement désactivée.
Avec la valeur "default", la prise en compte des redirections
LDAP par le SDK sous-jacent n'est pas modifiée, la directive
LDAPReferralHopLimit
ne permet pas de surcharger la
"hop limit" du SDK, et aucun "LDAP rebind callback" n'est enregistré.
La directive LDAPReferralHopLimit
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.
Description: | Définit le nombre maximum de tentatives de connexions au serveur LDAP. |
---|---|
Syntaxe: | LDAPRetries nombre d'essais |
Défaut: | LDAPRetries 3 |
Contexte: | configuration du serveur |
Statut: | Extension |
Module: | mod_ldap |
Suite à des échecs de connexion au serveur LDAP, le serveur
tentera de se connecter autant de fois qu'indiqué par la directive
LDAPRetries
. Si cette directive est définie à
0, le serveur ne tentera pas d'autre connexion après un échec.
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.
Description: | Définit le temps d'attente avant un autre essai de connexion au serveur LDAP. |
---|---|
Syntaxe: | LDAPRetryDelay secondes |
Défaut: | LDAPRetryDelay 0 |
Contexte: | configuration du serveur |
Statut: | Extension |
Module: | mod_ldap |
Si la directive LDAPRetryDelay
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.
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.
Description: | Définit le fichier du cache en mémoire partagée |
---|---|
Syntaxe: | LDAPSharedCacheFile chemin-fichier |
Contexte: | configuration du serveur |
Statut: | Extension |
Module: | mod_ldap |
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.
Si chemin-fichier n'est pas un chemin absolu, il sera
relatif au répertoire défini via la directive DefaultRuntimeDir
.
Description: | Taille en octets du cache en mémoire partagée |
---|---|
Syntaxe: | LDAPSharedCacheSize octets |
Défaut: | LDAPSharedCacheSize 500000 |
Contexte: | configuration du serveur |
Statut: | Extension |
Module: | mod_ldap |
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.
Description: | Spécifie le délai d'attente pour les opérations de recherche et d'identification LDAP en secondes |
---|---|
Syntaxe: | LDAPTimeout secondes |
Défaut: | LDAPTimeout 60 |
Contexte: | configuration du serveur |
Statut: | Extension |
Module: | mod_ldap |
Compatibilité: | Disponible à partir de la version 2.3.5 du serveur HTTP Apache |
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.
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.
Les délais pour les opérations de comparaison LDAP nécessitent un SDK avec LDAP_OPT_TIMEOUT, comme OpenLDAP >= 2.4.4.
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. |
---|---|
Syntaxe: | LDAPTrustedClientCert type
chemin/nom-fichier/alias [mot de passe] |
Contexte: | configuration du serveur, serveur virtuel, répertoire, .htaccess |
Statut: | Extension |
Module: | mod_ldap |
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 :
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 |
---|---|
Syntaxe: | LDAPTrustedGlobalCert type
chemin/nom-fichier [mot de passe] |
Contexte: | configuration du serveur |
Statut: | Extension |
Module: | mod_ldap |
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 mod_ldap
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 :
Description: | Spécifie le mode (SSL ou TLS) à utiliser lors de la connexion à un serveur LDAP. |
---|---|
Syntaxe: | LDAPTrustedMode type |
Contexte: | configuration du serveur, serveur virtuel |
Statut: | Extension |
Module: | mod_ldap |
Les modes suivants sont supportés :
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.
Si une URL de type ldaps:// est spécifiée, le mode est forcé à SSL et la définition de LDAPTrustedMode est ignorée.
Description: | Force la vérification du certificat du serveur |
---|---|
Syntaxe: | LDAPVerifyServerCert On|Off |
Défaut: | LDAPVerifyServerCert On |
Contexte: | configuration du serveur |
Statut: | Extension |
Module: | mod_ldap |
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.
Ce qui suit est un exemple de configuration qui utilise
mod_ldap
pour améliorer les performances de
l'authentification HTTP de base fournie par
mod_authnz_ldap
.
# 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>
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.
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.
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.
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 LDAPReferrals
et LDAPReferralHopLimit
. Cette
fonctionnalité est activée par défaut.
Pour améliorer les performances, mod_ldap
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.
mod_ldap
supporte deux types de mise en cache
LDAP : un cache recherche/identification durant la phase
de recherche/identification et deux caches d'opérations
durant la phase de comparaison. Chaque URL LDAP utilisée par le
serveur a son propre jeu d'instances dans ces trois caches.
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.
mod_ldap
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,
mod_ldap
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, mod_ldap
court-circuite la phase
de recherche/identification.
Le cache de recherche/identification est contrôlé par les
directives LDAPCacheEntries
et LDAPCacheTTL
.
Au cours des opérations de comparaison d'attributs et de noms
distinctifs (DN), mod_ldap
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.
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.
Le comportement de ces deux caches est contrôlé par les
directives LDAPOpCacheEntries
et LDAPOpCacheTTL
.
mod_ldap
possède un gestionnaire de contenu
qui permet aux administrateurs de superviser les performances du
cache. Le nom du gestionnaire de contenu est
ldap-status
, et on peut utiliser les directives
suivantes pour accéder aux informations du cache de
mod_ldap
:
<Location /server/cache-info> SetHandler ldap-status </Location>
En se connectant à l'URL
http://nom-serveur/infos-cache
, l'administrateur peut
obtenir un rapport sur le statut de chaque cache qu'utilise
mod_ldap
. Notez que si Apache ne supporte pas la
mémoire partagée, chaque instance de httpd
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 httpd
qui traitera la
requête.
La possibilité de créer des connexions SSL et TLS avec un serveur
LDAP est définie par les directives
LDAPTrustedGlobalCert
,
LDAPTrustedClientCert
et
LDAPTrustedMode
. 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).
# 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>
# 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>
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).
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.
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.
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.
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.
# 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>
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).
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.
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.
# 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
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).
Les certificats clients sont spécifiés pour chaque connexion à l'aide de la directive LDAPTrustedClientCert.
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.
# 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>
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.
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.
SSL et TLS sont tous deux supportés en utilisant des URLs de type ldaps://, ou en définissant la directive LDAPTrustedMode à cet effet.
Note: L'état du support des certificats clients n'est pas encore connu pour ce SDK.