Open Source im professionellen Einsatz

Aus Zope auf LDAP-Verzeichnisse zugreifen

Verbindliche Auskünfte

Mit einigen Konfigurationsarbeiten lassen sich Zope und der Verzeichnisdienst LDAP verbinden. Ab sofort benutzt und verwaltet der Applicationserver nicht mehr seine eigene Userdatenbank, sondern die zentrale von LDAP - der anfallende Pflegeaufwand sinkt.

Der Applicationserver Zope[1] besitzt eine eigene und damit proprietäre Userverwaltung. Theoretisch könnte man sie per Schnittstelle anderen Systemenkomponenten zugänglich machen, um nicht mehrere Benutzerdatenbanken führen müssen. Besser ist aber natürlich der umgekehrte Weg.

Schnell fällt dabei die Wahl auf den etablierten Meta-Verzeichnisdienst Lightweight Directory Access Protocol, denn LDAP hat ebenso wie Zope den Vorteil, dass es weitgehend plattformneutral ist. Viele Serverprogramme, die das Anmelden von Benutzern verlangen, besitzen LDAP-Schnittstellen. Außerdem gibt es für LDAP zahlreiche Verwaltungstools. Eine Menge Unternehmen setzt schon LDAP-Server als Metaverzeichnisse ein, was redundante Datenhaltung und die damit einhergehenden Konsistenzprobleme vermeidet.

Betreibt eine Firma bereits die Novell NDS oder ein Active Directory, ist das für den hier beschriebenen Einsatzzweck kein unüberwindliches Hindernis. Diese Systeme besitzen nämlich LDAP-Schnittstellen, an die sich Zope andocken kann. Gibt es bisher keinen firmenweiten Verzeichnisdienst, ist - abhängig von der Unternehmensgröße und der Komplexität der jeweiligen IT-Landschaft - sogar zu überlegen, ob aus dem in diesem Beitrag beschriebenen Anlass nicht ein LDAP-Server installiert werden sollte. Mit OpenLDAP[2] entstehen dabei nicht mal Lizenzkosten.

Selbst die Endnutzer haben direkt etwas von LDAP: Praktisch jedes Mailclient-Adressbuch besitzt eine LDAP-Schnittstelle. Dem Admin erleichtert ein Metadirectory seinen Alltag sowieso - wenn mal alles darauf umgestellt ist. Zu berücksichtigen ist allerdings der Lernaufwand für bislang LDAP-unkundige Administratoren. Je mehr Benutzer aber zu verwalten sind, desto weniger fallen diese Nachteile ins Gewicht.

LDAP-Struktur in aller Kürze erklärt

Zu LDAP sind im Linux-Magazin bereits mehrere Artikel erschienen ([3],[4], [5]), die sich unter anderem mit den Grundlagen und dem Aufbau einer LDAP-Datenbank befassen. An dieser Stelle reicht darum eine knappe Wiederholung: LDAP organisiert eine objektorientierte Datenbank. Typisch für solche Datenbanken sind die Objektklassen und Objekte. Die Datenbank ist als Baum strukturiert, der bei einem Ursprung oder einer Wurzel beginnt. Sie heißt bei LDAP Rootdn (Root Distinguished Name). Hinzu kommt grundsätzlich ein Suffix, in der Regel der Name der Firma und das Länderkürzel.

Damit Zope überhaupt auf den LDAP-Server »slapd« zugreifen kann, muss der natürlich laufen - jedoch nicht zwingend auf derselben Maschine. Der LDAP-Standardport ist 389. Ist man nicht alleiniger Administrator im Hause und pflegt ein anderer Administrator die LDAP-Datenbank, sind auf jeden Fall folgende Daten zu erfragen: das Suffix, der Rootdn, dessen Kennwort (falls Zope die LDAP-Datenbank pflegen soll), der Users Base Distinguished Name sowie der Groups Base DN.

Die Firma Cytux

Als Beispiel dient hier die fiktive Firma Cytux, die in Deutschland beheimatet sei. Die oben als notwendig genannten Informationen lauten wie folgt:

suffix="dc=cytux,dc=de"
rootdn="cn=Manager,dc=cytux,dc=de"
Kennwort="secret"
Users Base DN="ou=mitarbeiter,dc=cytux,dc=de"
Group Base DN="ou=abteilung,dc=cytux,dc=de"

Die Distinguished Names bekommen stets das Suffix »dc=cytux,dc=de« mit auf den Weg. Der »rootdn« heißt »Manager«, ihm gehört das Kennwort »secret«. Das sind übrigens die Standardeinstellungen von OpenLDAP nach der Installation. Die Users Base benötigt Zope, um jederzeit feststellen zu können, unter welcher Gruppe die User zu finden sind. Im Beispiel heißt die Users Base »mitarbeiter«, sie speichert alle Mitarbeiter von Cytux. Group Base ist »abteilung«; mit ihr ordnet Zope den Usern Gruppen zu. Die Struktur der Firma ist in Abbildung 1 dargestellt.

Ziel

Wer Zope und (Open)LDAP bisher getrennt einsetzt, kann nach dem Abarbeiten der Anleitung in diesem Artikel in Zope

  • LDAP-User pflegen (anlegen, löschen, modifizieren),
  • nach LDAP-Usern suchen,
  • LDAP-Gruppen pflegen (anlegen, löschen, modifizieren),
  • LDAP-User einer oder mehreren LDAP-Gruppen zuordnen,
  • LDAP-Einträge modifizieren,
  • LDAP-Gruppen mit Zope-Rollen verbinden,
  • LDAP-Aktivitäten loggen.

Diesen Artikel als PDF kaufen

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook