Administration système Documentation d'IBM HTTP Server

Utilisation du protocole LDAP (Lightweight Directory Access Protocol)

Cette section fournit des informations sur le protocole LDAP (Lightweight Directory Access Protocol). Ces informations comprennent une introduction, la présentation de divers concepts fondamentaux et des remarques associées (signalées par l'icône Remarque:), ainsi que des procédures de consultation, d'installation et de configuration. La fin de cette section comprend des liens aux informations connexes.

Concerne les utilisateurs Linux for S/390 Remarque : Cette section est valable pour tous les systèmes d'exploitation pris en charge à l'exception de Linux for S/390.

Introduction au protocole LDAP

La section suivante explique ce qu'est LDAP et comment il fonctionne. Elle donne également une présentation générale du service X.500 et de LDAP.

Qu'est-ce que LDAP ?

LDAP (Lightweight Directory Access Protocol) est un annuaire d'informations dans lequel les utilisateurs et les groupes peuvent être définis une fois pour toutes et partagés entre plusieurs machines et plusieurs applications.

Comment fonctionne LDAP ?

Le module d'extension (plug-in) LDAP d'IBM HTTP Server permet à l'annuaire d'effectuer les opérations d'authentification et d'autorisation requises lors de l'accès à une ressource protégée. Cette possibilité réduit grandement le temps d'administration nécessaire à la maintenance locale des informations sur les utilisateurs et les groupes de chaque serveur Web.

IBM HTTP Server supporte LDAP, protocole qui fournit l'accès à l'annuaire X.500, via une connexion TCP ou SSL. LDAP permet de stocker des informations dans un service d'annuaire et de le consulter comme une base de données. Lorsque vous utilisez des annuaires X.500 et LDAP, toute application compatible LDAP peut y stocker des informations une fois pour toutes (par exemple, les données d'authentification d'utilisateurs). Dès lors, ces informations deviennent accessibles aux autres applications utilisant le même serveur LDAP.

Les besoins en ressources système de LDAP sont limités, car il n'utilise qu'un sous-ensemble fonctionnel du protocole DAP (Directory Access Protocol) original de la norme X.500.

Le support de LDAP par IBM HTTP Server offre un choix de plusieurs configurations LDAP :

  • Un serveur LDAP unique.
  • Plusieurs serveurs LDAP distincts à utiliser pour différentes demandes. Par exemple, les demandes peuvent provenir de deux adresses IP différentes, auquel cas le serveur Web contacte un serveur LDAP différent pour chacune d'entre elles.

Dans la présente documentation, on suppose que vous disposez d'un service d'annuaire X.500 opérationnel, par exemple le service X.500 d'IBM SecureWay.

Présentation du service X.500

X.500 est un service d'annuaire qui possède des composants permettant une extraction plus efficace. LDAP utilise deux de ces composants : le modèle d'informations, qui détermine forme et caractère, et l'espace de noms, qui permet d'indexer et de référencer des informations.

La structure de l'annuaire X.500 diffère des autres types d'annuaires quant à la façon dont les informations sont stockées et extraites. Elle associe les informations à des attributs. Une requête a base d'attributs est générée et envoyée au serveur LDAP, puis le serveur renvoie les valeurs correspondantes. LDAP utilise une approche simple à base de chaînes pour représenter les entrées de l'annuaire.

Un annuaire X.500 se compose d'entrées typées, basées sur l'attribut ObjectClass. Chaque entrée est composée d'attributs. L'attribut ObjectClass identifie le type d'entrée (par exemple, personne ou organisation). Ce type détermine à son tour quels sont les attributs obligatoires et facultatifs.

Les entrées, présentées sous forme d'arborescence, peuvent être réparties entre plusieurs serveurs selon des critères géographiques et organisationnels. Leur nom distinctif, ou DN (Distinguished Name), dépend de leur position à l'intérieur de la hiérarchie obtenue après répartition.

Aperçu du protocole LDAP

L'accès à un annuaire X.500 requiert un protocole spécifique, par exemple Directory Access Protocol (DAP). Cependant, DAP requiert une quantité importante de ressources système et des mécanismes de support visant à faire face à la complexité du protocole. Le protocole LDAP a été créé pour permettre aux postes de travail d'accéder aux annuaires X.500.

LDAP est fondé sur une architecture client-serveur et certaines des ressources volumineuses requises par les clients DAP peuvent être gérées par le serveur LDAP. Un serveur LDAP peut uniquement renvoyer au client des résultats ou des erreurs ; le client est donc peu sollicité. Si un serveur X.500 ne peut répondre à une demande d'un client, il doit la retransmettre à un autre serveur X.500. Le serveur doit alors traiter la demande ou renvoyer une erreur au serveur LDAP, qui à son tour transmet l'information au client.

Consultation du serveur LDAP au moyen de filtres de recherche LDAP

LDAP accède à l'annuaire X.500 en utilisant des chaînes d'interrogation "en clair" (c'est-à-dire lisibles par l'homme). Lorsque ces chaînes d'interrogation sont transmises au serveur LDAP, ce dernier renvoie le nom distinctif de l'entrée.

Pour simplifier les recherches, les entrées LDAP sont typées (ou classifiées) par un attribut ObjectClass. Par exemple, vous pouvez effectuer une recherche sur un annuaire LDAP en spécifiant l'attribut objectclass=acl pour localiser toutes les entrées correspondant à des listes de contrôle d'accès.

La structure des filtres de recherche d'entrées LDAP doit être la suivante :

  • Les filtres doivent commencer et se terminer par une parenthèse. Reportez-vous aux exemples suivants qui montrent l'emplacement des parenthèses dans des requêtes complexes.
  • Les filtres peuvent contenir les opérateurs booléens suivants :
    • & - ET booléen
    • | - OU booléen
    • ! - NON booléen
  • Une classe d'objet (objectclass) particulière peut nécessiter un nom d'attribut.
  • Les filtres peuvent contenir les opérateurs de comparaison suivants :
    • = égal à
    • ~= approximativement égal à
    • >= supérieur
    • <= inférieur
  • Les filtres doivent contenir la valeur de l'attribut sur lequel porte la recherche. Cette valeur peut contenir une partie générique.

Pour plus d'informations sur les filtres de recherche LDAP, reportez-vous au document RFC 1960.

Exemples de filtres de recherche LDAP

Le filtre de recherche LDAP suivant : (cn=Paul Dupuis) recherche, dans l'annuaire, le nom usuel Paul Dupuis. Les réponses possibles sont :

Paul Dupuis

Le filtre de recherche suivant : (!(cn=Sophie Leroy)) recherche, dans l'annuaire, les entrées dont le nom usuel est différent de Sophie Leroy. Les réponses possibles sont :

Christophe Bertrand
Marc Signol
ou tout autre nom différent de Sophie Leroy

Le filtre de recherche suivant : (&objectClass=acl)((sn=Durand) interroge toutes les listes de contrôle d'accès (ACL) dans lesquelles le nom de famille est Durand. Les réponses possibles sont :

Hervé Durand
Yves Durand

Le filtre de recherche suivant : (o=univ*paris*) porte sur l'attribut d'organisation (o). Les réponses possibles sont :

Université Paris 7
Université Paris 10

Conseil : LDAP peut renvoyer plusieurs entrées. Cependant, aucune authentification n'est effectuée par le serveur Web lorsque des entrées multiples sont renvoyées. Si l'annuaire interrogé dans cet exemple contenait à la fois les entrées Université Paris 7 et Université Paris 10, le serveur renverrait les deux entrées et l'authentification échouerait. Dans ce cas, vous devriez modifier votre filtre de recherche.

Concerne les utilisateurs Windows NT Concerne les utilisateurs Windows 2000

Installation du client LDAP

L'exécution du module LDAP d'IBM HTTP Server nécessite un téléchargement séparé du client LDAP. Vous pouvez obtenir le client LDAP en le téléchargeant à partir d'un site Web et en l'installant indépendamment de l'installation d'IBM HTTP Server.

Conseil : Si vous téléchargez le client à partir d'un site Web, il est possible que ce site fasse référence à SecureWay Directory. En effet, SecureWay Directory est un produit qui contient le client LDAP, lequel permet d'accéder aux serveurs compatibles LDAP. Ces instructions concernent uniquement les systèmes d'exploitation Windows.

Concerne les utilisateurs Windows NT Concerne les utilisateurs Windows 2000

Pour télécharger le client LDAP à partir d'un site Web :

  1. Ouvrez un navigateur et accédez à la page LDAP Download.
  2. Cliquez sur le nom et le numéro de version de la plateforme qui vous concerne. La fenêtre SecureWay Directory Evaluation Code apparaît.
  3. Cliquez sur Download.
  4. Cliquez sur la version de plateforme 4.1.x qui vous concerne à partir de la liste des logiciels Directory Server et Client Software Developer Kits.
  5. Cliquez sur Download.
  6. Dans la fenêtre SecureWay Directory and Client SDK Version 4.1.x, sélectionnez la langue qui vous convient à partir de la liste déroulante.
  7. Cliquez sur Continue.
  8. Inscrivez-vous pour être autorisé à télécharger le produit demandé et fournissez un ID utilisateur et un mot de passe dans la fenêtre suivante si ceux-ci vous sont demandés.

  9. Décompressez le fichier.
  10. Installez le client en suivant les instructions du guide d'installation et de configuration.
Concerne les utilisateurs AIX
Concerne les utilisateurs HP-UX
Concerne les utilisateurs Linux
Concerne les utilisateurs Solaris

Vous n'avez pas besoin de télécharger les client LDAP sur les plateformes AIX, HP, Linux et Solaris.

Configuration de LDAP sur IBM HTTP Server

Pour configurer LDAP sur le serveur IBM HTTP Server en vue de protéger les fichiers, suivez les étapes ci-après :

  1. Définition par utilisateur :
    1. Lancez IBM Administration Server.
    2. Sélectionnez Droits d'accès > Accès général et entrez le nom du fichier de configuration de LDAP (C:/Program Files/IBM HTTP Server/conf/ldap.prop) dans la zone Fichier de configuration LDAP. Il est obligatoire de remplir cette zone.

    3. Entrez le nom du domaine d'authentification de l'annuaire dans la zone Nom du domaine d'authentification.
  2. Définition par groupe :

    LDAPRequire group "nom_groupe"
    Exemple : LDAPRequire group "Utilisateurs d'administration"

  3. Définition par filtre :
  4. LDAPRequire filter "filtre_recherche_ldap"
    Par exemple : LDAPRequire filter "(&(objectclass=person)(cn=*)(ou=IHS)(o=IBM))"

    Remarque La directive LDAPRequire ne fonctionne que si elle est insérée manuellement dans le fichier httpd.conf.

  5. Pour créer une connexion LDAP, vous devez fournir des informations concernant le serveur LDAP utilisé. Editez le fichier de propriétés LDAP (fichier exemple ldap.prop se trouvant dans le répertoire conf d'IBM HTTP Server) et insérez-y les directives appropriées.
    • Entrez les informations concernant la connexion du serveur Web
    • Entrez les informations concernant la connexion client
    • Entrez les paramètres de délai

  6. Cliquez sur Soumission pour continuer ou sur Réinitialisation pour rétablir les valeurs par défaut du formulaire.
Informations connexes

     (Retour au début)