Was ist LDAP und wie funktioniert es?

LDAP steht für Lightweight Directory Access Protocol und erlaubt Applikationen schnell auf User Informationen zuzugreifen. In diesem Artikel bekommen Sie alle Informationen, wofür das Protokoll verwendet wird, wie es funktioniert und alles, was Sie als LDAP Genie sonst noch so wissen müssen!

 

Erklären Sie mir LDAP – Was genau ist es?

 

Was ist LDAP? LDAP wird “el dap” ausgesprochen und ist eine Sprache, die zur Verwaltung von Usern, Attributen und Authentifizierung verwendet wird. Es ist eine lightweight Version des X.500. Es wurde 1993 entwickelt, obwohl es damals LDBP hieß, wobei das B für “Browsing” steht.

 

LDAP ist eines der wesentlichen Protokolle das verwendet wird um User und ihre Zugriffsrechte zu verwalten. Heute ist es eines von vielen Protokollen, das für Directory Services verwendet wird, wie um auf Email Adressen, Zugangsdaten und weitere Daten zuzugreifen. Nach der Entscheidung für eine Directory Storage kann LDAP auch Einträge hinzufügen, löschen oder verändern, und diese auch durchsuchen, damit User authentifiziert und authorisiert werden können, für den Zugriff auf bestimmte Daten.

 

LDAP hat drei wesentliche Funktionen. Erstens, es kann Directory Informationen hinzufügen, löschen oder verändern. Zweitens kann es Informationen im Directory suchen und vergleichen. Drittens kann es authentifizieren, Aktionen autorisieren oder diese verhindern, sodass der Server den Task nicht ausführen kann. Ein typischer LDAP Query hat vier Teile: Verbindung, Anfrage, Antwort, Fertigstellung.

 

Mitarbeiter werden meist mittels LDAP zugreifen. Das kann sein, von wenn sie ein Passwort verifizieren, bis zu wenn sie sich mit einem Drucker oder einem anderen Gerät verbinden.

 

Grundlage von LDAP

 

Wenn Sie erst mit LDAP starten, brauchen Sie einige Vokabeln. Es gibt eine ganze Menge neuer Wörter in der Welt von LDAP! Hier sind die wichtigsten gesammelt! (Hier haben wir noch eine ausführlichere Liste auf Englisch)

# Information Tree: Ein Information Tree oder Directory Information Tree ist wie LDAP die Daten strukturiert und wird verwendet um alle Einträge im Directory Service zu zeigen. Häufig wird die Abkürzung DIT verwendet.

 

#Distinguished Name: Oder kurz DN, ist der unique Identifier für jeden LDAP Eintrag. Es ist auch die Unterscheidung, wie zwischen Informationen im DIT unterschieden werden kann.

 

#Relative Distinguished Name: Das beschreibt, wie DNs mit einander verbunden sin dim Bezug auf Ort auf dem DIT. Sehen Sie? Sie kennen sich schon total gut aus!

 

#Modification: Wann auch immer LDAP User Change-Requests stellen, ist das eine Modification. Zum Beispiel könnten sie Daten hinzufügen, verändern oder löschen.

 

#Object Identifier: Auch als OID bekannt, ist eine Serie an Nummern, die mit “.” Unterteilt werden, die als unique Identifier eines Elements im LDAP Protokoll dient. Eine Verwendung ist für die Kontrolle von Anfragen und Antworten.

 

#Schema: Das ist der Name für den Code von LDAP und spezifiziert die Informationen, die ein Directory Server braucht. Denken Sie an Attribute, Regeln, Object Clauses und mehr.

 

#LDAP URIs: Diese werden für Referenzen verwendet oder um spezielle Verbindungen herzustellen. Ein URI (uniform resource identifier) verbindet die verstreuten Teilstücke einer Imformation.

 

Was ist der Unterschied zwischen LDAP und Active Directory?

 

Viele Menschen verwenden LDAP und AD gleichwertig, aber das ist eine Katastrophe! Tatsächlich sind zwar viele Microsoft AD Basics aus LDAP übernommen und sie verwenden LDAP, aber sie sind NICHT das gleiche! AD verwendet meist Kerberos für die Authentifizierung, ein komplett anderes Protokoll. AD braucht auch Domain Controller und ist nicht Herstellerneutral. Es funktioniert am Besten mit Windows Geräten und Betriebssystemen, da es ein Microsoft Tool ist.

 

Während LDAP und AD gut zusammenarbeiten, ist AD zuständig für die Verwaltung von Windows IT Assets, während LDAP mit anderen Systemen, wie Linux Systemen, verwendet werden kann.

 

 

LDAP in der Cloud

 

LDAP wurde für On Premise Systeme entwickelt, aber viele Unternehmensarbeitsschritte passieren in der Cloud. Hier kommt ein modernes LDAP in Form eines Directory-as-a-Service ins Spiel. Mit diesem Modell existieren Server mit Cloud LDAP bereits in der Cloud sodass Unternehmen dieses Directory nicht länger selbst aufsetzen und verwalten müssen oder diese Systeme und Prozesse integrieren müssen. Stattdesssen müssen Sie nur die LDAP Endpunkte anschließen und los gehts!

 

Was sind die Vorteile von LDAP?

 

Wenn Sie sich fragen ob LDAP für Sie gut passt, hier haben wir die Gründe die dafür sprechen:

 

Erstens ist es Open Source. Das heißt, es kostet nichts, es gibt Support von einer großen Community wenn Sie es aufsetzen und verwalten möchten, egal on in Ihrer eigenen Umgebung oder der Ihrer Kunden. Allerdings ist es – im Gegensatz zu vielen anderen OS tools – standardisiert, durch den Standard RFC 2251. Das heißt die Industrie wird das Protokoll weiter unterstützen.

 

Sie können LDAP für viele Use Cases einsetzen und es ist mit vielen Betriebssystemen und Geräten kompatibel Das macht es super flexibel!

 

Zu guter Letzt ist es sehr sicher und die Kommunikation kann mittels SSL oder TLS verschlüsselt werden.

 

Reden wir nun über die Nachteile– gibt es da welche?

 

Wie bei jeder IT Entscheidung, gibt es auch hier einige negative Punkte. Einerseits gibt es neuere Protokolle die eine bessere Wahl sein könnten, insbesondere für die Verwendung von Clouds. Andererseits ist es kein Protokoll, das Sie als Neuling einfach bedienen können. LDAP Setup und Wartung braucht jemanden mit Netzwerk Expertise. Je größer die Organisation, desto mehr Probleme werden Sie haben dieses Directory aufzusetzen um Ihre Umgebung bestmöglich abzubilden.

 

Active Directory implementiert LDAP

 

Die bekannteste Implementierung von LDAP ist ohne Zweifel das Active Directory von Microsoft. Dabei ist LDAP eine der vier wesentlichsten Komponenten des AD neben CFIS, DNS und Kerberos.. Das LDAP Verzeichnis stellt der AD die Informationen über Computer, Nutzer und den Gruppen, denen sie angehören, bereit.

 

Zusätzlich werden Objekte wie Zertifikate von Computern in LDAP gespeichert.

 

So ist LDAP aufgebaut

 

Der Aufbau von LDAP ist simpel. Es besteht aus unterschiedlichen Objekten und folgt dem Ansatz objektorientierter Programmierung. Das heißt es besitzt Objekte, Klassen, Vererbung und Polymorphie.

 

Zum Beispiel besteht ein jeder Verzeichniseintrag au seiner Liste von Attributen sowie einem Objekt, der Bezeichnung dieses Objektes und dem DN (dem Distinguished Name).

 

Der ist vergleichbar mit einem Dateinamen, daher gilt hier auch eine Dateinamenkonvention: Auf ein und derselben Ebene ist es nicht möglich ein Objekt mit gleichem Namen zu haben.

 

Objekte mit einem “OU” im Namen sind Container, die weitere Objekte enthalten können. Diese OU-Objekte sind das Grundgerüst der gesamten Struktur. Dem Standard RFC 2253 folgend gibt es (neben weiteren) diese folgenden Attributtypen:

 

  • C: countryName
  • CN: commonName
  • DC: domainComponent
  • L: localityName
  • O: organizationName
  • OU: organizationalUnitName
  • ST: stateOrProvinceName
  • STREET: streetAddress
  • UID: userid

 

Obwohl das initial etwas verwirrend und komplex wirkt, wird die Struktur mit einem Blick ins Active Directory recht schnell verständlich. Der Grund für dieses scheinbar komplexe Konstrukt ist die Tatsache, dass LDAP einen möglichst universellen Ansatz verfolgt. Machen wir es etwas einfacher mit einem Beispiel:

 

Sagen wir unser Active Directory heißt test.local. Wir erstellen einen User mit dem Namen Max Mustermann. Der Distinguished Name sieht so aus:

 

CN=Max Mustermann, DC=test, DC=local

Das Objekt kommt nun in einen OU „Personen“ und der DN erweitert auf:

CN=Max Mustermann, OU=Personen, DC=test, DC=local

In der OU „Personen“ erstellen wir nun eine weitere OU für die bessere Orientierung. Dieser OU heißt „Mitarbeiter“. Der DN ist nun:

CN=Max Mustermann, OU=Mitarbeiter, OU=Personen, DC=test, DC=local

 

Die Logik ist also ganz einfach. Der CN ist der Name des Objektes und steht links, während rechts die Domänenstruktur  abgebildet ist und anzeigt, wo das Objekt zu finden ist (startend von rechts: local, test, Personen, Mitarbeiter).

 

Es gibt viele Programme, die mit LDAP die Verzeichnisstruktur abfragen können, wie der LDAP Admin. Optional können auch Skripte verwendet werden, wie ein PowerShell Skript:

 

$strFilter = “(&(objectCategory=User)(Department=Redaktion))”
$objDomain = New-Object System.DirectoryServices.DirectoryEntry
$objSearcher = New-Object System.DirectoryServices.DirectorySearcher
$objSearcher.SearchRoot = $objDomain
$objSearcher.PageSize = 1000
$objSearcher.Filter = $strFilter
$objSearcher.SearchScope = “Subtree”
$colProplist = “name”
foreach ($i in $colPropList){$objSearcher.PropertiesToLoad.Add($i)}
$colResults = $objSearcher.FindAll()
foreach ($objResult in $colResults)
{$objItem = $objResult.Properties; $objItem.name}

 

Das liefert Nutzernamen von Mitarbeitern einer Abteilung.  Je nach Gebrauchsfall können Sie das Script natürlich jederzeit an Ihre eigenen Bedürfnisse anpassen! Sie können es beliebig erweitern oder Teile weglassen, je nachdem, wie Ihr gewünschtes Ergebnis tatsächlich aussehen soll!

Sehen Sie Atera in Aktion

Unsere RMM-, PSA- und RemoteAccess-Lösung wird ihre Arbeitsweise als MSP komplett umkrempeln.