JumalaSika ltd - Fotolia

So nutzen Sie FreeAPI als Open-Source-Alternative für AD

FreeIPA ist ein Open-Source-Projekt, das auf dem 389 Directory Server basiert. Es ermöglicht den Betrieb von Active-Directory-Domänen-Controllern ohne Windows Server.

FreeIPA ist ein Open-Source-Projekt, mit dem sich unter Linux, genauer Red Hat, CentOS und Rocky Linux, ein Active Directory (AD) ohne Windows-Server aufbauen lässt. Dabei kommt LDAP zum Einsatz, genauso wie in AD-Umgebungen. Die Installation von FreeIPA erfolgt über das Terminal, die Verwaltung kann zum großen Teil über eine Weboberfläche durchgeführt werden. 

Einfaches Identity,-Policy-and-Audit-System aufbauen

Im Fokus von FreeIPA steht der Aufbau eines Identity,-Policy-and-Audit-System (IPA), das einfach zu verwalten ist. Dabei nutzt die Lösung verschiedene Open-Source-Komponenten und setzt auf keine proprietäre Software.

Wichtigste Basis von FreeIPA ist der 389 Directory Server, den FreeIPA als LDAP-Server nutzt. Zertifikate setzt das System wiederum mit dem Dogtag Certificate System um. Auch dabei handelt es sich um ein Open-Source-Projekt. Ebenfalls zum Einsatz kommen Certmonger und noch weitere Lösungen, die auf der Projektseite zu finden sind. 

Eigenes Active Directory und Trust zu vorhandenen Umgebungen

FreeIPA ermöglicht den Aufbau eines eigenen Active Directory, kann aber auch Trusts mit anderen AD-Umgebungen aufbauen, die auf Basis von Windows-Servern aufgebaut wurden. DNS-Zusammenarbeit mit Windows-Servern ist ebenfalls möglich. Ideal ist der Betrieb auf einem aktuellen Red-Hat- oder CentOS-System. 

Namensauflösung vorbereiten um FreeIPA in Betrieb zu nehmen

Vor der Installation von FreeIPA sollte in der Datei /etc/hostname der Name des Servers inklusive FQDN stehen, also den DNS-Namen, den später das Active Directory bekommt. Wichtig sind auch die Einträge der DNS-Server in der Datei /etc/resolv.conf. Generell schadet es auch nicht in der Datei etc/hosts den Namen die IP-Adresse des Servers sowie den FQDN und den NetBIOS-Namen einzutragen, damit die Namenauflösung optimal gesetzt ist.  Der Befehl hostname sollte den FQDN des Servers zurückgeben. Bei Änderungen muss der Server neu gestartet werden. 

Wir zeigen im unteren Abschnitt die Installation der rng-Tools für Ubuntu. Diese sollten mit yum auch auf Red Hat und CentOS installiert werden, da dadurch die Berechnung der Schlüssel und weitere Verbesserungen für die Kryptografie integriert werden.

FreeIPA herunterladen und Installation beginnen. 

Beim Einsatz von CentOS und Red Hat erfolgen Download und Installation von FreeIPA mit:

sudo yum install ipa-server ipa-server-dns bind-dyndb-ldapI.

Um danach FreeIPA einzurichten, DNS zu konfigurieren und ein Verzeichnis für neue Benutzer bei der Anmeldung anzulegen, kommt der folgende Befehl zum Einsatz:

sudo ipa-server-install.

Die Einrichtung erfolgt über einen Assistenten, indem der Name des Servers und der Domäne festgelegt werden.

Im Rahmen der Installation legt FreeIPA den Benutzer admin an. Dabei handelt es sich um den Admin-Benutzer der FreeIPA-Umgebung. Das Kennwort für den Benutzer lässt sich im Rahmen der Installation ebenfalls anpassen. Nach dem Abschluss des Assistenten führt der Assistent die Einrichtung fort. Diese kann mehrere Minuten dauern, da hier auch alle notwendigen Dienste, Zertifikate und Einstellungen erstellt, konfiguriert und miteinander verbunden werden.

Anpassungen nach der Installation 

Danach ist es wichtig, dass die DNS-Einstellungen passen, denn diese übernimmt der Einrichtungs-Assistent aus den oben genannten Dateien. Generell sollte darauf geachtet werden, dass die notwendigen Firewall-Ports für FreeIPA geöffnet sind: 

  • TCP 80,443, 389, 636, 88, 464, 53
  • UDP 88, 464, 53, 123
Abbildung 2: FreeIPA zeigt nach der Installation der Umgebung die Ports an, die in der Firewall des Servers freigeschaltet werden müssen.
Abbildung 2: FreeIPA zeigt nach der Installation der Umgebung die Ports an, die in der Firewall des Servers freigeschaltet werden müssen.

Die Freischaltung kann durch manuelle Konfiguration erfolgen, oder über die Befehle:

sudo firewall-cmd --add-service freeipa-ldap --permanent

sudo firewall-cmd --add-service freeipa-ldaps --permanent

sudo firewall-cmd --add-service dns --permanent

sudo firewall-cmd --reload

Die Integration kann aber auch durch direkte Eingabe aller Ports erfolgen, wie in der nächsten Abbildung zu sehen ist.

Abbildung 3: Die Integration von FreeIPA erfordert noch die Konfiguration der Firewall.
Abbildung 3: Die Integration von FreeIPA erfordert noch die Konfiguration der Firewall.

Da der DNS-Server in FreeIPA innerhalb des Netzwerks zur Namensauflösung genutzt werden soll, ist es sinnvoll, in den Einstellungen des Servers die lokale IP-Adresse des FreeIPA-Servers einzutragen. Der interne DNS-Server leitet Anfragen für Domänen, die der nicht selbst verwaltet, nach außen. Das Forwarding dazu wird im Rahmen der Einrichtung von FreeIPA vorgenommen. 

Während der Einrichtung von FreeIPA ist es darüber hinaus möglich eine Reverse-Lookup-Zone für den DNS-Server anzulegen. Dadurch können in Zukunft IP-Adressen zu Servernamen aufgelöst werden. Ohne diese Zone können die Forward-Lookup-Zonen nur die Servernamen nach IP-Adressen auflösen.

FreeIPA-Installation nach der Einrichtung testen

Ob die Benutzeranmeldung funktioniert, lässt sich mit kinit admin testen und mit klist zeigt das Terminal das Kerberos-Ticket an. Die Verwaltung von FreeIPA kann nach der Installation mit der Weboberfläche aufgerufen werden. Diese startet über die URL https://<FQDN des Servers>/ipa/ui.

Die Anmeldung erfolgt auch in diesem Fall mit dem Benutzer admin und dem Kennwort, das während der Installation der Umgebung eingerichtet wurde.

Abbildung 4: Die Verwaltung von FreeIPA erfolgt nach der Einrichtung über die Weboberfläche auf dem Server.
Abbildung 4: Die Verwaltung von FreeIPA erfolgt nach der Einrichtung über die Weboberfläche auf dem Server.

Natürlich kann die Weboberfläche auch über das Netzwerk aufgerufen werden, sodass in vielen Fällen keine weiteren Verwaltungs-Tools mehr notwendig sind. Über die Menüpunkte im oberen Bereich wird zwischen den Funktionen umgeschaltet. Hier stehen zum Beispiel Identität, Regeln, Authentifizierung, Netzwerkdienste und IPA-Server zur Verfügung. Für jeden Menüpunkt stehen anschließend unten weitere Untermenüs zur Verfügung, um die Einstellungen zu spezifizieren. Hierüber erfolgt zum Beispiel die Verwaltung von DNS, der Benutzer und den Gruppen. 

Abbildung 5: In der Weboberfläche lassen sich alle relevanten Einstellungen für FreeI-PA vornehmen.
Abbildung 5: In der Weboberfläche lassen sich alle relevanten Einstellungen für FreeI-PA vornehmen.

Ubuntu kennt auch FreeIPA

Die Installation von FreeIPA ist auch auf Ubuntu möglich, allerdings ist die Lösung für Red Hat und CentOS besser geeignet. Hier ist es im Vorfeld sinnvoll, die rng-Tools zu installieren, damit die verschiedenen kryptografischen Funktionen von FreeIPA funktionieren. Die Installation dazu erfolgt mit:

sudo apt -y install rng-tools.

Die Konfiguration der Tools erfolgt über die Datei /etc/default/rng-tools. Hier sollte für die Installation noch die folgende Zeile hinzugefügt werden:

HRNGDEVICE=/dev/urandom

Danach erfolgen Aktivierung und Start der Tools mit:

sudo systemctl enable rng-tools

sudo systemctl start rng-tools

Die Installation von FreeIPA erfolgt danach mit:

sudo apt -y install freeipa-server 

oder

sudo apt -y install freeipa-client-epn.

Erfahren Sie mehr über Data-Center-Betrieb