Installieren und Konfigurieren des FreeIPA-Servers unter CentOS 8

FreeIPA ist eine integrierte Open-Source-Identitäts- und Authentifizierungslösung für Linux- und Unix-basierte Systeme. Sie bietet eine zentralisierte Authentifizierung durch Speicherung von Daten über Benutzer, Gruppen, Hosts und andere Objekte. Es bietet einen integrierten Identitätsverwaltungsdienst für Linux, Mac und Windows. FreeIPA basiert auf dem 389 Directory Server, Kerberos, SSSD, Dogtag, NTP und DNS. Es bietet eine webbasierte Schnittstelle zur Verwaltung von Linux-Benutzern und -Clients in Ihrem Bereich von einem zentralen Standort aus.

In diesem Tutorial zeigen wir Ihnen, wie Sie den FreeIPA-Server unter CentOS 8 installieren.

Voraussetzungen

  • Ein Server mit CentOS 8.
  • Der Server ist mit einem Root-Passwort konfiguriert.

Einrichtung Hostname

Zuerst müssen Sie den voll qualifizierten Hostnamen in Ihrem System einrichten. Sie können ihn mit dem folgenden Befehl einrichten:

hostnamectl set-hostname freeipa.mydomain10.com

Als nächstes bearbeiten Sie die Datei /etc/hosts und fügen Ihre Server-IP und Ihren Hostnamen hinzu:

nano /etc/hosts

Fügen Sie die folgenden Zeilen hinzu:

45.58.43.185 freeipa.mydomain10.com

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

FreeIPA-Server installieren

Standardmäßig ist das FreeIPA-Paket nicht im CentOS-Standard-Repository verfügbar. Daher müssen Sie das idm:DL1-Repo in Ihrem System aktivieren.

Sie können es mit dem folgenden Befehl aktivieren:

dnf module enable idm:DL1

Synchronisieren Sie dann das Repository mit dem folgenden Befehl:

dnf distro-sync

Führen Sie als nächstes den folgenden Befehl aus, um den FreeIPA-Server in Ihrem System zu installieren.

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

Sobald die Installation abgeschlossen ist, können Sie mit dem nächsten Schritt fortfahren.

FreeIPA-Server einrichten

Als nächstes müssen Sie den FreeIPA-Server einrichten. Sie können ihn mit dem folgenden Befehl einrichten:

ipa-server-install

Sie werden aufgefordert, das integrierte DNS wie unten dargestellt zu konfigurieren:

The log file for this installation can be found in /var/log/ipaserver-install.log
ipa-server-install

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.8.4

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 the KDC to enable PKINIT

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

Do you want to configure integrated DNS (BIND)? [no]: 

Drücken Sie die Eingabetaste, um Nein auszuwählen. Sie werden gebeten, den Hostnamen Ihres Servers anzugeben:

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


Server host name [freeipa.mydomain10.com]: 

Drücken Sie die Eingabetaste, um den Standard-Hostnamen auszuwählen. Sie werden gebeten, Ihren Domänennamen wie unten dargestellt zu bestätigen:

The domain name has been determined based on the host name.

Please confirm the domain name [mydomain10.com]: 

Drücken Sie die Eingabetaste, um den Standard-Domänennamen auszuwählen. Sie werden gebeten, das Directory Manager-Passwort wie unten gezeigt festzulegen:

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

Please provide a realm name [MYDOMAIN10.COM]: 
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): 

Geben Sie Ihr gewünschtes Passwort ein und drücken Sie die Eingabetaste. Sie werden gebeten, das IPA-Administrator-Passwort wie unten gezeigt einzustellen:

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): 

Geben Sie Ihr gewünschtes Passwort ein und drücken Sie die Eingabetaste. Sie werden gebeten, den NTP-Server wie unten dargestellt zu konfigurieren:

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

Drücken Sie die Eingabetaste, um die Standardoption auszuwählen oder setzen einen NTP Pool Server. Sie sollten die folgende Ausgabe erhalten:

The IPA Master Server will be configured with:
Hostname:       freeipa.mydomain10.com
IP address(es): 45.58.43.185
Domain name:    mydomain10.com
Realm name:     MYDOMAIN10.COM

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

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

Geben Sie yes ein und drücken Sie Enter, um das System mit den obigen Werten zu konfigurieren. Sobald die Konfiguration abgeschlossen ist, sollten Sie die folgende Ausgabe erhalten: Geben Sie ja ein und drücken Sie Enter, um das System mit den oben genannten Werten zu konfigurieren:

SSSD enabled
Configured /etc/openldap/ldap.conf
Configured /etc/ssh/ssh_config
Configured /etc/ssh/sshd_config
Configuring mydomain10.com as NIS domain.
Client configuration complete.
The ipa-client-install command was successful

unable to resolve host name freeipa.mydomain10.com. to IP address, ipa-ca DNS record will be incomplete
unable to resolve host name freeipa.mydomain10.com. to IP address, ipa-ca DNS record will be incomplete
Please add records in this file to your DNS system: /tmp/ipa.system.records._u0fzahd.db
==============================================================================
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
		UDP Ports:
		  * 88, 464: kerberos
		  * 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

Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Konfigurieren von Firewall und SELinux

Wenn Firewalld in Ihrem System installiert ist, müssen Sie einige von FreeIPA verwendete Ports zulassen. Sie können sie mit dem folgenden Befehl zulassen:

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

Laden Sie dann die Firewall mit dem folgenden Befehl neu, um die Änderungen zu übernehmen:

firewall-cmd --reload

Als nächstes müssen Sie auch das SELinux in Ihrem System deaktivieren.

Sie können das SELinux deaktivieren, indem Sie die Datei /etc/selinux/config bearbeiten:

nano /etc/selinux/config

Suchen Sie die folgende Zeile:

SELINUX=enforcing

Und ersetzen Sie sie durch die folgende Zeile:

SELINUX=permissive

Speichern und schließen Sie die Datei. Starten Sie dann Ihr System neu, um die Änderungen zu übernehmen:

Zugriff auf FreeIPA Web UI

Öffnen Sie nun Ihren Webbrowser und greifen Sie über die URL https://freeipa.mydomain10.com auf die Webschnittstelle von FreeIPA zu. Sie werden auf die Anmeldeseite von FreeIPA weitergeleitet, wie unten dargestellt:

CentOS-Identitätsverwaltung

Geben Sie Ihren Admin-Benutzernamen und Ihr Passwort ein und klicken Sie auf die Schaltfläche Anmelden. Auf der folgenden Seite sollten Sie das FreeIPA-Dashboard sehen:

FreeIPA-Server

Arbeiten mit FreeIPA CLI

FreeIPA stellt auch ein Kommandozeilen-Tool zur Verfügung, um neue Benutzer, Gruppen und Dienstherren hinzuzufügen und Schreibzugriff auf bestimmte Attribute von einer Gruppe zur anderen zu gewähren.

Bevor Sie das CLI-Tool verwenden können, müssen Sie mit dem folgenden Befehl ein Kerberos-Ticket erhalten:

kinit admin

Sie werden aufgefordert, ein Passwort wie unten dargestellt anzugeben:

Password for admin@MYDOMAIN10.COM:

Geben Sie Ihr Administratorkennwort ein und drücken Sie die Eingabetaste, um ein Kerberos-Ticket zu erhalten.

Führen Sie dann den folgenden Befehl aus, um den Ablauf des Tickets zu überprüfen:

klist

Sie sollten die folgende Ausgabe erhalten:

Ticket cache: KCM:0
Default principal: admin@MYDOMAIN10.COM

Valid starting       Expires              Service principal
2020-09-28T03:36:54  2020-09-29T03:36:50  krbtgt/MYDOMAIN10.COM@MYDOMAIN10.COM

Fügen Sie als nächstes ein neues Benutzerkonto mit folgendem Befehl hinzu:

ipa user-add user1 --first=hit --last=jethva --email=hit@mydomain10.com --password

Sie sollten die folgende Ausgabe erhalten:

Password: 
Enter Password again to verify: 
------------------
Added user "user1"
------------------
  User login: user1
  First name: hit
  Last name: jethva
  Full name: hit jethva
  Display name: hit jethva
  Initials: hj
  Home directory: /home/user1
  GECOS: hit jethva
  Login shell: /bin/sh
  Principal name: user1@MYDOMAIN10.COM
  Principal alias: user1@MYDOMAIN10.COM
  User password expiration: 20200928073905Z
  Email address: hit@mydomain10.com
  UID: 384600001
  GID: 384600001
  Password: True
  Member of groups: ipausers
  Kerberos keys available: True

Sie können auch alle Benutzerkonten in Ihrem System mit folgendem Befehl auflisten:

ipa user-find

Sie sollten die folgende Ausgabe erhalten:

---------------
2 users matched
---------------
  User login: admin
  Last name: Administrator
  Home directory: /home/admin
  Login shell: /bin/bash
  Principal alias: admin@MYDOMAIN10.COM
  UID: 384600000
  GID: 384600000
  Account disabled: False

  User login: user1
  First name: hit
  Last name: jethva
  Home directory: /home/user1
  Login shell: /bin/sh
  Principal name: user1@MYDOMAIN10.COM
  Principal alias: user1@MYDOMAIN10.COM
  Email address: hit@mydomain10.com
  UID: 384600001
  GID: 384600001
  Account disabled: False
----------------------------
Number of entries returned 2

Schlussfolgerung

Herzlichen Glückwunsch! Sie haben den FreeIPA-Server unter CentOS 8 erfolgreich installiert und konfiguriert. Sie können nun den FreeIPA-Client installieren und zum FreeIPA-Server für Centralize Authentication hinzufügen. Zögern Sie nicht, mich zu fragen, wenn Sie Fragen haben.

Das könnte dich auch interessieren …