Was ist das Lightweight Directory Access Protocol (LDAP)?
- IAM-Glossar
- Was ist das Lightweight Directory Access Protocol (LDAP)?
Das Lightweight Directory Access Protocol (LDAP) ist ein offenes, anbieterneutrales Protokoll, das von Anwendungen verwendet wird, um über ein Netzwerk auf Verzeichnisinformationen zuzugreifen und diese zu verwalten. Ein Verzeichnis ist ein zentraler Speicher für Daten zu den Benutzern, Gruppen und Geräten eines Unternehmens, und LDAP wird meist verwendet, um Benutzer anhand dieses Verzeichnisses zu authentifizieren. LDAP arbeitet im Hintergrund, wenn sich Benutzer mit einem einzigen Benutzernamen und Passwort bei einem geschäftlichen E-Mail-Konto, einem VPN oder einer internen Unternehmensanwendung anmelden. Anstatt dass jede Anwendung ihre eigene Benutzerliste verwaltet, ermöglicht es LDAP mehreren Anwendungen, Zugangsdaten anhand eines gemeinsam genutzten, zentralen Verzeichnisses zu überprüfen, was LDAP zu einer grundlegenden Technologie für die Anmeldung bei Unternehmenssystemen macht.
LDAP wurde als einfachere, effizientere Alternative zum Directory Access Protocol (DAP) entwickelt, einem älteren, ressourcenintensiven Zugriffsprotokoll aus dem X.500-Verzeichnisstandard. LDAP behielt die Kernidee eines strukturierten Verzeichnisses bei und beseitigte gleichzeitig die komplexe Implementierung sowie den Overhead, was die Einführung deutlich erleichterte.
LDAP vs. Active Directory
Obwohl oft angenommen wird, dass LDAP und Active Directory konkurrierende Alternativen sind, handelt es sich um zwei völlig verschiedene Dinge. LDAP ist ein standardisierter Regelsatz oder eine gemeinsame Sprache für den Zugriff auf und die Verwaltung von Verzeichnisinformationen. Es speichert selbst keine Daten. Es ist vielmehr das Protokoll, das von Anwendungen für die Kommunikation mit einem Verzeichnis verwendet wird.
Active Directory (AD) ist das Verzeichnisdienstprodukt von Microsoft zum Speichern und Verwalten von Informationen über Benutzer, Gruppen und Geräte in einem Netzwerk. LDAP ist ein Protokoll, das Active Directory verwendet, damit Anwendungen aus seinem Verzeichnis lesen und in dieses schreiben können. Einfacher ausgedrückt ist LDAP eine Sprache, die Active Directory sprechen kann. Da LDAP ein offener, anbieterneutraler Standard ist, wird es von einer Vielzahl von Verzeichnisprodukten und -diensten unterstützt, darunter OpenLDAP, JumpCloud und Oracle Internet Directory. Anwendungen können sich auf dasselbe Protokoll verlassen, unabhängig davon, welches Verzeichnis ein Unternehmen verwendet. Diese Flexibilität ist ein wesentlicher Grund dafür, warum LDAP so weit verbreitet ist.
Wie funktioniert LDAP?
LDAP folgt einem Client-Server-Modell, bei dem der Client die Anwendung ist, die Verzeichnisinformationen benötigt (eine Anmeldebildschirm oder ein E-Mail-Programm), und der Server das Verzeichnis selbst ist. Bei einer typischen Interaktion mit einem LDAP-Verzeichnis sendet der Client eine Anfrage, der LDAP-Server verarbeitet diese anhand des Verzeichnisses und der Server sendet eine Antwort zurück. Um zu verstehen, wie ein Verzeichnis strukturiert ist, hilft es zu verstehen, was darin gespeichert werden kann:
- Eintrag: Ein einzelner Datensatz im Verzeichnis. Ein Eintrag repräsentiert üblicherweise eine Sache, wie etwa eine Person, eine Gruppe oder ein Gerät.
- Attribute: Die mit einem Eintrag verknüpften Daten, einschließlich eines Namens, einer E-Mail-Adresse, einer Telefonnummer oder einer Abteilung. Jedes Attribut hat einen Typ und einen Wert.
- Einzigartiger Name (Distinguished Name, DN): Die eindeutige „Adresse“, die einen Eintrag innerhalb des Verzeichnisses identifiziert. Das bedeutet, dass keine zwei Einträge denselben DN haben können. Er wird als Pfad geschrieben, der aus dem Namen des Eintrags sowie den Kategorien, unter denen er eingeordnet ist, besteht und dem Verzeichnis genau mitteilt, wo ein Eintrag zu finden ist.
Einträge sind in einer Hierarchie strukturiert, die als Directory Information Tree (DIT) bezeichnet wird. Wie ein Organigramm eines Unternehmens verzweigt sich der DIT von einer breiten Wurzel nach unten in engere Gruppierungen wie Abteilungen und schließlich zu einzelnen Einträgen wie Benutzern. Diese Baumstruktur macht einen DN als Pfad lesbar, wobei der DN jeder Person den Weg von der Spitze des Baums bis zu ihrem Eintrag nachzeichnet.
Häufige Anwendungsfälle für LDAP
Fast alles, wofür LDAP verwendet wird, geht auf einen zentralen Gedanken zurück: Viele Anwendungen können eine zentrale maßgebliche Quelle für Benutzer und Ressourcen gemeinsam nutzen, anstatt dass jede Anwendung ihre eigene verwaltet. Nachfolgend sind die häufigsten Methoden aufgeführt, wie Unternehmen LDAP nutzen.
Authentifizierung und Autorisierung
Der Hauptanwendungsfall von LDAP umfasst sowohl die Authentifizierung als auch die Autorisierung. Bei der Authentifizierung wird überprüft, wer ein Benutzer ist, was wiederum über die LDAP-Bind-Operation geschieht: Eine Anwendung übermittelt eine Benutzeridentität und ein Passwort, die das Verzeichnis bestätigt oder ablehnt. Bei der Autorisierung wird entschieden, was ein authentifizierter Benutzer tun darf. LDAP-Verzeichnisse organisieren Benutzer in Gruppen, und Anwendungen überprüfen die Gruppenmitgliedschaft, um den Zugriff zu gewähren oder zu verweigern. Zum Beispiel können nur Mitglieder der Gruppe „HR“ im Gehaltsabrechnungssystem Bearbeitungen vornehmen.
Zentralisierte Benutzerverwaltung
Üblicherweise führte jede Anwendung ihre eigene Liste von Benutzern und Passwörtern. Das Onboarding eines neuen Mitarbeiters bedeutete früher, Konten an vielen verschiedenen Stellen einzeln zu erstellen, und das Offboarding bedeutete, jedes dieser Konten zu finden und zu deaktivieren. Wurde auch nur ein einziges übersehen, stellte dies ein echtes Sicherheitsrisiko dar. Mit LDAP gibt es ein einziges Verzeichnis, gegenüber dem sich jede Anwendung authentifiziert. Das Ergebnis sind ein schnelleres Onboarding, ein reibungsloseres Offboarding, einheitliche Passwortrichtlinien und ein zentraler Ort, um zu überprüfen, wer worauf Zugriff hat.
SSO-Grundlagen (Single Sign-On)
Da jede Anwendung auf dasselbe Verzeichnis verweisen kann, bildet LDAP die Grundlage für Single Sign-On (SSO), bei dem ein einziger Satz von Zugangsdaten über verschiedene Systeme hinweg funktioniert. Zur Klarstellung: LDAP ist eine Grundlage für SSO und nicht SSO selbst. Ein vollständiges SSO-Erlebnis, bei dem sich ein Benutzer einmal anmeldet und zwischen Apps wechselt, ohne ein Passwort erneut eingeben zu müssen, umfasst in der Regel zusätzliche Protokolle. Die zugrundeliegende gemeinsame Identitätsquelle ist jedoch häufig ein LDAP-Verzeichnis.
Kontaktabfragen
Da das Verzeichnis Personen zusammen mit ihren Attributen enthält, können Anwendungen es als gemeinsames, unternehmensweites Adressbuch abfragen. So kann beispielsweise ein E-Mail-Client die Adresse eines Kollegen automatisch vervollständigen, wenn jemand beginnt, dessen Namen einzugeben; oder eine Suche im „Mitarbeiterverzeichnis“ in einem internen Tool liefert die Informationen zu einem Kollegen. Hier funktioniert LDAP genau wie vorgesehen: Verzeichnisse sind leseoptimiert und darauf ausgelegt, ein hohes Volumen an schnellen Suchvorgängen zu bewältigen, wodurch sie sich hervorragend für diese Art von Abfragen eignen.
Speichern von Konfigurationsinformationen
Neben Personen kann ein Verzeichnis auch Einträge für Maschinenressourcen speichern, darunter Netzwerkdrucker, Server und freigegebene Geräte. Dies ermöglicht es Anwendungen und Benutzern, diese Ressourcen von einem zentralen Ort aus zu erkennen und sich mit ihnen zu verbinden, anstatt jede einzelne manuell konfigurieren zu müssen. Eine Workstation kann über das Verzeichnis einen Drucker in der Nähe finden oder ein System kann beim Start seine Geräteeinstellungen abrufen. Obwohl es sich um einen kleineren Anwendungsfall handelt, zeigt dies die Flexibilität von LDAP.
LDAP-Ports und Sicherheit
Standardmäßig kommuniziert LDAP über Port 389, den Standardport für LDAP-Datenverkehr. Für sich genommen ist LDAP jedoch unverschlüsselt, sodass Daten im Klartext übertragen werden. Jeder, der diesen Datenverkehr abfangen kann, könnte ihn mitlesen, einschließlich vertraulicher Informationen wie Benutzernamen und Passwörtern. Das ist ein großes Risiko für ein Protokoll, das so häufig für Anmeldungen verwendet wird. Aus diesem Grund wird eine Verschlüsselung dringend empfohlen. Hier sind zwei der gängigsten Methoden zur Absicherung von LDAP:
- LDAPS verwendet Port 636. Hier wird die Verbindung verschlüsselt, sobald sie hergestellt ist, sodass der Datenverkehr während der gesamten Sitzung geschützt ist. Das S steht für „Secure“, genau wie bei HTTPS.
- StartTLS wird über den Standardport 389 ausgeführt. Anstatt einen separaten sicheren Port zu verwenden, beginnt es als gewöhnliche LDAP-Verbindung und wird dann mithilfe von TLS zu einer verschlüsselten Verbindung aufgerüstet. Das Endergebnis ähnelt LDAPS, wird jedoch auf demselben Port statt auf einem dedizierten Port ausgehandelt.
Die wichtigste Erkenntnis ist, dass einfaches LDAP auf Port 389 an sich keinen Schutz bietet. Eine Verschlüsselung sollte als unerlässlich angesehen werden, sei es über LDAPS auf Port 636 oder StartTLS auf Port 389.
Vor- und Nachteile von LDAP
Die Stärken von LDAP erklären, warum es seit Langem eine tragende Säule der Unternehmensidentität ist, während seine Einschränkungen auf Situationen hinweisen, in denen es unterstützende Tools benötigt oder nicht die beste Wahl ist.
| Vorteile von LDAP | Nachteile von LDAP |
|---|---|
Vorteile von LDAP
| Nachteile von LDAP
|