Kapitel 13. Lightweight Directory Access Protocol (LDAP)
Das Lightweight Directory Access Protocol (LDAP) 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 zuweilen auch "X.500 Lite." genannt. Der X.500 Standard ist ein Verzeichnis, welches hierarchische und kategorisierte Informationen enth�lt, wie z.B. Namen, Adressen und Telefonnummern.
Ebenso wie X.500 organisiert LDAP die Informationen hierarchisch mit Hilfe von Verzeichnissen. In den Verzeichnissen kann eine Vielfalt an Informationen gespeichert werden. Zudem k�nnen diese auch auf �hnliche Weise wie der Network Information Service (NIS) verwendet werden, sodass alle Benutzer von jedem beliebigen Rechner in einem LDAP-unterst�tzten Netzwerk auf deren Accounts zugreifen k�nnen.
In den meisten F�llen wird LDAP jedoch einfach als virtuelles Telefonbuch verwendet, mit dem Benutzer einfach auf Kontaktinformationen anderer Benutzer zugreifen k�nnen. LDAP ist allerdings flexibler als ein herk�mmliches Telefonbuch, da es seine Verzeichnisse auf andere LDAP-Server weltweit �bertragen kann und somit zum globalen ad-hoc Repository von Informationen wird. 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 Zusammenlegung 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. OpenLDAP Features
OpenLDAP umfasst zahlreiche wichtige Features.
LDAPv3 Support — OpenLDAP 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 erh�hten 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.