[AIX Solaris HP-UX Linux Windows]

Authentifizierung mit LDAP in IBM HTTP Server (verteilte Systeme)

Dieser Artikel beschreibt, wie Sie LDAP für den Schutz von Dateien in IBM HTTP Server konfigurieren.

Vorbereitende Schritte

Veraltetes Feature Veraltetes Feature: Das Modul "mod_ibm_ldap" wird in diesem Release von IBM® HTTP Server zwecks Kompatibilität mit früheren Releases bereitgestellt. Wenn Sie das Modul "mod_ibm_ldap" für Ihre LDAP-Konfiguration verwenden möchten, müssen Sie vorhandene Konfigurationen auf die Verwendung der Module "mod_authnz_ldap" und "mod_ldap" umstellen, um die zukünftige Unterstützung Ihrer LDAP-Konfiguration zu gewährleisten. Eine Beschreibung zur Verwendung des Moduls "mod_ldap" finden Sie im Abschnitt Authentifizierung mit LDAP in IBM HTTP Server über mod_ldap. depfeat

Das LDAP-Modul wird standardmäßig nicht in IBM HTTP Server geladen. Ohne die Anweisung LoadModule können die LDAP-Features nicht verwendet werden. Wenn Sie die LDAP-Funktion aktivieren möchten, fügen Sie der Datei httpd.conf von IBM HTTP Server wie folgt eine Anweisung LoadModule hinzu:

Wenn Sie den LDAP-Client auf Ihrem Computer installiert haben, können Sie mit dem Tool ldapsearch die Werte testen, die Sie für die verschiedenen Einstellungen verwenden möchten.

Informationen zu diesem Vorgang

Ausführliche Beschreibungen zu den LDAP-Anweisungen (mod_ibm_ldap) finden Sie im Artikel LDAP-Anweisungen.

Vorgehensweise

  1. Editieren Sie die Konfigurationsdatei httpd.conf von IBM HTTP Server.
  2. Geben Sie die Ressource an, für die der Zugriff eingeschränkt werden soll. Beispiel: <Directory "/secure_info">.
  3. Fügen Sie der Datei httpd.conf Anweisungen für die zu schützende Verzeichnisposition (Container) hinzu, und geben Sie die für Ihre Umgebung zutreffenden Werte an. Beispiel:
    • LdapConfigFile Pfad_zu_ldap.prop
    • AuthType Basic
    • AuthName "Name des geschützten Realm"
    • Require valid-user
  4. Es gibt drei Möglichkeiten, wie Sie IBM HTTP Server für die Authentifizierung mit Ihrer vorhandenen LDAP-Installation verwenden können.
    • Berechtigung basierend auf LDAP-Gruppenzugehörigkeit.
      Verwenden Sie LDAP, um Benutzerkennwörter zu überprüfen und um zu prüfen, ob der Benutzer in einer in LDAP definierten Gruppe vorhanden ist.
      Anmerkung: Die Zugehörigkeit zur Gruppe bestimmt, ob der Benutzer auf die Ressource zugreifen darf, nicht der eigene LDAP-Eintrag des Benutzers.

      Wenn Sie beispielsweise den Zugriff auf eine Gruppe beschränken möchten, fügen Sie die folgende Anweisung hinzu:

      LDAPRequire group grp1

      Wenn Sie LDAPRequire auf diese Art verwenden möchten, müssen Sie Gruppen in Ihrem LDAP-Repository konfiguriert haben, die den folgenden Regeln entsprechen (es wird der Beispielgruppennamen grp1 verwendet):

      • Es gibt einen Eintrag in Ihrem LDAP-Repository, der dem folgenden Suchfilter entspricht, bei dem die Werte groupofnames und groupofuniquenames Beispielwerte sind, die in ldap.group.dnattributes angegeben sind.
        Anmerkung: Der eigentliche Wert von ldap.group.dnattributes ist eine Liste mit Objektklassen (objectclasses), die eine Gruppe in Ihrem LDAP-Schema bezeichnet.
        ldapsearch ... "(&(cn=grp1)(|(objectclass=groupofnames)
        (objectclass=groupofuniquenames)))"
      • Zu dem LDAP-Eintrag für grp1 gehört eine Reihe von Attributen, die dem folgenden Suchfilter entsprechen, bei dem die Werte member und uniquemember Beispielwerte aus ldap.group.memberAttributes sind.
        Anmerkung: Der eigentliche Wert von ldap.group.memberAttributes ist eine Liste mit Objektklassen (objectclasses), die die Zugehörigkeit zu einer Gruppe bezeichnet. Die Werte dieser Einträge sind die definierten Namen (Distinguished Names, DN) Ihrer Benutzer.
        ldapsearch ... "(&(cn=grp1)(|(objectclass=groupofnames)
        (objectclass=groupofuniquenames)))" member uniquemember 

        Beispiel:

        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 

        Wenn ein in der Liste in ldap.group.dnattributes genanntes Objekt dieses Typs zur gesuchten Gruppe gehört, wird es auf dieselbe Art und Weise rekursiv gesucht, und zwar bis zu der mit ldap.group.search.depth angegebenen Verschachtelungstiefe.

      • IBM HTTP Server verwendet zuerst ldap.group.name.filter und ldap.user.cert.filter, um den für den Benutzer und die Gruppe angegebenen CN in definierte Namen (Distinguished Name, DN) umzusetzen. Als nächstes führt IBM HTTP Server eine Suche auf Grundlage des Gruppen-DN für die Einträge durch, deren Wert dem Benutzer-DN entspricht.

        Beispiel:

        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))"
    • Berechtigung basierend auf LDAP-Attributen für Benutzer Verwenden Sie LDAP für die Überprüfung von Benutzerkennwörtern und um festzustellen, ob der Benutzer mit einer Gruppe von Attributen übereinstimmt (das Attribut, über das der Benutzer als zugriffsberechtigt für die Ressource identifiziert wird, ist Teil des eigenen LDAP-Eintrags des Benutzers).

      Beispiel:

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

      Wenn Sie diese Form von LDAPRequire verwenden möchten, muss IBM HTTP Server die Anweisung ldap.user.cert.filter verwenden, um den für den Benutzer angegebenen CN in einen DN umzusetzen. IBM HTTP Server muss ebenfalls eine Suche mit dem Benutzer-DN als Basis durchführen und den in der Anweisung LDAPRequire angegebenen Suchfilter verwenden. Wenn Ergebnisse zurückgegeben werden, kann die Berechtigung erfolgreich durchgeführt werden.

      Beispiel:

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

      Einige Attribute (manchmal auch als dynamische Rollen bezeichnet) in LDAP werden vom LDAP-Server dynamisch berechnet und weisen möglicherweise eine andere Semantik auf, die im Suchfilter nicht zulässig ist. Solche Werte führen in dem zuvor genannten Beispiel zu keinem gültigen Ergebnis, und können in IBM HTTP Server nicht für die Berechtigung verwendet werden.

    • Nur Authentifizierung: Verwenden Sie LDAP, um ausschließlich Benutzerkennwörter zu überprüfen.

      Sie können die Anweisung Require so verwenden, dass Sie bestimmte Benutzer einschränken, oder eine einfache Gruppendatei mit AuthGroupFile verwenden.

  5. Editieren Sie die Konfigurationsdatei ldap.prop. Sollten Sie noch keine Datei ldap.prop definiert haben, können Sie die Datei ldap.prop.sample verwenden, die mit IBM HTTP Server bereitgestellt wird. Sollten Sie Fragen zu den korrekten Werten haben, wenden Sie sich an den Administrator Ihres LDAP-Servers. Aktualisieren Sie die folgenden Anweisungen mit Werten, die für Ihre Umgebung gültig sind:
    1. Geben Sie die Informationen zur Web-Server-Verbindung ein.
    2. Wenn Sie SSL, LDAPS oder LDAP über SSL verwenden, gehen Sie folgendermaßen vor:
      • Geben Sie für ldap.transport einen SSL-Wert an.
      • Ändern Sie ldap.URL so, dass das LDAPS-Protokoll und der richtige Portwert (beispielsweise 636) enthalten sind.
      • Konfigurieren Sie die zu verwendende SSL-Schlüsseldatenbank. Beispiel:
        ldap.key.fileName=/Pfad_zu/key.kdb
        ldap.key.file.password.stashFile=/Pfad_zu/stashfile
        stashfile wird über den Befehl bin/ldapstash erstellt.
        ldap.key.label=label
        Hierbei entspricht label dem Wert, der in IKEYMAN für die referenzierte Datenbank key.kdb angezeigt wird.

Ergebnisse

Suchvorgänge, die die Anweisung mod_ibm_ldap verwenden, verwalten einen Pool von Serververbindungen, die mit dem Benutzernamen für ldap.application.dn authentifiziert werden. Die erste Verbindung wird beim Empfang der ersten LDAP-geschützten Anforderung erstellt. Verbindungen bleiben für eine angegebene Anzahl von Sekunden (ldap.idleConnection.timeout) für nachfolgende Suchvorgänge mit dieser Verbindung bzw. für Verbindungen für andere Anforderungen geöffnet.

Wenn Sie Protokolle lesen oder einen IP-Trace untersuchen, sollte die folgende Ereignisabfolge eingetreten sein:

Taskartikel    

Nutzungsbedingungen für Information Center | Feedback

Letzte Aktualisierung: October 19, 2014 09:53 PM EDT
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=ihs-dist&topic=tihs_ldapconfig
Dateiname: tihs_ldapconfig.html