Categories: Anleitungen

So installierst du FreeIPA auf Rocky Linux

FreeIPA ist eine freie und quelloffene Identitätsmanagementlösung für Linux/Unix-Betriebssysteme. Es ist ein Vorläuferprojekt des RedHat Identity Management Systems, das Authentifizierungs- und Autorisierungslösungen für Linux/Unix-Systeme bietet.

FreeIPA baut auf mehreren Komponenten auf, darunter der Directory Server, DNS, Kerberos, PKI, Certmonger, NTP Server, Webadministrations-UI usw. Es bietet eine zentrale Quelle für Benutzeranmeldedaten und Zugangskontrolle. Mit FreeIPA können Administratoren die Identität in einer zentralisierten Umgebung einfach verwalten und die Benutzerüberwachung, Authentifizierung und Zugangskontrolle übernehmen.

In dieser Anleitung zeigen wir dir, wie du den FreeIPA Identity Manager auf dem Rocky Linux Server installierst.

Voraussetzungen

  • Ein Linux-Server Rock Linux 8.5.
  • Ein Nicht-Root-Benutzer mit sudo-Administrator-Rechten.

Einrichten des FQDN

Zunächst richtest du den FQDN (Fully Qualified Domain Name) und die Datei /etc/hosts deines Rocky Linux Servers ein.

Um den FQDN des Servers einzurichten, führst du den folgenden Befehl aus. In diesem Beispiel verwenden wir den FQDN ipa.hwdomain.io.

sudo hostnamectl set-hostname ipa.hwdomain.io

Bearbeite nun die Datei /etc/hosts mit dem Editor nano.

sudo nano /etc/hosts

Gib die IP-Adresse des Servers und den FQDN des Servers wie unten angegeben ein.

192.168.10.25 ipa.hwdomain.io ipa

Speichere die Datei, indem du Strg+x drückst und Y eingibst, um zu bestätigen und die Datei zu speichern.

Als nächstes führst du den folgenden Befehl aus, um den FQDN deines Rocky Linux Servers zu überprüfen.

hostname -f

Du solltest die Ausgabe des FQDN des Servers erhalten, z.B. ipa.hwdomain.io.

Führe abschließend den folgenden Ping-Befehl aus, um zu überprüfen, ob der FQDN in die richtige Server-IP-Adresse aufgelöst wurde.

ping -c3 ipa.hwdomain.io

Im folgenden Screenshot ist der FQDN ipa.hwdomain.io aufgelöst und unter der IP-Adresse 192.168.10.25 erreichbar.

Gehe zum nächsten Schritt über, um die FreeIPA-Installation zu starten.

Installation der FreeIPA-Serverpakete

Wenn du die Konfiguration des FQDN und der Datei /etc/hosts abgeschlossen hast, installierst du jetzt die FreeIPA-Pakete auf dem Rocky Linux-System.

Auf dem Rocky Linux System sind alle Pakete, die mit FreeIPA zu tun haben, auf dem Modul idm:DL1 verfügbar. Du musst das Modul idm:DL1 aktivieren, um FreeIPA-Pakete installieren zu können.

Führe den folgenden Befehl aus, um das Modul idm:DL1 auf deinem Rocky Linux-System zu aktivieren.

sudo dnf module enable idm:DL1

Gib Y ein, um das Modul zu bestätigen und zu aktivieren.

Als Nächstes installierst du die FreeIPA-Pakete mit dem folgenden dnf-Befehl. ipa-server ist das Hauptpaket von FreeIPA und ipa-server-dns ist ein zusätzliches Paket für FreeIPA, das DNS-Serverfunktionen bereitstellt.

sudo dnf install ipa-server ipa-server-dns -y

Warte, bis alle Pakete installiert sind. Das kann je nach Serververbindung einige Zeit dauern.

Wenn die Installation abgeschlossen ist, gehst du zum nächsten Schritt über, um den FreeIPA-Server zu konfigurieren.

FreeIPA-Server konfigurieren

Jetzt richtest du den FreeIPA-Server auf dem Rocky Linux-System ein.

Bevor du den FreeIPA-Server konfigurierst, musst du sicherstellen, dass IPv6 auf deinem Server aktiviert ist. Der FreeIPA-Server erkennt automatisch einen Fehler, wenn IPv6 zwar im Kernelspace aktiviert ist, aber nicht im Netzwerkstack.

Überprüfe die IP-Adresse deines Servers, um sicherzustellen, dass IPv6 an deiner Netzwerkschnittstelle verfügbar ist.

sudo ip a

Im folgenden Screenshot siehst du die Ausgabe inet6, was bedeutet, dass IPv6 auf der lokalen Netzwerkschnittstelle verfügbar ist und du den FreeIPA-Server einrichten kannst.

Als Nächstes führst du den Befehl ipa-server-install aus, um mit der Konfiguration des FreeIPA-Servers zu beginnen.

sudo ipa-server-install --setup-dns --allow-zone-overlap

Zunächst werden dir grundlegende Informationen über die Einrichtung des FreeIPA-Servers angezeigt.

The log file for this installation can be found in /var/log/ipaserver-install.log
==============================================================================
This program will set up the IPA Server.
Version 4.9.6

This includes:
* Configure a stand-alone CA (dogtag) for certificate management
* Configure the NTP client (chronyd)
* Create and configure an instance of Directory Server
* Create and configure a Kerberos Key Distribution Center (KDC)
* Configure Apache (httpd)
* Configure DNS (bind)
* Configure SID generation
* Configure the KDC to enable PKINIT

Der FreeIPA-Server erkennt den FQDN des Servers automatisch und verwendet ihn als Standard-Hostnamen des Servers. Bestätige mit ENTER und fahre fort.

To accept the default shown in brackets, press the Enter key.

Enter the fully qualified domain name of the computer
on which you’re setting up server software. Using the form
<hostname>.<domainname>
Example: master.example.com.

Server host name [ipa.hwdomain.io]:

Jetzt musst du den Domänennamen für deinen FreeIPA-Server einrichten. Dieser wird automatisch erkannt und basiert auf dem FQDN des Servers. In diesem Beispiel lautet der FQDN des Servers ipa.hwdomain.io, also muss der Domainname hwdomain.io lauten.

Drücke ENTER zur Bestätigung und fahre fort.

Warning: skipping DNS resolution of host ipa.hwdomain.io
The domain name has been determined based on the host name.

Please confirm the domain name [hwdomain.io]:

Jetzt musst du den REALM-Domänennamen für die Kerberos-Authentifizierung einrichten. In den meisten Fällen ist es derselbe wie der FreeIPA-Domänenname, aber mit Großbuchstaben.

The kerberos protocol requires a Realm name to be defined.
This is typically the domain name converted to uppercase.

Please provide a realm name [HWDOMAIN.IO]:

Gib ein neues Passwort für den Verzeichnisserver ein. Das Passwort muss mindestens 8 Zeichen lang sein, also achte darauf, dass du ein sicheres Passwort für den Verzeichnismanager verwendest.

Certain directory server operations require an administrative user.
This user is referred to as the Directory Manager and has full access
to the Directory for system management tasks and will be added to the
instance of directory server created for IPA.
The password must be at least 8 characters long.

Directory Manager password:
Password (confirm):

Gib nun ein weiteres Passwort für den IPA-Admin-Benutzer ein. Dieser Benutzer wird verwendet, um sich am FreeIPA-Server anzumelden oder sich als Admin-Benutzer gegenüber Kerberos zu authentifizieren. Achte darauf, dass du ein sicheres Passwort für deinen IPA-Admin-Benutzer verwendest.

The IPA server requires an administrative user, named 'admin'.
This user is a regular system account used for IPA server administration.

IPA admin password:
Password (confirm):

Im nächsten Schritt wirst du aufgefordert, einen DNS-Forwarder einzurichten. Drücke ENTER, um fortzufahren. FreeIPA erkennt automatisch die aktuelle Datei /etc/resolv.conf als DNS-Forwarder.

Checking DNS domain hwdomain.io., please wait ...
Do you want to configure DNS forwarders? [yes]: yes
Following DNS servers are configured in /etc/resolv.conf: 192.168.121.1
Do you want to configure these servers as DNS forwarders? [yes]:

Nun wirst du aufgefordert, eine Reverse Zone für die IP-Adresse deines FreeIPA-Servers zu erstellen. Drücke ENTER, um fortzufahren und FreeIPA wird automatisch eine neue Reverse-Zone für die IP-Adresse deines Servers erstellen.

Do you want to search for missing reverse zones? [yes]: 
Do you want to create reverse zone for IP 192.168.10.25 [yes]: 
Please specify the reverse zone name [10.168.192.in-addr.arpa.]: 
Using reverse zone(s) 10.168.192.in-addr.arpa.
Trust is configured but no NetBIOS domain name found, setting it now.
Enter the NetBIOS name for the IPA domain.
Only up to 15 uppercase ASCII letters, digits and dashes are allowed.
Example: EXAMPLE.

NetBIOS domain name [HWDOMAIN]:

Für die NTP-Konfiguration belässt du es bei den Standardeinstellungen und drückst ENTER für no.

Do you want to configure chrony with NTP server or pool address? [no]:

Nun wirst du aufgefordert, die Installation und Konfiguration des FreeIPA-Servers zu bestätigen. Überprüfe noch einmal die Details der Konfiguration des FreeIPA-Servers, gib dann Ja ein und drücke ENTER, um die Installation und Konfiguration zu bestätigen.

The IPA Master Server will be configured with:
Hostname:       ipa.hwdomain.io
IP address(es): 192.168.10.25
Domain name:    hwdomain.io
Realm name:     HWDOMAIN.IO

The CA will be configured with:
Subject DN:   CN=Certificate Authority,O=HWDOMAIN.IO
Subject base: O=HWDOMAIN.IO
Chaining:     self-signed

BIND DNS server will be configured to serve IPA domain with:
Forwarders:       192.168.121.1
Forward policy:   only
Reverse zone(s):  10.168.192.in-addr.arpa.

Continue to configure the system with these values? [no]: yes

Jetzt wird die Installation und Konfiguration von FreeIPA gestartet.

The following operations may take some minutes to complete.
Please wait until the prompt is returned.

Disabled p11-kit-proxy
Synchronizing time
No SRV records of NTP servers found and no NTP server or pool address was provided.
Using default chrony configuration.
Attempting to sync time with chronyc.
Time synchronization was successful.
Configuring directory server (dirsrv). Estimated time: 30 seconds
[1/41]: creating directory server instance
[2/41]: tune ldbm plugin
[3/41]: adding default schema
[4/41]: enabling memberof plugin

Nach der FreeIPA-Installation und -Konfiguration siehst du die folgende Meldung.

In der unten stehenden Meldung wirst du auch über den nächsten Schritt zur Einrichtung der Firewall für den FreeIPA-Server informiert. Du musst einige Ports für den FreeIPA-Server öffnen und dann die Authentifizierung mit dem Benutzer admin gegenüber dem Kerberos-Server überprüfen.

==============================================================================
Setup complete

Next steps:
1. You must make sure these network ports are open:
TCP Ports:
* 80, 443: HTTP/HTTPS
* 389, 636: LDAP/LDAPS
* 88, 464: kerberos
* 53: bind
UDP Ports:
* 88, 464: kerberos
* 53: bind
* 123: ntp

2. You can now obtain a Kerberos ticket using the command: ‚kinit admin‘
This ticket will allow you to use the IPA tools (e.g., ipa user-add)
and the web user interface.

Be sure to back up the CA certificates stored in /root/cacert.p12
These files are required to create replicas. The password for these
files is the Directory Manager password
The ipa-server-install command was successful

Damit hast du die Installation und Konfiguration des FreeIPA-Servers abgeschlossen.

Einrichten von Firewalld

In diesem Schritt wirst du einige Dienste zu den Firewalld-Regeln hinzufügen. Dazu gehören die grundlegenden Dienste für den FreeIPA-Server wie LDAP, DNS und HTTPS.

Führe den Befehl firewall-cmd aus, um einige Dienste für den FreeIPA-Server zur Firewalld hinzuzufügen.

sudo firewall-cmd --add-service={http,https,dns,ntp,freeipa-ldap,freeipa-ldaps} --permanent

Danach lädst du die Firewalld-Regeln mit dem unten stehenden Befehl neu.

sudo firewall-cmd --reload

Überprüfe abschließend die Liste der Regeln der Firewalld mit dem unten stehenden Befehl.

sudo firewall-cmd --list-all

Im folgenden Screenshot siehst du, dass alle Dienste für den FreeIPA-Server zur Firewalld hinzugefügt wurden.

Überprüfen der Kerberos-Admin-Authentifizierung

Nachdem du die Firewalld eingerichtet hast, überprüfst du nun die Kerberos-Authentifizierung auf deinem FreeIPA-Server.

Führe den folgenden Befehl aus, um dich mit dem Benutzer admin gegenüber dem Kerberos-Server zu authentifizieren.

kinit admin

Nun wirst du aufgefordert, das Passwort deines IPA-Servers einzugeben. Gib das richtige Passwort ein.

Nachdem du dich erfolgreich authentifiziert hast, führe den folgenden Befehl aus, um die Liste der Kerberos-Tickets auf deinem Server zu überprüfen.

klist

Im folgenden Screenshot ist das neue Kerberos-Ticket für den Benutzer admin verfügbar und die Authentifizierung gegenüber dem Kerberos-Server ist erfolgreich.

Anmeldung im FreeIPA Dashboard

In diesem Schritt überprüfst du die FreeIPA-Installation, indem du dich in das FreeIPA-Webadministrations-Dashboard einloggst.

Öffne deinen Webbrowser und rufe die IP-Adresse oder den FQDN deines Servers auf (siehe unten). Jetzt siehst du die FreeIPA-Anmeldeseite.

https://ipa.hwdomain.io/ipa/ui/

Gib den FreeIPA-Admin-Benutzer und das Passwort ein und klicke dann auf die Schaltfläche Anmelden.

Sobald du dich eingeloggt hast, siehst du das FreeIPA-Administrations-Dashboard (siehe unten).

Fazit

Herzlichen Glückwunsch! Du hast FreeIPA nun erfolgreich auf Rocky Linux installiert und konfiguriert. Außerdem hast du dich mit dem IPA-Admin-Benutzer erfolgreich gegenüber dem Kerberos-Server authentifiziert und dich beim FreeIPA-Server angemeldet.

howtoforge

Recent Posts

Wie installiere ich phpMyAdmin auf Ubuntu 22.04

phpMyAdmin ist ein kostenloses und quelloffenes Tool zur Verwaltung und Administration von MySQL-Servern. Mit ihm…

53 Jahren ago

So installierst du Gitea mit Docker auf Ubuntu 22.04

Gitea ist ein kostenloser und quelloffener, selbst gehosteter Git-Dienst wie GitHub, BitBuacket und GitLab. In…

53 Jahren ago

So installierst du Jitsi Meet Video Conferencing Server auf Ubuntu 22.04

Jitsi ist ein kostenloses und quelloffenes Chat-, Telefonie- und Videokonferenztool. Es ist eine sehr gute…

53 Jahren ago

Wie installiere ich Nginx mit PHP und MySQL (LEMP Stack) auf Ubuntu 22.04

Der LEMP-Software-Stack ist eine Gruppe von Open-Source-Software, die es einem Server ermöglicht, dynamische Websites und…

53 Jahren ago

Odoo 14 auf CentOS 8 mit Nginx installieren

Odoo ist ein Open-Source-ERP- und CRM-System, das für die Verwaltung der grundlegenden Unternehmensbedürfnisse wie Material-…

53 Jahren ago

Laravel PHP Framework mit Apache 2 auf Ubuntu 22.04 installieren

Laravel ist ein auf PHP basierendes Webanwendungs-Framework für die Erstellung von Unternehmens-Webanwendungen. In diesem Tutorium…

53 Jahren ago