FreeIPA ist ein zentralisiertes Authentifizierungs-, Autorisierungs- und Kontoinformationssystem. FreeIPA steht für Free Identity, Policy, Audit und ist eine Open-Source-Identitätsmanagementlösung, die auf einem LDAP-Verzeichnis und Kerberos mit optionalen Komponenten wie DNS-Server, Zertifizierungsstelle und mehr basiert. Es kann eine Domäne mit Benutzern, Computern, Richtlinien und Vertrauensstellungen verwalten. Es ähnelt Microsoft Active Directory.
FreeIPA kann auch eine Wald-zu-Wald-Vertrauensstellung mit bestehenden Active Directory-Wäldern einrichten und sogar in einer DNS-Zone unterhalb einer von Active Directory verwalteten Zone leben, solange sie sich nicht überschneiden. Es besteht aus einer Webschnittstelle und Befehlszeilen-Verwaltungstools.
Überprüfen Sie auch:
- So installieren Sie Puppet 7 Server auf Rocky Linux/Centos 8
- So verwalten Sie Benutzer und Gruppen in FreeIPA Server
- So installieren Sie den FreeIPA-Client auf Fedora 35
- So konfigurieren Sie die FreeIPA-Replikation unter Rocky Linux/Alma Linux/Centos 8
- So installieren und konfigurieren Sie FreeIPA auf Rocky Linux/Centos
- So installieren und konfigurieren Sie den FreeIPA-Client unter Ubuntu 20.04
Voraussetzungen
Um gut zu folgen, stellen Sie sicher, dass Sie Folgendes haben:
- Ein RHEL 8-basierter Server wie Rocky Linux
- Der Server sollte mindestens 1 GB RAM haben, 2 GB für optimale Leistung
- Der Server sollte über mindestens 10 GB Speicherplatz verfügen
- Root-Zugriff oder Benutzer mit Sudo-Zugriff
- Richten Sie einen vollständig qualifizierten Domänennamen als Hostnamen ein. Wir werden die Subdomain
ipa.citizix.com
verwenden in unserem Fall
Inhaltsverzeichnis
- System aktualisieren, Hostnamen und Zeitzone festlegen
- FreeIPA-Server installieren
- FreeIPA Server Installer ausführen
- Linux-Firewalld konfigurieren
- Greifen Sie auf die FreeIPA GUI-Weboberfläche zu
- Verwenden der FreeIPA CLI-Schnittstelle für grundlegende Vorgänge
1. System aktualisieren, Hostnamen und Zeitzone festlegen
Verwenden Sie diesen Befehl, um sicherzustellen, dass unsere Systempakete auf dem neuesten Stand sind:
sudo dnf -y update
Wir müssen den FQDN (Fully Qualified Domain Name) einrichten, den wir verwenden möchten, um auf unseren Server zu verweisen. Wir müssen die Subdomain (ipa.citizix.com
) DNS zur Auflösung auf unseren Server. Wenn Sie keinen DNS-Server haben, müssen wir manuell Einträge in der Hostdatei unseres Servers hinzufügen, um die System-IP-Adresse für unseren vollständig qualifizierten Hostnamen aufzulösen.
Hostnamen festlegen:
sudo hostnamectl set-hostname ipa.citizix.com
Ersetzen Sie ipa.citizix.com mit dem, den Sie für den Hostnamen Ihres Servers festlegen möchten.
Bestätigen Sie den Hostnamen:
$ hostnamectl
Static hostname: ipa.citizix.com
Icon name: computer-vm
Chassis: vm
Machine ID: ee3563997878469ebfcc3f721aec3c66
Boot ID: 029a7962df24475091296d32b222f166
Virtualization: kvm
Operating System: Rocky Linux 8.4 (Green Obsidian)
CPE OS Name: cpe:/o:rocky:rocky:8.4:GA
Kernel: Linux 4.18.0-305.3.1.el8_4.x86_64
Architecture: x86-64
$ hostname
ipa.citizix.com
Die für den Hostnamen verwendete Domäne muss die IP-Adresse auflösen, um den Server zu erreichen. Verweisen Sie als Nächstes Ihre Server-IP-Adresse auf den Hostnamen, d. h. den vollständig qualifizierten Domänennamen, in der Host-Datei.
echo "10.2.40.149 ipa.citizix.com ipa" | sudo tee -a /etc/hosts
Ersetzen Sie 10.2.40.149 mit Ihrer Server-IP-Adresse und ipa.citizix.com mit Ihrem FQDN-Hostnamen.
Bestätigen Sie anschließend, dass das System den Host anpingen kann, um dasselbe Problem zu lösen.
ping -c 2 ipa.citizix.com
Ausgabe auf meinem Rechner
# ping -c 2 ipa.citizix.com
PING ipa.citizix.com (10.2.40.149) 56(84) bytes of data.
64 bytes from ipa.citizix.com (10.2.40.149): icmp_seq=1 ttl=64 time=0.033 ms
64 bytes from ipa.citizix.com (10.2.40.149): icmp_seq=2 ttl=64 time=0.029 ms
--- ipa.citizix.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1039ms
rtt min/avg/max/mdev = 0.029/0.031/0.033/0.002 ms
Lassen Sie uns zum Schluss die Zeitzone so einrichten, dass sie der Region entspricht, in der Sie sich befinden. Für mich bin ich in Africa/Nairobi
timezone, verwende ich diesen Befehl:
sudo timedatectl set-timezone Africa/Nairobi
Bestätigen Sie, dass es wie erwartet konfiguriert wurde:
$ timedatectl
Local time: Tue 2021-11-09 07:58:09 EAT
Universal time: Tue 2021-11-09 04:58:09 UTC
RTC time: Tue 2021-11-09 04:58:08
Time zone: Africa/Nairobi (EAT, +0300)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
2. FreeIPA-Server installieren
Es ist kein zusätzliches RPM-Repository erforderlich, alle Pakete und Abhängigkeiten sind in den standardmäßigen Standard-Repositorys des Betriebssystems verfügbar.
In EL8-basierten Systemen werden die für die Installation des FreeIPA-Servers erforderlichen Pakete in einem Modul-Stream namens DL1-Stream geliefert . Sie müssen den Stream aktivieren, bevor Sie die Paketinstallation über den Stream durchführen.
Sie können den folgenden Befehl verwenden, um Module aufzulisten, die IdM-Pakete enthalten.
$ sudo yum module list idm Rocky Linux 8 - AppStream Name Stream Profiles Summary idm DL1 adtrust, client, common [d], dn The Red Hat Enterprise Linux Identity Management syst s, server em module idm client [d] common [d] RHEL IdM long term support client module Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
Mit dem folgenden Befehl können Sie mehr über den Stream überprüfen:
sudo dnf module info idm:DL1
Aktivieren Sie jetzt idm:DL1 streamen:
sudo dnf module enable idm:DL1
Ausgabe auf meinem System
$ sudo dnf module enable idm:DL1
Last metadata expiration check: 0:45:05 ago on Tue 09 Nov 2021 07:22:21 AM EAT.
Dependencies resolved.
=====================================================================================================
Package Architecture Version Repository Size
=====================================================================================================
Enabling module streams:
389-ds 1.4
httpd 2.4
idm DL1
pki-core 10.6
pki-deps 10.6
Transaction Summary
=====================================================================================================
Is this ok [y/N]: y
Complete!
Wählen Sie je nach Ihren IdM-Anforderungen eine der folgenden Optionen:
- Installieren IdM-Server ohne integrierten DNS:
sudo dnf module install idm:DL1/server
- FreeIPA-Server mit integriertem DNS installieren:
sudo dnf module install idm:DL1/dns
- Installieren FreeIPA-Server, der eine Vertrauensvereinbarung mit Active Directory hat:
sudo dnf module install idm:DL1/adtrust
- Für mehrere Profile, z. B. DNS- und Adtrust-Profile:
sudo dnf module install idm:DL1/{dns,adtrust}
- Für FreeIPA-Client
sudo dnf module install idm:DL1/client
3. Ausführen des FreeIPA Server-Installationsprogramms
Wenn die FreeIPA-Pakete installiert sind, können wir jetzt das Dienstprogramm ipa-server-install ausführen. Das Installationsskript erstellt eine Protokolldatei unter /var/log/ipaserver-install.log:
sudo ipa-server-install
Das Skript fragt nach mehreren erforderlichen Einstellungen und bietet empfohlene Standardwerte in Klammern an.
Um einen Standardwert zu akzeptieren, drücken Sie die Eingabetaste. Um einen benutzerdefinierten Wert bereitzustellen, geben Sie den erforderlichen Wert ein. Verwenden Sie für die nicht interaktive Installation für IdM ohne DNS Folgendes:
sudo ipa-server-install \
--realm IPA.CITIZIX.COM \
-domain ipa.citizix.com \
--ds-password ds_password \
--admin-password admin_password \
--unattended
Die mindestens erforderlichen Optionen für die nicht interaktive Installation sind:
--realm
den Kerberos-Bereichsnamen bereitzustellen--ds-password
um das Passwort für den Directory Manager (DM), den Superuser von Directory Server, anzugeben--admin-password
um das Passwort für admin, den IdM-Administrator, bereitzustellen--unattended
um den Installationsprozess Standardoptionen für den Hostnamen und den Domänennamen auswählen zu lassen
Verwenden Sie für die nicht interaktive Installation für IdM mit integriertem DNS Folgendes:
sudo ipa-server-install \
--domain ipa.citizix.com \
--realm IPA.CITIZIX.COM \
--reverse-zone=40.2.10.in-addr.arpa. \
--no-forwarders \
--no-ntp \
--setup-dns \
--ds-password ds_password \
--admin-password admin_password \
--unattended
Dies ist die Ausgabe einer interaktiven Sitzung auf meinem Server:
$ sudo 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.9.2
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]: no
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.citizix.com]: ipa.citizix.com
The domain name has been determined based on the host name.
Please confirm the domain name [citizix.com]: ipa.citizix.com
The kerberos protocol requires a Realm name to be defined.
This is typically the domain name converted to uppercase.
Please provide a realm name [IPA.CITIZIX.COM]: IPA.CITIZIX.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):
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):
Do you want to configure chrony with NTP server or pool address? [no]: no
The IPA Master Server will be configured with:
Hostname: ipa.citizix.com
IP address(es): 10.2.40.149
Domain name: ipa.citizix.com
Realm name: IPA.CITIZIX.COM
The CA will be configured with:
Subject DN: CN=Certificate Authority,O=IPA.CITIZIX.COM
Subject base: O=IPA.CITIZIX.COM
Chaining: self-signed
Continue to configure the system with these values? [no]: yes
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
...
Nach erfolgreicher Installation:
...
Client configuration complete.
The ipa-client-install command was successful
Please add records in this file to your DNS system: /tmp/ipa.system.records.87gb3voq.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
4. Linux-Firewalld konfigurieren
Wenn Sie in Ihrem System eine Firewall installiert und eine Firewall aktiviert haben, müssen Sie die FreeIPA-Ports für den Zugriff öffnen.
Sie müssen sicherstellen, dass diese Netzwerkports geöffnet sind:
TCP-Ports:
80, 443:HTTP/HTTPS
389, 636:LDAP/LDAPS
88, 464:Kerberos
UDP-Ports:
88, 464:Kerberos
123:NTP
Um die Ports mit Firewalld zu öffnen, verwenden Sie diese Befehle:
sudo firewall-cmd --add-service={http,https,dns,ntp,freeipa-ldap,freeipa-ldaps} --permanent sudo firewall-cmd --reload
5. Greifen Sie auf die FreeIPA-GUI-Weboberfläche zu
Sobald die Installation durch das Skript abgeschlossen ist, öffnen Sie Ihren Systembrowser und verweisen Sie ihn auf den FQDN-Hostnamen, den Sie zu Beginn für das System festgelegt haben, z. B. https://ipa.citizix.com
oder sogar wenn Sie https://your-server-ip
eingeben Dadurch wird es automatisch zum FQDN umgeleitet.
Ignorieren Sie die SSL-Warnung, indem Sie auf „Erweitert“ klicken ”> „Weiter zu ipa.citizix.com (unsicher) ” wenn du es verstehst.
Nach erfolgreicher Anmeldung wird Ihnen die Benutzeroberfläche des Identitäts-Dashboards angezeigt
6. Verwenden der FreeIPA CLI-Schnittstelle für grundlegende Vorgänge
Das ipa Der Befehl kann verwendet werden, um alle FreeIPA-Serveroperationen auszuführen.
Aber holen Sie sich zuerst das Kerberos-Ticket für den Admin-Benutzer:
$ sudo kinit admin
Password for [email protected]:
Überprüfen Sie die Informationen zum Ticketablauf mit klist.
$ sudo klist
Ticket cache: KCM:0
Default principal: [email protected]
Valid starting Expires Service principal
11/09/2021 09:03:25 11/10/2021 09:03:19 krbtgt/[email protected]
- Setzen Sie die Standard-Shell des Benutzers auf
/bin/bash
.
$ sudo ipa config-mod --defaultshell=/bin/bash
Maximum username length: 32
Maximum hostname length: 64
Home directory base: /home
Default shell: /bin/bash
Default users group: ipausers
Default e-mail domain: ipa.citizix.com
Search time limit: 2
Search size limit: 100
User search fields: uid,givenname,sn,telephonenumber,ou,title
Group search fields: cn,description
Enable migration mode: FALSE
Certificate Subject base: O=IPA.CITIZIX.COM
Password Expiration Notification (days): 4
Password plugin features: AllowNThash, KDC:Disable Last Success
SELinux user map order: guest_u:s0$xguest_u:s0$user_u:s0$staff_u:s0-s0:c0.c1023$sysadm_u:s0-s0:c0.c1023$unconfined_u:s0-s0:c0.c1023
Default SELinux user: unconfined_u:s0-s0:c0.c1023
Default PAC types: MS-PAC, nfs:NONE
IPA masters: ipa.citizix.com
IPA master capable of PKINIT: ipa.citizix.com
IPA CA servers: ipa.citizix.com
IPA CA renewal master: ipa.citizix.com
2. Fügen Sie FreeIPA einen Benutzer hinzu
$ sudo ipa user-add etowett --first=Eutychus --last=Towett \
> [email protected] --password
Password:
Enter Password again to verify:
--------------------
Added user "etowett"
--------------------
User login: etowett
First name: Eutychus
Last name: Towett
Full name: Eutychus Towett
Display name: Eutychus Towett
Initials: ET
Home directory: /home/etowett
GECOS: Eutychus Towett
Login shell: /bin/bash
Principal name: [email protected]
Principal alias: [email protected]
User password expiration: 20211109060518Z
Email address: [email protected]
UID: 1063800001
GID: 1063800001
Password: True
Member of groups: ipausers
Kerberos keys available: True
3. Benutzerkonten in FreeIPA auflisten
$ sudo ipa user-find
---------------
2 users matched
---------------
User login: admin
Last name: Administrator
Home directory: /home/admin
Login shell: /bin/bash
Principal alias: [email protected], [email protected]
UID: 1063800000
GID: 1063800000
Account disabled: False
User login: etowett
First name: Eutychus
Last name: Towett
Home directory: /home/etowett
Login shell: /bin/bash
Principal name: [email protected]
Principal alias: [email protected]
Email address: [email protected]
UID: 1063800001
GID: 1063800001
Account disabled: False
----------------------------
Number of entries returned 2
----------------------------
4. Melden Sie sich als Ersteller etowett
an Benutzer. Bei Ihrer ersten Anmeldung werden Sie aufgefordert, Ihr Passwort zu ändern:
$ ssh [email protected]
Password:
Password expired. Change your password now.
Current Password:
New password:
Retype new password:
$ id
uid=1063800001(etowett) gid=1063800001(etowett) groups=1063800001(etowett) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
Schlussfolgerung
In diesem Handbuch ist es uns gelungen, FreeIPA in unserem Rocky Linux-System einzurichten. Sie können mit der Benutzeroberfläche spielen, um die Platzierung verschiedener FreeIPA-Verwaltungsfunktionen zu verstehen.