Open Source im professionellen Einsatz
Linux-Magazin 07/2015
© aragami12345, 123RF

© aragami12345, 123RF

Rollenbasierte Zugriffskontrolle auf der Basis von LDAP

Rollenspiele

LDAP kann sich nicht nur Name und Passwort merken, sondern dank neuer Schemata auch alle Zusatzinformationen, die eine rollenbasierte Zugriffskontrolle braucht.

890

LDAP gibt es seit 1993 als RFC und auch in Zukunft wird es eine Rolle spielen: In der Cloud taucht es als Cloud Directory, Directory as a Service oder Identity Management as a Service auf. Auch im kommenden Internet of Things, wo es nicht um menschliche Identitäten geht, sondern um im Netz agierende Dinge wie Kühlschränke oder Verkehrsampeln, hat es seinen Platz.

Dabei stammen die Konzepte und das Datenmodell aus den 80er Jahren, als der Standard X.500 entwickelt wurde. LDAP, die Lightweight-Version von X.500, wurde in seiner jetzigen Version 3 bereits Ende der 90er Jahre von der IETF standardisiert.

Inzwischen hat sich LDAP insbesondere als Standard für die Accountverwaltung durchgesetzt, weil es eine Reihe ebenfalls standardisierter Authentifizierungsverfahren sowie standardisierte Schemata mitbringt, etwa für Personen, Accounts, Gruppen und Rollen. Auch Microsofts Verzeichnisdienst Active Directory nutzt LDAP. Immer wenn es um zentrale Authentifizierungs- und Autorisierungsdienste geht, also darum, Identitätsdaten zu verwalten (Identity Management), ist LDAP nach wie vor eine sehr beliebte Lösung.

Das objektorientierte LDAP-Datenmodell erlaubt es, neben den in RFCs standardisierten Schemata auch neue, eigene Schemata zu spezifizieren. Die Einsatzmöglichkeiten sind dadurch nahezu unbegrenzt. Dieser Artikel beschreibt eine neue Nutzungsmöglichkeit, nämlich die Speicherung von Zusatzinformationen, die aus einem LDAP-Server einen zentralen, externen Policy Decison Point (PDP) für die rollenbasierte Zugriffskontrolle zu beliebigen Ressourcen macht.

LDAP versus relationale Datenbanken

Zunächst ist es hilfreich, das LDAP-Modell kurz mit dem bekannteren relationalen Datenmodell zu vergleichen, um die Unterschiede und damit die LDAP-Eigenheiten deutlich zu machen (Tabelle 1). Als Fazit der Tabelle ist festzustellen, dass sich LDAP besonders durch eine größere Flexibilität gegenüber dem relationalen Modell auszeichnet.

Tabelle 1

LDAP versus relationales Modell

Aspekt

Relationale Datenbanken

LDAP

Organisation der Information

Entitätsinformationen werden logisch auf verschiedene Tabellen aufgeteilt und Relationen zwischen den Tabellen erstellt.

Entitätsinformationen bleiben logisch an einem Platz, nämlich in einem Informationsobjekt, das einen Knoten in einem hierarchischen Baum darstellt.

Mehrfachwerte

Mehrfachwerte eines Datenfelds erzwingen eine neue Tabelle (Normalisierung) oder verschiedene Datenfelder, zum Beispiel »Telefonnummer_1« , »Telefonnummer_2« .

Die Spezifizierung eines Datenattributs legt fest, ob es singlevalue oder multivalue ist. Im letzteren Fall lassen sich beliebig viele Mehrfachwerte speichern.

Schema

Es gibt keine standardisierten Tabellenschemata.

Es gibt international standardisierte Datenschemata insbesondere zur Abbildung von Organisations- und Personendaten, inklusive Gruppen- und Rollenkonzepten.

Vergleichsregeln

Vergleichsregeln sind nicht Teil des Datenmodells, sondern müssen in der Anwendungslogik implementiert werden. Manche Datenbanken unterstützen es, Groß- und Kleinschreibung nicht zu unterscheiden.

Vergleichsregeln sind Teil des Datenmodells. Man kann also bei einer Schemadefinition bestimmen, dass bei Wertvergleichen etwa von Telefonnummern nur die Ziffern, nicht aber Trenn- und Leerzeichen unterschieden werden. Es gibt mehrere Vergleichsregeln für Gesamtstring- und Teilstring-Vergleiche.

Flexibilität

Änderungen des Datenschemas, also der Tabellenstruktur, sind nachträglich nur schwer möglich, da meist die Anwendungslogik, mindestens aber die SQL-Abfragen anzupassen sind.

Änderungen des Datenschemas sind einfach möglich: Man fügt einem Informationsobjekt eine neue Objektklasse hinzu und kann dann entsprechende neue Attribute speichern. Änderungen betreffen jeweils nur die gewünschten Informationsobjekte. Die Anwendungslogik, die die neuen Attribute nicht verwendet, darf bleiben, wie sie ist.

Netzwerkzugriff

Es gibt kein standardisiertes Netzwerkprotokoll, jede Implementierung kann also nur über einen passenden Client angesprochen werden. Allerdings wurde ODBC als standardisierte Datenbankschnittstelle entwickelt.

Das Netzprotokoll ist wesentlicher Bestandteil des LDAP-Standards.Unterschiedliche Clients können auf denselben Datenbestand zugreifen. Eine Verteilung der Daten im Netz ist einfach möglich.

Abfragesprache

Mächtige und standardisierte Abfragesprache SQL, die auch Joins erlaubt, die Schnittmengen aus verschiedenen Tabellen bilden können.

Mächtige Suchmöglichkeiten mit standardisierter Syntax für LDAP-Filter. Joins sind nicht möglich, weshalb Schnittmengen in der Anwendungslogik implementiert werden müssen.

Transaktionen

Es gibt Transaktionen, das heißt, mehrere Operationen an mehreren Tabellen werden als Ganzes nur durchgeführt, wenn alle Operationen fehlerfrei waren.

Es gibt keine Transaktionen. Allerdings lassen sich mehrere Änderungen an einem Eintrag als eine Operation durchführen, wodurch sie ebenfalls nur durchgeführt wird, wenn alle Änderungen fehlerfrei waren.

Authentifizierung

Proprietäre Authentifizierungsmechanismen

Verschiedene standardisierte und über das Netz funktionierende Authentifizierungsmechanismen.

Die bessere Anpassungsfähigkeit rührt daher, dass sich die Datenschemata für die Einträge durch Objektklassen definieren lassen, die beliebig zu kombinieren sind. Wer Attribute speichern möchte, die in den gegebenen Objektklassen fehlen, der nimmt einfach weitere Klassen hinzu, die die fraglichen Attribute ergänzen. Andere Teile der Datenstruktur ändern sich dadurch nicht, auch die Anwendungslogik wird nicht beeinträchtigt.

Zwei Kontrollverfahren: ABAC und RBAC

Generell wollen Eigentümer von Ressourcen in jeder IT-Umgebung bestimmen, wer darauf zugreifen darf und wer nicht. Dafür braucht es eine Authentifizierung, über die sich ein Benutzer ausweist. Die Zugriffsberechtigung leitet sich zumeist erst über weitere Merkmale ab. Grundsätzlich kann der Anwender zwischen RBAC (Role Based Access Control), also rollenbasierter Zugriffskontrolle, und ABAC (Attribute Based Access Control) unterscheiden.

Bei der letztgenannten bilden Regeln die Zugriffsentscheidungen, die Attribute sowohl des Benutzers als auch der in Frage stehenden Ressource beinhalten können. Eine solche Regel könnte lauten: "Alle Ressourcen, die unter der Sicherheitsstufe Stufe 1 eingruppiert sind, können Benutzer, die Berechtigung für Sicherheitsstufe 1 haben, lesend nutzen." Mit XACML [1] steht ein zunehmend genutzter OASIS-Standard für die Formulierung solcher Regeln zur Verfügung. RBAC ist letztendlich eine Untermenge von ABAC, das die Regeln ausschließlich über Rollenmitgliedschaften des Benutzers bildet. Hierfür wurde der ANSI-Standard RBAC [2] spezifiziert.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Ich-Findung

    Es ist ein Top-Thema der IT: Identity Management, also der Umgang mit digitalen Identitäten und ihr Einsatz in verschiedenen Applikationen. Im Mittelpunkt stehen Sicherheitsfragen, die Managementaufgabe geht darüber hinaus. Ein Leitfaden durch das Labyrinth der Techniken, Produkte und Verfahren.

  • Verbindliche Auskünfte

    Mit einigen Konfigurationsarbeiten lassen sich Zope und der Verzeichnisdienst LDAP verbinden. Ab sofort benutzt und verwaltet der Applicationserver nicht mehr seine eigene Userdatenbank, sondern die zentrale von LDAP - der anfallende Pflegeaufwand sinkt.

  • RHEL 5 erhält Sicherheitszertifizierung EAL4+

    Red Hat Linux hat eine neue Zertifizierung erlangt: Der Hardware-Hersteller IBM hat das Zertifikat EAL4+ für den Einsatz von Red Hat Enterprise Linux 5 auf den IBM-Mainframes System X, P5 und dem W-Server-System erhalten.

  • Container

    In dem Maße, wie Containerlösungen wie Docker in Unternehmen immer mehr Anwender finden, rücken Sicherheitsaspekte stärker in den Fokus. Schon länger bescheinigen Kritiker Docker Schwächen in diesem Bereich. Doch wo genau hat sich das Projekt verhoben?

  • Regel-recht

    Eine ausgefeilte Zugriffskontrolle ist die Basis eines sicheren Linux. Die National Security Agency (NSA) entwickelt mit SE Linux ein komplexes System unter der GPL, in dem der Admin die Rechte exakt regelt. Dieser Beitrag erläutert Hintergründe, Grundlagen, Installation und Praxis.

comments powered by Disqus

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.