GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer et configurer FreeIPA sur Rocky Linux/Centos 8

FreeIPA est un système centralisé d'authentification, d'autorisation et d'information sur les comptes. FreeIPA signifie Free Identity, Policy, Audit et il s'agit d'une solution open source de gestion des identités basée sur un annuaire LDAP et Kerberos avec des composants facultatifs tels qu'un serveur DNS, une autorité de certification, etc. Il peut gérer un domaine avec des utilisateurs, des ordinateurs, des politiques et des relations d'approbation. Il est similaire à Microsoft Active Directory.

FreeIPA peut également établir une approbation de forêt à forêt avec des forêts Active Directory existantes et même vivre dans une zone DNS sous une zone gérée par Active Directory, tant qu'elles ne se chevauchent pas. Il se compose d'une interface Web et d'outils d'administration en ligne de commande.

Vérifiez également :

  • Comment installer le serveur Puppet 7 sur Rocky Linux/Centos 8
  • Comment gérer les utilisateurs et les groupes dans FreeIPA Server
  • Comment installer le client FreeIPA sur Fedora 35
  • Comment configurer la réplication FreeIPA sur Rocky Linux/Alma Linux/Centos 8
  • Comment installer et configurer FreeIPA sur Rocky Linux/Centos
  • Comment installer et configurer le client FreeIPA sur Ubuntu 20.04

Prérequis

Pour bien suivre, assurez-vous d'avoir :

  • Un serveur basé sur RHEL 8 comme Rocky Linux
  • Le serveur doit disposer d'au moins 1 Go de RAM, 2 Go pour des performances optimales
  • Le serveur doit disposer d'au moins 10 Go d'espace disque
  • Accès root ou utilisateur avec accès sudo
  • Configurez un nom de domaine complet comme nom d'hôte. Nous utiliserons le sous-domaine ipa.citizix.com dans notre cas

Table des matières

  1. Mettre à jour le système, définir le nom d'hôte et le fuseau horaire
  2. Installer le serveur FreeIPA
  3. Exécuter le programme d'installation du serveur FreeIPA
  4. Configurer le pare-feu Linux
  5. Accéder à l'interface Web FreeIPA Gui
  6. Utilisation de l'interface CLI FreeIPA pour effectuer des opérations de base

1. Mettre à jour le système, définir le nom d'hôte et le fuseau horaire

Utilisez cette commande pour vous assurer que nos packages système sont à jour :

sudo dnf -y update

Nous devons configurer le FQDN (nom de domaine entièrement qualifié) que nous voulons utiliser pour pointer vers notre serveur. Nous devons définir le sous-domaine (ipa.citizix.com ) DNS à résoudre sur notre serveur. si vous n'avez pas de serveur DNS, nous devons ajouter manuellement des entrées dans le fichier hôte de notre serveur pour résoudre l'adresse IP du système pour notre nom d'hôte pleinement qualifié.

Définir le nom d'hôte :

sudo hostnamectl set-hostname ipa.citizix.com

Remplacez ipa.citizix.com par celui que vous souhaitez définir pour le nom d'hôte de votre serveur.

Confirmez le nom d'hôte :

$ 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

Le domaine utilisé pour le nom d'hôte doit résoudre l'adresse IP pour atteindre le serveur. Ensuite, faites pointer l'adresse IP de votre serveur vers le nom d'hôte, c'est-à-dire le nom de domaine complet, dans le fichier Host.

echo "10.2.40.149 ipa.citizix.com ipa" | sudo tee -a /etc/hosts

Remplacer 10.2.40.149 avec l'adresse IP de votre serveur et ipa.citizix.com avec votre nom d'hôte FQDN.

Une fois cela fait, confirmez que le système peut envoyer un ping à l'hôte pour résoudre le même problème.

ping -c 2 ipa.citizix.com

Sortie sur ma machine

# 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

Enfin, configurons le fuseau horaire en fonction de la région dans laquelle vous vous trouvez. Pour moi, je suis en Africa/Nairobi fuseau horaire, j'utiliserai cette commande :

sudo timedatectl set-timezone Africa/Nairobi

Confirmez qu'il a été configuré comme prévu :

$ 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. Installation du serveur FreeIPA

Aucun référentiel RPM supplémentaire n'est requis, tous les packages et dépendances sont disponibles dans les référentiels par défaut du système d'exploitation.

Dans les systèmes basés sur EL8, les packages nécessaires à l'installation du serveur FreeIPA sont livrés dans un flux de module appelé  flux DL1 . Vous devrez activer le flux avant d'effectuer l'installation des packages à partir du flux.

Vous pouvez utiliser la commande suivante pour répertorier les modules contenant des packages IdM.

$ 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

Vous pouvez en savoir plus sur le flux à l'aide de la commande :

sudo dnf module info idm:DL1

Activez maintenant idm:DL1 flux :

sudo dnf module enable idm:DL1

Sortie sur mon système

$ 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!

Choisissez l'une des options suivantes, en fonction de vos besoins IdM :

  • Installation Serveur IdM sans DNS intégré :
sudo dnf module install idm:DL1/server
  • Installation du serveur FreeIPA avec un DNS intégré :
sudo dnf module install idm:DL1/dns
  • Installation Serveur FreeIPA ayant un accord de confiance avec Active Directory :
sudo dnf module install idm:DL1/adtrust
  • Pour plusieurs profils, par exemple les profils DNS et adtrust :
sudo dnf module install idm:DL1/{dns,adtrust}
  • Pour le client FreeIPA
sudo dnf module install idm:DL1/client

3. Exécution du programme d'installation du serveur FreeIPA

Avec les packages FreeIPA installés, nous pouvons maintenant exécuter l'utilitaire ipa-server-install. Le script d'installation créera un fichier journal dans /var/log/ipaserver-install.log :

sudo ipa-server-install

Le script demande plusieurs paramètres requis et propose des valeurs par défaut recommandées entre parenthèses.

Pour accepter une valeur par défaut, appuyez sur Entrée. Pour fournir une valeur personnalisée, entrez la valeur requise. Pour une installation non interactive pour IdM sans DNS, utilisez ceci :

sudo ipa-server-install \
  --realm IPA.CITIZIX.COM \
  -domain ipa.citizix.com \
  --ds-password ds_password \
  --admin-password admin_password \
  --unattended

Les options minimales requises pour une installation non interactive sont :

  • --realm pour fournir le nom de domaine Kerberos
  • --ds-password pour fournir le mot de passe du Directory Manager (DM), le super utilisateur du Directory Server
  • --admin-password pour fournir le mot de passe pour admin, l'administrateur IdM
  • --unattended pour laisser le processus d'installation sélectionner les options par défaut pour le nom d'hôte et le nom de domaine

Pour une installation non interactive pour IdM avec DNS intégré, utilisez ceci :

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

Voici la sortie d'une session interactive sur mon serveur :

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

Une fois l'installation réussie :

...
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. Configurer le pare-feu Linuxd

Si vous avez un pare-feu installé et un pare-feu activé sur votre système, vous devez ouvrir les ports FreeIPA pour y accéder.

Vous devez vous assurer que ces ports réseau sont ouverts :

Port TCP :
80 443 :HTTP/HTTPS
389 636 :LDAP/LDAPS
88 464 :Kerberos

Ports UDP :
88, 464 :Kerberos
123 :NTP

Pour ouvrir les ports à l'aide de firewalld, utilisez ces commandes :

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

5. Accéder à l'interface Web de l'interface graphique FreeIPA

Une fois l'installation terminée par le script, ouvrez le navigateur de votre système et pointez-le vers le nom d'hôte FQDN que vous avez défini pour le système au début, par exemple https://ipa.citizix.com ou même  si vous saisissez https://your-server-ip cela le redirigera automatiquement vers le FQDN.

Ignorez l'avertissement SSL en cliquant sur "Avancé ”> “Allez sur ipa.citizix.com (non sécurisé) ” si vous l'obtenez.

Une fois la connexion réussie, l'interface du tableau de bord d'identité s'affiche

6. Utilisation de l'interface CLI FreeIPA pour effectuer des opérations de base

L'ipa La commande peut être utilisée pour effectuer toutes les opérations du serveur FreeIPA.

Mais d'abord, obtenez le ticket Kerberos de l'utilisateur administrateur :

$ sudo kinit admin
Password for [email protected]:

Vérifiez les informations d'expiration du ticket à l'aide de 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. Définir le shell par défaut de l'utilisateur sur /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. Ajouter un utilisateur à FreeIPA

$ 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. Répertoriez les comptes d'utilisateurs dans FreeIPA

$ 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. Connectez-vous en tant que créateur etowett utilisateur. Lors de votre première connexion, il vous sera demandé de modifier votre mot de passe :

$ 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

Conclusion

Dans ce guide, nous avons réussi à configurer FreeIPA dans notre système Rocky Linux. Vous pouvez jouer avec l'interface pour comprendre le placement de diverses fonctions de gestion FreeIPA.


Cent OS
  1. Comment installer et configurer Gitlab sur CentOS 8

  2. Comment installer et configurer docker dans Rocky Linux/Centos 8

  3. Comment installer et configurer Redis 6 sur Rocky Linux/Centos 8

  4. Comment installer et configurer Ansible sur Rocky Linux/CentOS 8

  5. Comment installer et configurer Mono sur Rocky Linux 8 et CentOS 8

Comment installer et configurer le serveur VNC sur CentOS 7

Comment installer et configurer Memcached sur CentOS 8

Comment installer et configurer le serveur DHCP sur Centos 8

Comment installer et configurer FreeIPA sur Rocky Linux/Centos 8

Comment configurer la réplication FreeIPA sur Rocky Linux/Alma Linux/Centos 8

Comment installer et configurer Ansible AWX sur Rocky Linux 8.3 et CentOS 8