GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar y configurar FreeIPA en Rocky Linux/Centos 8

FreeIPA es un sistema centralizado de autenticación, autorización e información de cuentas. FreeIPA significa Free Identity, Policy, Audit y es una solución de administración de identidades de código abierto basada en un directorio LDAP y Kerberos con componentes opcionales como servidor DNS, autoridad de certificación y más. Puede administrar un dominio con usuarios, computadoras, políticas y relaciones de confianza. Es similar a Microsoft Active Directory.

FreeIPA también puede configurar una confianza de bosque a bosque con bosques de Active Directory existentes e incluso vivir en una zona DNS debajo de una zona administrada por Active Directory, siempre que no se superpongan. Consta de una interfaz web y herramientas de administración de línea de comandos.

Compruebe también:

  • Cómo instalar el servidor Puppet 7 en Rocky Linux/Centos 8
  • Cómo administrar usuarios y grupos en FreeIPA Server
  • Cómo instalar el cliente FreeIPA en Fedora 35
  • Cómo configurar la replicación FreeIPA en Rocky Linux/Alma Linux/Centos 8
  • Cómo instalar y configurar FreeIPA en Rocky Linux/Centos
  • Cómo instalar y configurar el cliente FreeIPA en Ubuntu 20.04

Requisitos

Para seguir bien, asegúrese de tener:

  • Un servidor basado en RHEL 8 como Rocky Linux
  • El servidor debe tener al menos 1 GB de RAM, 2 GB para un rendimiento óptimo
  • El servidor debe tener al menos 10 GB de espacio en disco
  • Acceso raíz o usuario con acceso sudo
  • Configure un nombre de dominio completo como nombre de host. Usaremos el subdominio ipa.citizix.com en nuestro caso

Tabla de contenido

  1. Actualizar sistema, establecer nombre de host y zona horaria
  2. Instalación del servidor FreeIPA
  3. Ejecutando el instalador del servidor FreeIPA
  4. Configurar el cortafuegos de Linuxd
  5. Acceda a la interfaz web de FreeIPA Gui
  6. Uso de la interfaz CLI de FreeIPA para realizar operaciones básicas

1. Actualizar sistema, establecer nombre de host y zona horaria

Utilice este comando para asegurarse de que los paquetes de nuestro sistema estén actualizados:

sudo dnf -y update

Necesitamos configurar el FQDN (nombre de dominio completo) que queremos usar para apuntar a nuestro servidor. Necesitamos configurar el subdominio (ipa.citizix.com ) DNS para resolver en nuestro servidor. si no tiene un servidor DNS, debemos agregar entradas manualmente en el archivo de host de nuestro servidor para resolver la dirección IP del sistema para nuestro nombre de host totalmente calificado.

Establecer nombre de host:

sudo hostnamectl set-hostname ipa.citizix.com

Reemplazar ipa.citizix.com con el que desea configurar para el nombre de host de su servidor.

Confirme el nombre de host:

$ 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

El dominio utilizado para el nombre de host debe resolver la dirección IP para llegar al servidor. A continuación, apunte la dirección IP de su servidor al nombre de host, es decir, el nombre de dominio completamente calificado, en el archivo Host.

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

Reemplazar 10.2.40.149 con la dirección IP de su servidor y  ipa.citizix.com con su nombre de host FQDN.

Una vez hecho esto, confirme que el sistema puede hacer ping al host para resolver el mismo.

ping -c 2 ipa.citizix.com

Salida en mi máquina

# 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

Finalmente, configuremos la zona horaria para que coincida con la región en la que se encuentra. Para mí, estoy en Africa/Nairobi zona horaria, usaré este comando:

sudo timedatectl set-timezone Africa/Nairobi

Confirme que se configuró como se esperaba:

$ 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. Instalación del servidor FreeIPA

No se requiere un repositorio RPM adicional, todos los paquetes y dependencias están disponibles en los repositorios predeterminados del sistema operativo.

En los sistemas basados ​​en EL8, los paquetes necesarios para instalar el servidor FreeIPA se envían en un flujo de módulo llamado  flujo DL1 . Deberá habilitar la transmisión antes de realizar la instalación de paquetes desde la transmisión.

Puede usar el siguiente comando para listar módulos que contienen paquetes 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

Puede consultar más sobre el Stream usando el comando:

sudo dnf module info idm:DL1

Ahora habilite el idm:DL1 corriente:

sudo dnf module enable idm:DL1

Salida en mi sistema

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

Elija una de las siguientes opciones, según sus requisitos de IdM:

  • Instalando Servidor IdM sin DNS integrado:
sudo dnf module install idm:DL1/server
  • Instalación del servidor FreeIPA con DNS integrado:
sudo dnf module install idm:DL1/dns
  • Instalando Servidor FreeIPA que tiene un acuerdo de confianza con Active Directory:
sudo dnf module install idm:DL1/adtrust
  • Para varios perfiles, por ejemplo, perfiles dns y adtrust:
sudo dnf module install idm:DL1/{dns,adtrust}
  • Para clientes FreeIPA
sudo dnf module install idm:DL1/client

3. Ejecutando el instalador del servidor FreeIPA

Con los paquetes FreeIPA instalados, ahora podemos ejecutar la utilidad ipa-server-install. La secuencia de comandos del instalador creará un archivo de registro en /var/log/ipaserver-install.log:

sudo ipa-server-install

El script solicita varias configuraciones requeridas y ofrece valores predeterminados recomendados entre paréntesis.

Para aceptar un valor predeterminado, presione Entrar. Para proporcionar un valor personalizado, ingrese el valor requerido. Para la instalación no interactiva de IdM sin DNS, use esto:

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

Las opciones mínimas requeridas para la instalación no interactiva son:

  • --realm para proporcionar el nombre de dominio de Kerberos
  • --ds-password para proporcionar la contraseña para el administrador de directorios (DM), el superusuario del servidor de directorios
  • --admin-password para proporcionar la contraseña para admin, el administrador de IdM
  • --unattended para permitir que el proceso de instalación seleccione las opciones predeterminadas para el nombre de host y el nombre de dominio

Para la instalación no interactiva de IdM con DNS integrado, use esto:

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

Este es el resultado de una sesión interactiva en mi servidor:

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

Tras una instalación exitosa:

...
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. Configurar el cortafuegos de Linuxd

Si tiene firewalld instalado y habilitado en su sistema, debe abrir los puertos FreeIPA para acceder.

Debe asegurarse de que estos puertos de red estén abiertos:

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

Puertos UDP:
88, 464:Kerberos
123:NTP

Para abrir los puertos usando firewalld, use estos comandos:

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

5. Acceda a la interfaz web GUI de FreeIPA

Una vez que la secuencia de comandos complete la instalación, abra el navegador de su sistema y diríjalo al nombre de host FQDN que configuró para el sistema al principio, por ejemplo, https://ipa.citizix.com o incluso  si escribes https://your-server-ip esto lo redirigirá automáticamente al FQDN.

Ignore la advertencia de SSL haciendo clic en "Avanzado ”> “Ir a ipa.citizix.com (inseguro) ” si lo entiendes.

Al iniciar sesión con éxito, se le presenta la interfaz del Panel de identidad

6. Uso de la interfaz CLI de FreeIPA para realizar operaciones básicas

La ipa El comando se puede utilizar para realizar todas las operaciones del servidor FreeIPA.

Pero primero, obtenga el ticket Kerberos del usuario administrador:

$ sudo kinit admin
Password for [email protected]:

Verifique la información de caducidad del boleto usando 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. Establezca el shell predeterminado del usuario en /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. Agregar un usuario a 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. Lista de cuentas de usuario en 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. Inicie sesión como crear etowett usuario. En su primer inicio de sesión, se le pedirá que cambie su contraseña:

$ 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

Conclusión

En esta guía, logramos configurar FreeIPA en nuestro sistema Rocky Linux. Puede jugar con la interfaz para comprender la ubicación de varias funciones de administración de FreeIPA.


Cent OS
  1. Cómo instalar y configurar Gitlab en CentOS 8

  2. Cómo instalar y configurar docker en Rocky Linux/Centos 8

  3. Cómo instalar y configurar Redis 6 en Rocky Linux/Centos 8

  4. Cómo instalar y configurar Ansible en Rocky Linux/CentOS 8

  5. Cómo instalar el cliente FreeIPA en Rocky Linux/Alma Linux/CentOS 8

Cómo instalar y configurar el servidor VNC en CentOS 7

Cómo instalar y configurar Memcached en CentOS 8

Cómo instalar y configurar el servidor DHCP en Centos 8

Cómo instalar y configurar FreeIPA en Rocky Linux/Centos 8

Cómo configurar la replicación FreeIPA en Rocky Linux/Alma Linux/Centos 8

Cómo instalar y configurar Ansible AWX en Rocky Linux 8.3 y CentOS 8