FreeIPA: Active Directory mit freier Software

Gordon Saunders, 123RF

Zusammengeschweißt

Im Gegensatz zu OpenLDAP hat das noch junge FreeIPA das Zeug, sich mit einer Technologie wie Active Directory zu messen. Der Beitrag erklärt, warum das so ist und wie man FreeIPA in der Praxis einsetzt.
Sicher verstaut - Deduplizierung spart Platz, Cloud-Backup für Windows, Areca sichert kostenlos. ADMIN 01/14 stellt Backups für Profis mit und ohne Cloud ... (mehr)

Der Begriff Alternative bedeutet in diesem Zusammenhang nicht, dass FreeIPA ein Active Directory ersetzen kann, sondern im Unix-Umfeld eine Technologie zur Verfügung stellt, die konzeptionell mit Microsofts mit Windows 2000 eingeführtem Domänen-Konzept vergleichbar ist. Um beurteilen zu können, was FreeIPA leistet, ist es hilfreich, sich ein paar Grundlagen in Erinnerung zu rufen. In der IT steht der Begriff Verzeichnis für eine Ansammlung von Objekten und Informationen, die in einer bestimmten Ordnung oder Reihenfolge gespeichert sind.

Der Verzeichnisdienst verschafft Zugriff auf die gespeicherten Informationen und Objekte, etwa zum Suchen, Erstellen, Abfragen, Ändern, Hinzufügen und Löschen. Bekannte Implementierungen von Verzeichnisdiensten sind beispielsweise DNS, X.500 und LDAP. Insbesondere Letzterer gilt streng genommen als Urvater all der Produkte, die heute unter der Bezeichnung Verzeichnisdienst firmieren, obwohl der im Jahr 1993 initiierte Standard eigentlich nur das Protokoll LDAP meint, eine vereinfachte Variante des Directory Access Protocol (DAP), das als Teil des X.500-Standards spezifiziert ist.

Im Gegensatz zum X.500-Standard, der einen vollständigen ISO/OSI-Stack voraussetzt, benötzigt LDAP nur einen TCP/IP-Stack und implementiert nur eine Untermenge der im DAP definierten Funktionen und Datentypen. Während LDAP im ursprüngliche Sinne sozusagen als Proxy zwischen X.500 und dem DAP vermittelte, bildet es heute das Fundament aller modernen Verzeichnisdienste, die Informationen in einer hierarchischen Struktur ablegen. Für das Abfragen der Daten kommt wie schon beim X.500-Standard ein objektorientiertes Datenmodell zum Einsatz, das mit Objekten und Klassen Anleihen bei der objektorientierten Programmierung einschließlich Mechanismen wie Vererbung und Polymorphie nimmt.

Aufgaben eines Verzeichnisdienstes

Moderne Verzeichnisdienste dienen meist dazu, Netzwerk-Ressourcen wie Benutzer, Gruppen, Dienste, Server, Workstations, Freigaben und Geräte zentral zu verwalten. Oft aber dienen sie auch der zentralen Authentifizierung der Benutzer. In diesem Beitrag geht es insbesondere um das Identity-Management, das häufig mit einer LDAP-Datenbank implementiert ist.

Verzeichnisdienste sind für das Abbilden der Objekte im LDAP-Verzeichnisbaum (DIT: Directory Information Tree) zuständig und bieten zahlreiche Möglichkeiten, die Objekte miteinander in Beziehung zu setzen.

Dabei repräsentiert jedes Objekt im LDAP-Verzeichnisbaum einen sogenannten Verzeichniseintrag mit einem eindeutigen Namen (DN) im DIT. Im LDAP gibt es die Objekttypen "Organisational Unit" (OU) zum Aufbau der Baumstruktur und Blatt-Objekte zum Verwalten der Ressourcen im DIT, wie zum Beispiel User ID (UID) oder der Common Name (CN). Microsofts Active Directory erweitert die oberste Verwaltungsstruktur Tree zu einem Wald (Forest). Die Bezeichnungen leiten sich aus vorgegebenen Objektklassen und Schemas ab.

Ein Objekt ist eine im DIT zu verwaltende Ressource, wobei LDAP unterschiedliche Typen von Ressourcen kennt, etwa Container, Benutzer und Gruppen mit jeweils speziellen Attributen, welche die Eigenschaften von Objekten beschreiben. Ferner gibt es in allen Verzeichnisdiensten Schemas, die Objektklassen in Gruppen zusammenfassen. LDAP kennt eine Reihe von Standard-Schemas, etwa zum Verwalten von Benutzern, allerdings lässt sich LDAP beliebig um eigene Schemas erweitern.

Import von LDAP-Daten

Für das Einfügen von Objekten in den DIT kommen ASCII-lesbare LDIF-Dateien zum Einsatz, in denen der LDAP-Admin Objektklassen und Attribute mit den jeweiligen Werten für das zu erstellende Objekt einträgt. Das Einspielen von LDAP-Dateien in den DIT erfolgt mit »ldapadd« . Insofern können Software-Hersteller oder System-Integratoren LDAP beziehungsweise die freie Variante OpenLDAP im Prinzip nach Belieben an die eigene Bedürfnisse anpassen.

Nahezu alle auf Linux basierenden Server-Distributionen nutzen OpenLDAP beispielsweise zum Speichern von Benutzer- und Gruppen-Informationen oder für Posix- und Samba-Konten beziehungsweise zum Speichern von Mail-Aliases für Postfix. Die eigentliche Authentifizierung, also das Identity-Management, ist aber nicht Aufgabe von LDAP, auch wenn LDAP zusammen mit Erweiterungen wie Kerberos häufig zum Authentifizieren von Benutzern verwendet wird, etwa für einen IMAP-Server oder für geschützte Bereiche eines Webserver. Enterprise-Linux-Distributionen wie Univentions Corporate Server nutzen LDAP zudem zum Speichern der nahezu gesamten Konfiguration und für das Client-Management.

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Google+

Ausgabe /2019