Kapitel 13. Lightweight Directory Access Protocol (LDAP)

LDAP (Lightweight Directory Access Protocol) ist ein Satz von offenen Protokollen, die zum Zugreifen auf zentral gespeicherte Informationen über ein Netzwerk verwendet werden. Es basiert auf dem X.500-Standard für das gemeinsame Nutzen von Verzeichnissen, ist jedoch weniger komplex und ressourcenintensiv. Aus diesem Grund wird LDAP bisweilen auch X.500 Lite genannt.

Ebenso wie X.500 organisiert LDAP die Informationen mit Hilfe von Verzeichnissen hierarchisch. In den Verzeichnissen kann eine Vielfalt an Informationen gespeichert werden. Zudem können sie auf ähnliche Weise wie der Network Information Service (NIS) verwendet werden, so dass alle Benutzer von jedem beliebigen Rechner in einem LDAP-unterstützten Netzwerk auf ihre Accounts zugreifen können.

In den meisten Fällen wird LDAP jedoch einfach als virtuelles Telefonbuch verwendet, mit dem Benutzer auf Kontaktinformationen für andere Benutzer zugreifen können. LDAP geht allerdings über ein herkömmliches Telefonbuch hinaus, da es seine Verzeichnisse auf andere LDAP-Server weltweit übertragen und somit globalen Zugriff auf Informationen zur Verfügung stellen kann. Momentan wird LDAP allerdings in der Regel eher in Einzelorganisationen wie Universitäten, Regierungsabteilungen und Privatunternehmen verwendet.

LDAP ist ein Client-/Server-System. Der Server kann eine Vielfalt an Datenbanken zum Speichern eines Verzeichnisses verwenden, wobei jede für schnelle und umfangreiche Lesevorgänge optimiert ist. Wenn eine LDAP-Clientanwendung eine Verbindung mit einem LDAP-Server herstellt, kann sie entweder ein Verzeichnis abfragen oder Informationen hochladen. Im Fall einer Abfrage antwortet der Server entweder auf die Abfrage oder, wenn er nicht lokal antworten kann, verweist er den Anfrage-Upstream an einen übergeordneten LDAP-Server weiter, der die Antwort übernimmt. Versucht die Clientanwendung, Informationen in ein LDAP-Verzeichnis zu laden, prüft der Server, ob der Benutzer zum Ausführen der Änderung berechtigt ist und fügt dann die Informationen hinzu bzw. aktualisiert sie.

In diesem Kapitel wird die Konfiguration und Verwendung von OpenLDAP 2.0, einer Open-Source-Implementierung der LDAPv2- und LDAPv3-Protokolle behandelt.

13.1. Warum LDAP?

Der Hauptvorteil von LDAP ist die Verdichtung von bestimmten Informationen für eine gesamte Organisation in ein zentrales Repository. So kann LDAP zum Beispiel für das Verwalten von Benutzerlisten für alle Gruppen einer Organisation als ein zentrales Verzeichnis verwendet werden, auf das vom gesamten Netzwerk aus zugegriffen werden kann. Und da LDAP SSL (Secure Sockets Layer) und TLS (Transport Layer Security) unterstützt, können sensible Daten vor neugierigen Augen geschützt werden.

LDAP unterstützt auch viele Backend-Datenbanken, in denen die Verzeichnisse gespeichert werden. Die Administratoren verfügen hierdurch über die notwendige Flexibilität, eine Datenbank bereitzustellen, die für die Informationsarten, die der Server verbreiten soll, optimal angepasst ist. Des Weiteren verfügt LDAP über eine gut durchdachte API (Application Programming Interface), und es sind auch zahlreiche LDAP-fähige Applikationen vorhanden, deren Anzahl und Qualität zunimmt.

13.1.1. Funktionserweiterungen von OpenLDAP 2.0

OpenLDAP 2.0 umfasst zahlreiche wichtige Funktionen.

  • LDAPv3 Support — OpenLDAP 2.0 unterstützt SASL (Simple Authentication and Security Layer), TLS (Transport Layer Security) und SSL (Secure Sockets Layer) neben weiteren Verbesserungen. Viele Änderungen, die seit LDAPv2 am Protokoll vorgenommen wurden, sollen zur Sicherheit von LDAP beitragen.

  • IPv6 Support — OpenLDAP unterstützt die nächste Generation des Internetprotokolls, Version 6.

  • LDAP Over IPC — OpenLDAP kann innerhalb eines bestimmten Systems mit Hilfe von IPC (Interprocess Communication) kommunizieren. Das Umgehen der Kommunikation über ein Netzwerk erhöht die Sicherheit.

  • Aktualisierte C API — Verbessert die Art und Weise, in welcher Programmierer zu LDAP Verzeichnis-Servern verbinden und mit diesen arbeiten.

  • LDIFv1 Support — OpenLDAP 2.0 ist mit LDAP Data Interchange Format (LDIF) Version 1 voll kompatibel.

  • Verbesserter Stand-Alone LDAP Server — OpenLDAP enthält jetzt ein aktualisiertes Zugriffssteuerungssystem, Thread-Pooling, bessere Tools und vieles mehr.