Einmal muss reichen

Je ein Passwort für das Betriebssystem, den Mail-Server, das Intranet-Portal und für das CRM-System; verschiedene Adressdaten dort, im eigenen PIM-Programm und auf dem Handheld: Einen Weg aus diesem Datenchaos kann ein LDAP-Verzeichnis weisen, das unter anderem Adressen und Passwörter verwaltet.

In Pocket speichern vorlesen Druckansicht 8 Kommentare lesen
Lesezeit: 4 Min.
Von
  • Daniel Amthor
  • Thilo Rößler

In diesem ersten Teil des LDAP-Tutorials geht es um die Grundlagen des Verzeichnisdienstes: Wie strukturiert man sinnvoll Daten, wie kann man sie abfragen. Die weiteren Teile werden sich unter anderem mit Datenverwaltung, Authentifizierung via LDAP, Sicherheitsfragen und Replikation beschäftigen.

Die Leasinggesellschaft für dauerhaft anwesende Personalberater GmbH (kurz L.d.a.P. GmbH) ist ein mittelständischer Betrieb mit 250 Büroarbeitsplätzen. Jeder Mitarbeiter holt seine Nachrichten vom zentralen POP3-Server ab. Auf den in einer Samba-Domäne zusammengefassten Client-Rechnern läuft Windows. Als Tor ins Internet dient ein Squid-Proxy-Server. Darüber hinaus existieren einige Intranet-Anwendungen.

Hier bietet sich ein LDAP-Server als Vereinfachung für die Anmeldung an. Außerdem kann er die bislang von vielen Mitarbeitern dezentral gepflegten Adressbücher zusammenführen. Im Folgenden geht es darum, diese Ziele mit dem frei verfügbaren OpenLDAP-Server umzusetzen.

Verzeichnisdienste stellen Informationen über beliebige Objekte bereit. Dabei kann es sich um Computer, Bildschirme oder sonstige Hardware ebenso handeln wie um Personen, Netzdienste oder Planstellen in einem Unternehmen. Zu jedem Objekt speichern sie Attribute, bei Personen beispielsweise Name, Vorname, Geburtsdatum oder eine Telefonnummer. Häufig sind die Objekte in einer hierachischen Baumstruktur angeordnet, dem so genannten DIT (Directory Information Tree). Vorbild dafür war das Daten- und Namensmodell von X.500. Im Allgemeinen setzen heutige Verzeichnisdienste allerdings auf TCP/IP auf, wohingegen X.500 auf dem ISO/OSI-Modell beruht.

Zum Zugriff auf einen Verzeichnisdienst kann das für X.500 konzipierte Zugriffsprotokoll DAP (Directory Access Protocol) dienen. Da dessen vollständige Implementierung aber äußerst komplex ist, kommt in der Praxis meist die Lightweight (LDAP) genannte Variante zum Einsatz. Sie liegt zurzeit in Version 3 vor, vereinzelt verwenden allerdings Applikationen noch die Vorgängerversion (zum Beispiel das LDAP-Modul im Apache 1.3.X).

Viele Hersteller bieten Server für Verzeichnisdienste an. Besonders bekannt sind Microsofts Active Directory, Novells Directory Services und One Directory von Sun. Für eigene Experimente, das Sammeln von Erfahrungen und den produktiven Einsatz eignet sich das frei verfügbare OpenLDAP, auf das sich die folgenden Ausführungen beziehen.

Bevor ein Verzeichnisdienst Daten aufnehmen kann, muss man die zu verwendenden Attribute festlegen. Eine typische Attribut-Definition sieht wie folgt aus:

attributetype ( 2.5.4.4 NAME ( ‘sn’ ‘surname’ )
DESC ‘RFC2256: last (family) name(s) for\
which the entity is known by’
SUP name )
attributetype ( 2.5.4.41 NAME ‘name’
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{32768} )

Jeder Attributtyp erhält zur Identifizierung eine eindeutige Nummer, den so genannten Object Identifier (OID). Er besteht aus durch Punkte getrennten Dezimalzahlen. Darüber hinaus gehört zu einem Attributtyp mindestens ein Name - es können auch mehrere sein. Groß- und Kleinschreibung spielt dabei keine Rolle, „SN“ bezeichnet deshalb dasselbe Attribut wie „sn“. Der obige Attributtyp hat den Namen sn oder surname („Nachname“) und die OID 2.5.4.4. Des Weiteren finden sich hier eine Beschreibung (DESC für Description) sowie der Hinweis, dass der Attributtyp sn von name abstammt und somit dessen Eigenschaften erbt.

Mehr Infos

Listing 1: ou.ldif

dn: ou=IT,dc=ldap-gmbh,dc=de
objectClass: organizationalUnit
ou: IT
dn: ou=FiBu,dc=ldap-gmbh,dc=de
objectClass: organizationalUnit
ou: FiBu
dn: ou=Marketing,dc=ldap-gmbh,dc=de
objectClass: organizationalUnit
ou: Marketing
dn: ou=Verwaltung,dc=ldap-gmbh,dc=de
objectClass: organizationalUnit
ou: Verwaltung

Mit name sind Regeln für Vergleiche in Suchoperationen verbunden - bei EQUALITY für den kompletten String, bei SUBSTR für Teile. Im vorliegenden Fall behandelt der Verzeichnisdienst Groß- und Kleinbuchstaben gleich. Schließlich findet sich hier nach dem Schlüsselwort SYNTAX die OID einer Syntaxdefinition. Was kompliziert aussieht, bedeutet lediglich, dass die Werte des Attributs name maximal 32 KByte große UTF-8-Zeichenketten sind.

Wie man Objektarten definiert, welche sich für den Einsatz in Firmen eignen und wie Sie Daten in einen LDAP-Server übernehmen, erfahren Sie in der aktuellen Print-Ausgabe.

Mehr Infos

iX-TRACT

  • Verzeichnisdienste wie LDAP ermöglichen die zentrale Speicherung von Daten und den Zugriff von verschiedenen Clients auf sie.
  • OpenLDAP ist ein freier LDAP-Server, der sich sowohl für erste Lernschritte als auch für den produktiven Einsatz eignet.
  • Für das Eintragen von Daten und das Suchen liefert er Kommandozeilen-Werkzeuge mit. Viele Mail-Clients können LDAP-Verzeichnisse als Adressbuch verwenden.

Teil 2: fortgeschrittene Suche, Datenverwaltung, Aufteilung des DIT in mehrere Teile, Linux- und Apache-Authentifizierung über LDAP

Teil 3: Replikation von Daten, Samba-Anbindung, Logging und Fehlersuche, Sicherheit (ck)