IBM HTTP Server pour WebSphere Application Server, Version 6.1
             Systèmes d'exploitation : AIX, HP-UX, Linux, Solaris, Windows

             Personnalisation de la table des matières et des résultats de la recherche

Authentification avec LDAP sur IBM HTTP Server (systèmes répartis)

Cette section décrit comment configurer LDAP pour protéger les fichiers sur IBM HTTP Server.

Avant de commencer

Par défaut, la directive LoadModule pour LDAP n'est pas chargée dans IBM HTTP Server. Sans la directive LoadModule, les fonctions LDAP ne sont pas disponibles. Pour activer la fonction LDAP, ajoutez une directive LoadModule dans le fichier httpd.conf d'IBM HTTP Server en procédant comme suit :

Si le client LDAP est installé sur votre ordinateur, vous pouvez utiliser ldapsearch en tant qu'outil pour tester les valeurs que vous envisagez d'utiliser pour les différents paramètres.

A propos de cette tâche

Voir Directives LDAP pour obtenir des descriptions détaillées des directives LDAP (mod_ibm_ldap).

Procédure

  1. Editez le fichier de configuration d'IBM HTTP Server, httpd.conf.
  2. Déterminez la ressource dont vous souhaitez limiter l'accès. Par exemple : <Répertoire "/secure_info">.
  3. Ajoutez des directives dans httpd.conf à l'emplacement du répertoire (conteneur) pour qu'il soit protégé avec des valeurs spécifiques à votre environnement. Par exemple :
    • LdapConfigFile chemin_d'accès_à_ldap.prop
    • AuthType Basic
    • AuthName "Nom de votre domaine sécurisé"
    • Require valid-user
  4. Trois options vous sont proposées pour l'utilisation d'IBM HTTP Server pour vous authentifier avec votre installation LDAP existante.
    • Autorisation reposant sur l'appartenance à un groupe LDAP.
      Utilisez LDAP pour contrôler les mots de passe utilisateur et vérifier que l'utilisateur existe dans un groupe défini au sein de LDAP.
      Remarque : L'appartenance indiquant que l'utilisateur est en droit d'accéder à la ressource dépend du groupe, pas de l'entrée LDAP de l'utilisateur même.

      Par exemple, pour limiter l'accès à un groupe, ajoutez la directive suivante :

      LDAPRequire group grp1

      Pour cette forme de LDAPRequire, vous devez avoir des groupes configurés dans votre référentiel LDAP qui soient conformes aux règles suivantes (avec le nom du groupe exemple grp1):

      • Il existe dans votre référentiel LDAP une entrée correspondant au filtre de recherche suivant, dans lequel les valeurs groupedenoms et groupedenomsuniques sont des exemples de valeur spécifiées dans ldap.group.dnattributes.
        Remarque : La valeur propre de ldap.group.dnattributes est une liste des attributs objectclass indiquant l'appartenance à un groupe de votre schéma LDAP.
        ldapsearch ... "(&(cn=grp1)(|(objectclass=groupofnames)
        (objectclass=groupofuniquenames)))"
      • Au sein de l'entrée LDAP de "grp1," il existe une série d'attributs correspondant aux éléments suivants, où les valeurs member et uniquemember sont des exemples de valeurs de ldap.group.memberAttributes.
        Remarque : La valeur propre de ldap.group.memberAttributes est une liste des attributs objectclass indiquant l'appartenance à un groupe. Les valeurs de ces entrées correspondent aux Noms distinctifs (DN) de vos utilisateurs.
        ldapsearch ... "(&(cn=grp1)(|(objectclass=groupofnames)
        (objectclass=groupofuniquenames)))" member uniquemember 

        Exemple :

        ldapsearch -x -h myldapserver -D cn=root -w rootpw
        "(&(cn=grp1)(|(objectclass=groupofnames)(objectclass=groupofuniquenames)))" 
        member uniquemember
        dn: cn=group1,ou=myunit,o=myorg,c=US 
        member: cn=user1, ou=otherunit, o=myorg, c=US
        member: cn=user12, ou=otherunit, o=myorg, c=US 

        Si un objet du type répertorié dans ldap.group.dnattributes est un membre du groupe faisant l'objet de la recherche, il sera recherché de la même façon, en mode récursif, jusqu'au niveau de ldap.group.search.depth.

      • IBM HTTP Server utilise d'abord ldap.group.name.filter et ldap.user.cert.filter pour convertir le nom usuel fourni par l'utilisateur et le groupe en nom distinctif (DN). Ensuite, IBM HTTP Server recherche les entrées dont la valeur correspond au nom distinctif de l'utilisateur.

        Exemple :

        ldapsearch ... -b "cn=grp1,ou=myunit,o=myorg,c=US" 
        "|((member=cn=user1,ou=otherunit,o=myorg,c=US) 
        (uniquemember=cn=user1,ou=otherunit,o=myorg,c=US))"
        
    • Autorisation reposant sur les attributs LDAP de l'utilisateur. Utilisez LDAP pour contrôler les mots de passe utilisateur et vérifier que l'utilisateur correspond à un ensemble d'attributs (l'attribut indiquant que l'utilisateur est en droit d'accéder à la ressource fait partie de l'entrée LDAP propre aux utilisateurs).

      Exemple :

      LDAPRequire filter "(&(jobtitle=accountant)(location=newyork))"

      Pour utiliser cette forme de LDAPRequire, IBM HTTP Server doit utiliser ldap.user.cert.filter pour convertir le nom usuel fourni par l'utilisateur en nom distinctif. IBM HTTP Server doit également effectuer la recherche en se basant sur le nom distinctif de l'utilisateur et utiliser le filtre de recherche fourni dans la directive LDAPRequire. Si des résultats sont renvoyés, l'autorisation a réussi.

      Exemple :

      ldapsearch ... -b "cn=user1,ou=otherunit,o=myorg,c=US" "(&(jobtitle=accountant)
      (location=newyork))" 

      Certains attributs (parfois appelés rôles dynamiques) dans LDAP sont calculés de manière dynamique par le serveur LDAP. Il se peut que leur sémantique soit différente et par conséquent non valide dans un filtre de recherche. De telles valeurs provoquent des échecs si elles sont utilisées dans l'exemple précédent et ne peuvent pas être utilisées pour accorder une autorisation sur IBM HTTP Server.

    • Authentification uniquement : utilisez LDAP uniquement pour contrôler les mots de passe utilisateur.

      Vous pouvez utiliser la directive Require pour limiter l'accès à des utilisateurs spécifiques ou pour gérer un fichier de groupe plat à l'aide d'AuthGroupFile.

  5. Editer le fichier de configuration ldap.prop. Si vous n'avez pas de fichier de configuration, vous pouvez utiliser le fichier ldap.prop.sample, fourni avec IBM HTTP Server. Si vous avez des questions sur les valeurs correctes, consultez votre administrateur de serveur LDAP. Mettez à jour les directives suivantes à l'aide des valeurs appropriées à votre environnement :
    1. Entrez les informations de connexion relatives au serveur Web.
    2. Lorsque vous utilisez SSL, LDAPS ou LDAP sur SSL :
      • Remplacez ldap.transport par une valeur SSL
      • Changez ldap.URL de façon à inclure le protocole LDAPS et la valeur du propre port, par exemple, 636.
      • Configurez la base de données de clés SSL à utiliser, par exemple :
        ldap.key.fileName=/chemin/key.kdb
        
        ldap.key.file.password.stashFile=/chemin/stashfile
        stashfile est créé par la commande bin/ldapstash.
        ldap.key.label=libellé
        libellé correspond à la valeur apparaissant dans IKEYMAN pour le fichier key.kdb référencé.

Résultats

Les recherches utilisant les directives mod_ibm_ldap gèrent un ensemble de connexions serveur authentifiées en tant qu'utilisateur ldap.application.dn. La première connexion est créée lors de la réception de la demande protégée par LDAP. Les connexions sont maintenues ouvertes pendant une nombre de secondes spécifié (ldap.idleConnection.timeout) pour les recherches suivantes effectuées sur cette ou ces connexions dans le cadre d'autres demandes.

Si vous lisez des journaux ou consultez une trace IP, la séquence d'événements suivante doit se produire :




Sous-rubriques
Protocole LDAP (Lightweight Directory Access Protocol)
Interrogation du serveur Lightweight Directory Access Protocol
Secure Sockets Layer et le module Lightweight Directory Access Protocol
Liste de retrait de certificats SSL
Directives LDAP
Rubrique Tâche    

Conditions d'utilisation | Commentaires

Dernière mise à jour : Feb 22, 2009 5:16:05 AM CST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.ihs.doc/info/ihs/ihs/tihs_ldapconfig.html