Verzeichnisse und Trusts zu bestehenden Umgebungen aufbauen FreeIPA: Active Directory mit Open Source und Containern
Anbieter zum Thema
Mit der Open Source-Lösung FreeIPA können Unternehmen eigene AD-Verzeichnisstrukturen inklusive Kerberos und LDAP aufbauen. Das geht unabhängig von Windows Server, arbeitet auf Anforderung aber mit Windows zusammen. Wir zeigen die Möglichkeiten.

FreeIPA ist ein Open Source-Projekt, das vor allem auf 389 Directory Server aufbaut. Zusätzlich kommt eine Reihe weiterer Open-Source-Tools zum Einsatz, zum Beispiel für die Verwaltung von Kryptografie, für Zertifikate oder für das Web-Frontend. Es handelt sich bei FreeIPA daher um kein alleinstehendes Produkt, sondern eine Sammlung verschiedener Tools, die zu einer gemeinsamen Lösung zusammengefasst werden. Red Hat nutzt in RHEL FreeIPA als IDM-Server.
FreeIPA bietet sehr viele Sicherheitsfeatures, wie zum Beispiel umfangreiche Richtlinien und Regeln, sowie die Möglichkeit, Zwei-Faktor-Authentifizierungen einzurichten oder auch Radius-Server zu nutzen.
Verwaltung im Web-Frontend oder im Terminal
Zur Verwaltung der Umgebung sind keine zusätzlichen Tools notwendig. Wenn FreeIPA installiert ist, können Admins alle Einstellungen der Umgebung – inklusive der Verwaltung von Benutzern und Gruppen – in der Weboberfläche vornehmen. Diese ist natürlich auch über das Netzwerk erreichbar. Mit dem Tool "ipa" lassen sich alle Verwaltungsaufgaben auch im Terminal durchführen.
Die Abkürzung IPA steht vor allem für Identity, Policy und Audit. Die wichtigste Komponente von FreeIPA ist 389 Directory Server, ein Kerberos-System, DogTag für Zertifikate, NTP und DNS. Generell lässt sich FreeIPA aber auch an vorhandene DNS-Systeme anbinden. Der 389 Directory Server ist bei der Verwaltung nicht zu erkennen. Der Server läuft im Hintergrund, die Verwaltung wickelt komplett FreeIPA mit der Weboberfläche an.
Es ist aber möglich das Apache Directory Studio zu verwenden, und sich mit dem FreeIPA-Server zu verbinden. Im Beitrag "Apache Directory Server und Apache Directory Studio als AD-Alternative" sind wir auf das Tool eingegangen, das auch mit anderen LDAP-Servern funktioniert – nicht nur mit 389 Directory Server in FreeIPA.
Eigene AD-Gesamtstruktur oder Trust zu bestehenden Gesamtstrukturen
FreeIPA kann eine eigenständige AD-Gesamtstruktur aufbauen. Diese muss aber nicht alleinstehend bleiben, sondern ermöglicht auch den Aufbau von Vertrauensstellungen (Trusts) zu anderen Gesamtstrukturen. Diese können auf Windows aufbauen, aber durchaus auch mit Samba-basierten AD-Umgebungen aufgebaut sein.
Die Namensauflösung in der Gesamtstruktur erfolgt mit Bind. Wir haben im Beitrag "BIND9 DNS-Server auf Ubuntu betreiben" bereits gezeigt, wie sich ein eigenständiger DNS-Server mit BIND9 aufbauen lässt. Beim Einsatz von FreeIPA lassen sich alle diese Einstellungen in einem Aufwasch durchführen. Die Verwaltung der DNS-Einstellungen erfolgt auch hier direkt über die Weboberfläche von FreeIPA.
Kann FreeIPA ein Alternative zu Active Directory sein?
Neben der eigenständigen Verwaltung von Benutzern und Computern, unterstützt FreeIPA Host Based Access Control (HBAC), Sodu Roles, SELinux User Maps, RBAC-Regeln und Trusts zwischen Microsoft Active Directory und FreeIPA. Hier lassen sich sehr granulare Berechtigungen setzen. Es ist auf diesem Weg möglich, dass sich Windows-Benutzer an der FreeIPA-Domäne anmelden können. Umgekehrt funktioniert das nicht oder zumindest nicht benutzerfreundlich. Hier ist der globale Katalog aus Microsoft AD für FreeIPA schlicht und ergreifend nicht zufriedenstellend zu implementieren. Die Zugriffe der Windows-Nutzer auf FreeIPA lassen sich ebenfalls sehr granular steuern.
Ähnlich wie in Active Directory von Microsoft lassen sich mit FreeIPA mehrere "Domänencontroller" aufbauen, die untereinander Daten replizieren. Dadurch entsteht eine höhere Verfügbarkeit der Umgebung. Hier lassen sich Benutzerdaten synchronisieren, aber auch DNS-Daten und Zertifikate. Alle FreeIPA-DCs sind aber immer schreibbar. Es gibt keine schreibgeschützten Domänencontroller.
Bei einer verknüpften, hybriden Umgebung ist es problemlos möglich, Gruppen und Benutzern aus dem Microsoft AD in FreeIPA zu nutzen und hier mit verschiedenen Regeln deren Rechte zu steuern. Parallel dazu lassen sich auch Freigaben anderer Domänen, zum Beispiel von Samba anbinden. Mehr dazu ist im Beitrag "Domänencontroller auf Basis von Samba" zu finden. Hier lässt sich eine umfassende Zusammenarbeit zwischen Windows, FreeIPA und Samba konfigurieren. Dabei kann auch Windows Server 2022 zum Einsatz kommen.
FreeIPA für Ubuntu, Red Hat und CentOS
Generell lässt sich FreeIPA auf verschiedenen Distributionen installieren. Am besten geeignet sind auf jeden Fall Red Hat Enterprise Linux (RHEL) und CentOS. Die Installation auf Ubuntu ist aber natürlich auch möglich. Grundsätzlich sollten vor der Installation von FreeIPA auf den Systemen die rng-Tools installiert werden. Diese sind vor allem für die Erstellung von Schlüsseln zur Verschlüsselung nötig. Das ist in einer LDAP-Verzeichnis-Struktur mit Kerberos und verschiedenen Zertifikaten auf verschiedenen Ebenen sinnvoll.
Außerdem sind verschiedene Ports in der Firewall des Servers zu öffnen, wenn FreeIPA installiert ist. Diese zeigt der Installations-Assistent direkt nach der Installation auf dem Bildschirm an. Nach der Installation erfolgt die weitere Verwaltung mit der Weboberfläche, die über https://<FQDN des Servers>/ipa/ui startet.
Die Umgebung hat einen eigenen Administrator mit der Bezeichnung "admin". Das Kennwort für den Benutzer lässt sich im Rahmen der Einrichtung von FreeIPA über den Befehl "sudo ipa-server-install" festlegen. Die Systemdateien installieren Red Hat und CentOS mit:
sudo yum install ipa-server ipa-server-dns bind-dyndb-ldap
Am schnellsten gelingt der Einstieg über den Quick Start Guide. Dieser führt in wenigen Schritten zur Einrichtung und Verwaltung des Servers.
FreeIPA als Docker-Container nutzen
Wer sich die Mühe der Installation und Einrichtung von FreeIPA nicht machen möchte, kann die Umgebung auch als Docker-Container installieren. FreeIPA steht im Docker-Hub auf GitHub zur Verfügung. Alle Dienste laufen hier dann ressourcenschonend über einen einzelnen Container.
Außerdem stehen verschiedene Docker-Files zur Verfügung, die sich mit "docker build" oder "podman build" zu Images zusammenfügen lassen, zum Beispiel mit:
podman build -t freeipa-server -f Dockerfile.centos-8-stream
docker build -t freeipa-server -f Dockerfile.fedora-rawhide
Am einfachsten lässt sich der Container mit "podman run" starten. auf der Docker-Seite des Projektes in GitHub sind dazu aber auch noch weitere Möglichkeiten zu finden.
FreeIPA verwalten: Benutzer, Gruppen, Richtlinien, Zugriffsregeln
Am einfachsten ist die Verwendung der WebUI, die über https://<FQDN des Servers>/ipa/ui startet. Nach der Anmeldung mit einem Admin-Benutzer, zum Beispiel "admin" steht diese zur Verfügung. Bei "Benutzer" sind bereits Standardbenutzer zu finden, über "Gruppen" lassen sich neue Gruppen erzeugen und die vorhandenen Gruppen verwalten. Diese Einstellungen sind über "Identität" erreichbar.
Die Sicherheitseinstellungen für die Benutzer und deren Zugriffsrechte lassen sich über den Bereich "Regeln" steuern. Hier stehen Host-Based Access Control, Sudo SELinux Maps, Passwortregeln und Kerberos-Ticket-Richtlinien zur Verfügung, die sich über jeweils eigene Menüpunkt verwalten lassen.
Standardmäßig werden bereits Regeln angelegt. Diese lassen sich nutzen oder deaktivieren, um eigene Regeln zu erstellen. So können Admins bspw. festlegen, welche Benutzer sich auf den einzelnen angebundenen Arbeitsstationen anmelden dürfen. Über Sudo-Regeln lässt sich genau festlegen, welche Rechte Benutzer auf den Arbeitsstationen erhalten sollen. Die RABC-Rollen für die Verwaltung der Server und angebundenen Computer sind bei "IPA-Server -> Role-Based Access Control" zu finden. Standardmäßig legt FreeIPA bei der Einrichtung bereits Standardgruppen an.
Standardmäßig sind Kennwörter 90 Tage gültig. Hier erlaubt das Verzeichnis in FreeIPA aber ähnliche Einstellungen wie Microsoft Active Directory. Diese sind bei "Regeln -> Passwortregeln" zu finden. Bei "Authentifizierung" lassen sich in der Weboberfläche wiederum bei "Zertifikate" die Zertifikate der Benutzer verwalten.
FreeIPA im Terminal verwalten
FreeIPA kann nicht nur in der Weboberfläche und mit dem Apache Directory Studio verwaltet werden, sondern auch im Terminal mit verschiedenen Bordmittel-Tools, zu Beispiel "kinit". Mit "ipa" lassen sich die meisten Einstellungen vorgeben. Die Verwaltung der Synchronisierung mehrerer Server erfolgt mit "ipa-replica-manage". Hier lassen sich die einzelnen Server oder auch die letzte Synchronisierung anzeigen, zum Beispiel mit: "ipa-replica-manage list -v $HOSTNAME".
Generell stehen mit "ipa-" über 50 Möglichkeiten zur Verfügung, die sich im Terminal mit "ipa-" anzeigen lassen.
:quality(80)/p7i.vogel.de/wcms/c6/9a/c69ab94d0fbd20df15f78285e311668d/0109175902.jpeg)
Java-basierte LDAPv3-Verzeichnisse für Windows, Linux und macOS
Apache Directory Server und Apache Directory Studio als AD-Alternative
:quality(80)/p7i.vogel.de/wcms/0e/29/0e297f6ad2b22cdfd9a62475f0eeeaee/96310691.jpeg)
Der am weitesten verbreitete DNS-Server im Fokus
BIND9 DNS-Server auf Ubuntu betreiben
:quality(80)/p7i.vogel.de/wcms/57/0e/570e04e60b100c91bc4c00607060f01b/96254116.jpeg)
Domänen-Netze, Active Directory und Gruppenrichtlinien mit Linux
Domänencontroller auf Basis von Samba
(ID:49614445)