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