LDAP-IDP-Service mit cidaas Integration

In Unternehmen werden auch in 2021 noch LDAP Dienste verwendet, um Benutzerauthentifizierungen durchzuführen. Auch wenn bereits klar ist, dass OpenId Connect und OAuth2 die neuen Defacto-Standard für die Benutzerauthentifizierung sind, muss der Wechsel sauber geplant sein. Daher machen in manchen Umgebungen Migrationsverfahren Sinn, wo durch die die flächendeckende Einführung von cidaas mit Hilfe dieses LDAP Services beschleunigt werden kann. In diesem Beitrag wird beschrieben, was der cidaas LDAP Service leistet, wie dieser in Unternehmen verwendet werden kann und welche Sicherheitsaspekte berücksichtigt werden müssen.

01

Motivation

LDAP-Services, wie zum Beispiel. Microsoft’s Active Directory Service, Oracle Internet Directory, und OpenLDAP basieren darauf, dass in einem Verzeichnisbaumstruktur Informationen abgelegt werden. Damit werden Organisationsstrukturen abgebildet und die Mitarbeiter in diesen Organisationseinheiten organisiert. Die Verwaltung eines Passwortes beim Mitarbeiter (Benutzer) ist dann nur ein kleiner Schritt, um eine Benutzerauthentifizierung mit einem LDAP Service zu ermöglichen. Aus diesem Grund werden LDAP Services in Unternehmen häufig für die Benutzerauthentifizierung verwendet. Die Verzeichnisstrukturen haben manche Hersteller soweit ausgebaut, dass auch Systemelemente, wie Computer oder Drucker in diesen Verzeichnisdiensten verwaltet werden.

Neue, leistungsfähige Standards haben sich mit Beginn des Internets und der Mobile Ära entwickelt, die eine sichere Benutzerauthentifizierung und ein leistungsfähigeres Berechtigungsmanagement ermöglichen. Die nachfolgende Grafik zeigt die Entwicklung der Authentifizierungs- und Autorisierungsstandards.

Authentifizierung und Autorisierungsprotokolle Zeitachse und Historie

Spätestens seit „Digitalisierung“ über vielem steht, sind sichere und zukunftsfähige IAM Lösungen, wie cidaas, gefragt. Eine kompatible Anbindung von LDAP Clients soll der cidaas LDAP-IDP-Service ermöglichen, um Migrationsvorhaben deutlich zu beschleunigen. Cidaas unterstützt die Protokolle OpenId Connect, OAuth2 und Device Authorization Protokolle. Darüber hinaus bietet cidaas viele Verifikationsmethoden für Benutzer, die passwortlos sind und in Kombination eine Multifaktorauthentifizierung ermöglichen.

Mit dem cidaas LDAP Service kann die Benutzerauthentifizierung eines im Unternehmen vorhandenen LDAP Service abgelöst werden können, sodass das Benutzermanagement und die Benutzerauthentifizierung in cidaas zentral erfolgt. Damit

  • wird ein SSO mit denselben User-Credentials erreicht
  • kann cidaas als Cloud SaaS sicher mit LDAP verwendet werden
  • können Benutzer zentral verwaltet werden (Benutzerinformationen, Sperren, Berechtigungen)
  • können bestehende Applikationen weiterverwendet werden, wenn eine OIDC/OAuth2 oder SAML2 basierte Authentifizierungsmethode nicht oder noch nicht funktioniert.

02

Rückblende LDAP

Aufbau LDAP Baumstruktur - LDAP cidaas Integration

Ein Verzeichnisbaum bietet die Möglichkeiten unterschiedliche Informationen abzulegen und diese Informationen zu suchen. Die Idee, Informationen in einem Verzeichnisbaum zu strukturieren, ist grundsätzlich gut, wenn die Informationen einer Hierarchie folgen. Das war viele Jahre in Unternehmen ein praktikabler Ansatz, insbesondere wenn die Organisationseinheiten funktional und hierarchisch strukturiert sind. Um beispielsweise. Applikationen mit verschiedenen Berechtigungen zu versehen, wurden Benutzergruppen gebildet, wobei eine Benutzergruppe auch einer Benutzerrolle entsprechen kann – meist werden in Systemen diese Gruppen dann auch auf Rollen abgebildet. Eine Gruppe von Benutzern erhält damit einen definierten Satz an Berechtigungen.

Für Benutzer kann darüber hinaus auch ein Passwort im LDAP Element verwaltet werden und je nach Implementierung auch eine Historie von verwendeten Passwörtern. Die Ablage dieser Passwörter erfolgt in der Regel als Hashwert (z.B. SHA-1 oder SHA-256). Damit kann eine Authentifizierung von Benutzern mit der Kombination „Benutzerkennung und Passwort“ im LDAP Server erfolgen.

03

Unterschiede LDAP und cidaas

Über die Vor- und Nachteile beider Technologien bzw. Produkte zu sprechen ist unfair, weil die Vorteile klar bei cidaas liegen.

03.1

Sicherheitsrelevante Kritikpunkte bei LDAP

  • Das Ldap(s) Protokoll sieht keine Vorab-Authentifizierung der Client-Applikation vor, das bedeutet, dass grundsätzlich jede Applikation den LDAP Service aufrufen kann.
  • Eine Benutzerauthentifizierung mit LDAP kann unterschiedlich implementiert werden, in der Regel wird aber davon ausgegangen, dass zunächst eine Suche des Benutzers stattfindet.
  • Die administrative Authentifizierung kann als Alibi-Authentifizierung betrachtet werden, weil das LDAP Protokoll kein zustandsbehaftetes Protokoll ist beziehungsweise keine Abfolge von Aufrufen zwingend voraussetzt, beispielsweise
    1. Bind mit administrativem User
    2. Search nach Objekten bzw. Bind eines herkömmlichen Users
  • LDAP Services müssen Anfragen von beliebigen Clients akzeptieren, um die Fähigkeiten bzw. Strukturinformationen über den Aufbau der Verzeichnisstruktur zu liefern. Dieser Zugriff muss zusätzlich beispielsweise mittels einer Firewall eingeschränkt werden.
  • Es kann grundsätzlich nicht verhindert werden, dass ein LDAP Service das gehashte Passwort an den Client zurückliefert, was lokale Brute-Force Angriffe vereinfacht.
  • Grundsätzlich ist der LDAP Service unter anderem nur ein „Benutzerauthentisierungsdienst“ dessen Funktionalität auf Wissen basiert nämlich „Benutzerkennung und Passwort“. Ansonsten bietet der LDAP Service keine weiteren Verifikationsverfahren an.
  • Als Konsequenz der beschriebenen Schwachpunkte kann ein LDAP Service nicht als öffentliche Schnittstelle im Internet zur Authentifizierung bspw. in Web-Applikationen oder mobilen Applikationen verwendet werden

Die Verwendung eines LDAP Services in einer sicheren, geschlossenen Umgebung ist grundsätzlich weniger problematisch, solange eine geeignete Überwachung und regelmäße Prüfungen stattfinden.

03.2

Fehlende Funktionen in LDAP

  • LDAP Services sind grundsätzlich so strukturiert, dass eine zentrale Administration erfolgt, eine verteilte Administration verursacht einen hohen organisatorischen Aufwand. Das Management von Teilbäumen ist ein theoretisches Konstrukt, was in der Praxis selten trägt, weil bspw. Benutzer in mehreren Organisationseinheiten sind.
  • Benutzer-Self-Services sind aufwändig über das LDAP Protokoll zu erreichen und in der Regel über Zusatzprodukte implementiert
  • Die Verknüpfung von Benutzerberechtigungen und einer Applikation ist nicht durch den LDAP Service überprüfbar, weil lediglich die Daten nicht aber die notwendige Logik vorhanden ist.
  • Multifaktorauthentifizierungen oder eine Betrugserkennung ist nicht in LDAP-Services vorhanden

03.3

Andere Paradigmen

LDAP implementiert einen Verzeichnisbaum, cidaas implementiert keinen Verzeichnisbaum. Damit ist die Navigation innerhalb von Hierarchien in cidaas nicht sinnvoll möglich. Anstelle einer Baumstruktur verwendet cidaas ein Gruppenkonzept und Benutzerrollen, die aus einer Berechtigungsperspektive flach und einfach verwendet werden können. Dadurch ergeben sich leistungsfähigere Möglichkeiten Benutzer zu filtern.
Cidaas implementiert lediglich „group“ und „user“ Objekte.

03.4

Gründe für den Einsatz des cidaas LDAP Service

Der Einsatz des cidaas LDAP Service ist mit der Einführung von cidaas möglich. Sinnvoll ist der Einsatz, wenn bestehende Applikationen für einen definierten Zeitraum LDAP benötigen und erst im Rahmen deren Lifecycle Management neue Authentifizierungsstandards verwenden werden.

04

Integration des cidaas LDAP Services

04.1

Integrationsarchitektur

Der cidaas LDAP Service wird als Docker Image bereitgestellt und auf einem Serversystem im Unternehmen betrieben. Der LDAP Service sollte weder in der Cloud betrieben werden, noch soll er öffentlich erreichbar sein.
cidaas kann, wie vorgesehen als SaaS genutzt werden, weil die Verbindung des LDAP Service über sichere, internetfähige Protokolle stattfindet.

LDAP-IDP-Service mit cidaas Integration

Jeder LDAP Client wird in cidaas als eigenständige App konfiguriert und mit individuellen Gruppen- und Rollenberechtigungen versehen. Damit wird sichergestellt, dass ein Clientsystem nicht Zugriff erhält auf Benutzerinformationen, die nicht in ihrem Scope liegen. Der cidaas LDAP Service kann demnach als sicherer betrachtet werden als herkömmliche LDAP Services.

04.2

Einschränkungen

Der cidaas LDAP Service besitzt eine definierte Funktionalität, die sich ausschließlich auf die Benutzerauthentifizierung und -autorisierung beschränkt.

  • Eine Bearbeitung der Entitäten im LDAP Verzeichnis ist über den Service nicht möglich und nicht gewünscht. Solche Konfigurationen sind in cidaas, über das Admin-Dashboard oder die cidaas APIs vorzunehmen.
  • Die cidaas LDAP Service bietet keine MFA Funktion an. Sollte MFA benötigt werden, empfiehlt sich ein Austausch von LDAP im Client und die Nutzung von SAML2 oder OpenId Connect.
  • Der cidaas LDAP Service bietet die Suche von Entitäten für die Objekte „user“ und „group“
  • Es können keine cidaas LDAP Schemata abgerufen werden, es wird ein generisches Schema unterstützt

05

Empfehlungen: Ablösung von LDAP Services

Im Unternehmen sollte die Ablösung von LDAP Services aus mehreren Gründen erwogen werden:

    • Aufgrund der schwachen Authentifizierungslösung als solcher
    • Durch die fehlenden Integrationsmöglichkeiten mit Cloud-Softwarelösungen,
    • Aufgrund der suboptimalen Verwendung in Umgebungen, in denen Work-From-Home oder mobiles Arbeiten realisiert wird – da in diesen Fällen stets VPN Netzwerke notwendig sind und
    • weil weitere Verwendungsmöglichkeiten des LDAPs bspw. das Device-Management oder Domänenverwaltung längst von leistungsfähigeren Device-Management Lösungen übernommen werden

Der Einsatz von cidaas ersetzt eine LDAP basierte Authentifizierung. Als Quick-Win eignet sich der cidaas LDAP Service jedoch, damit Systeme im Kompatibilitätsmodus weiterverwendet werden können.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.