GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So installieren und konfigurieren Sie FreeIPA unter Rocky Linux/Centos 8

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

  1. System aktualisieren, Hostnamen und Zeitzone festlegen
  2. FreeIPA-Server installieren
  3. FreeIPA Server Installer ausführen
  4. Linux-Firewalld konfigurieren
  5. Greifen Sie auf die FreeIPA GUI-Weboberfläche zu
  6. 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]
  1. 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.


Cent OS
  1. So installieren und konfigurieren Sie Gitlab unter CentOS 8

  2. So installieren und konfigurieren Sie Docker in Rocky Linux/Centos 8

  3. So installieren und konfigurieren Sie Redis 6 unter Rocky Linux/Centos 8

  4. So installieren Sie den FreeIPA-Client unter Rocky Linux/Alma Linux/CentOS 8

  5. So installieren und konfigurieren Sie Mono unter Rocky Linux 8 und CentOS 8

So installieren und konfigurieren Sie den VNC-Server unter CentOS 7

So installieren und konfigurieren Sie Memcached unter CentOS 8

So installieren und konfigurieren Sie den DHCP-Server auf Centos 8

So installieren und konfigurieren Sie FreeIPA unter Rocky Linux/Centos 8

So konfigurieren Sie die FreeIPA-Replikation unter Rocky Linux/Alma Linux/Centos 8

So installieren und konfigurieren Sie Ansible AWX unter Rocky Linux 8.3 und CentOS 8