Cómo instalar FreeIPA en Rocky Linux
FreeIPA es una solución de gestión de identidades libre y de código abierto para sistemas operativos Linux/Unix. Es un proyecto ascendente del Sistema de Gestión de Identidades de RedHat, que proporciona soluciones de autenticación y autorización para sistemas Linux/Unix.
FreeIPA está construido sobre múltiples componentes, como el servidor de directorios, DNS, Kerberos, PKI, Certmonger, el servidor NTP, la interfaz de administración web, etc. Proporciona una fuente centralizada de credenciales de usuario y control de acceso. El uso de FreeIPA permite a los administradores gestionar fácilmente la identidad en un entorno centralizado, y también proporciona supervisión, autenticación y control de acceso de los usuarios.
En esta guía, te mostraremos cómo instalar el gestor de identidades FreeIPA en el servidor Rocky Linux.
Requisitos previos
- Un servidor Linux Rocky Linux 8.5.
- Un usuario no root con privilegios de administrador sudo.
Configurar el FQDN
En primer lugar, deberás configurar el FQDN (Fully Qualified Domain Name) y el archivo /etc/hosts de tu servidor Rocky Linux.
Para configurar el FQDN del servidor, ejecuta el siguiente comando. En este ejemplo, estamos utilizando el FQDN ipa.hwdomain.io.
sudo hostnamectl set-hostname ipa.hwdomain.io
Ahora edita el archivo /etc/hosts con el editor nano.
sudo nano /etc/hosts
Introduce los detalles de la dirección IP del servidor y el FQDN del servidor como se indica a continuación.
192.168.10.25 ipa.hwdomain.io ipa
Guarda el archivo pulsando Ctrl+x e introduce Y para confirmar y guardar el archivo.
A continuación, ejecuta el siguiente comando para verificar el FQDN de tu servidor Rocky Linux.
hostname -f
Deberías obtener la salida del FQDN del servidor como ipa.hwdomain.io.
Por último, ejecuta el siguiente comando ping para verificar que el FQDN se resuelve a la dirección IP correcta del servidor.
ping -c3 ipa.hwdomain.io
En la siguiente captura de pantalla, el FQDN ipa.h wdomain.io está resuelto y es accesible en la dirección IP 192.168.10.25.
Pasa al siguiente paso para iniciar la instalación de FreeIPA.
Instalar los paquetes del servidor FreeIPA
Si has completado la configuración del FQDN y del archivo /etc/hosts, ahora vas a instalar los paquetes de FreeIPA en el sistema Rocky Linux.
En el sistema Rocky Linux, todos los paquetes relacionados con FreeIPA están disponibles en el módulo idm:DL1. Debes habilitar el módulo idm:DL1 para poder instalar los paquetes de FreeIPA.
Ejecuta el siguiente comando para habilitar el módulo idm:DL1 en tu sistema Rocky Linux.
sudo dnf module enable idm:DL1
Introduce Y para confirmar y habilitar el módulo.
A continuación, instala los paquetes de FreeIPA mediante el comando dnf que aparece a continuación. El ipa-server es el paquete principal de FreeIPA, y el ipa-server-dns es un paquete adicional para FreeIPA que proporciona la funcionalidad de servidor DNS.
sudo dnf install ipa-server ipa-server-dns -y
Espera a que se instalen todos los paquetes, tardará un tiempo dependiendo de tu conexión al servidor.
Cuando se haya completado toda la instalación, pasa al siguiente paso para empezar a configurar el servidor de FreeIPA.
Configurar el servidor FreeIPA
Ahora vas a configurar el servidor FreeIPA en el sistema Rocky Linux.
Antes de configurar el servidor FreeIPA, asegúrate de que el IPv6 de tu servidor está habilitado y activado. el servidor FreeIPA detectará automáticamente un error cuando el IPv6 esté habilitado en el espacio del núcleo, pero no esté disponible en la pila de red.
Comprueba la dirección IP de tu servidor para verificar que el IPv6 está disponible en tu interfaz de red.
sudo ip a
En la siguiente captura de pantalla, verás el inet6 en la salida, lo que significa que el IPv6 está disponible en la interfaz de red local y que estás listo para configurar el servidor FreeIPA.
A continuación, ejecuta el comando ipa-server-install que aparece a continuación para empezar a configurar el servidor FreeIPA.
sudo ipa-server-install --setup-dns --allow-zone-overlap
En primer lugar, se te mostrará información básica sobre lo que vas a hacer para configurar el servidor FreeIPA.
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.6 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 DNS (bind) * Configure SID generation * Configure the KDC to enable PKINIT
El servidor FreeIPA detectará automáticamente el FQDN del servidor y lo utilizará como nombre de host del servidor por defecto. Pulsa ENTER para confirmar y continuar.
To accept the default shown in brackets, press the Enter key. 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.hwdomain.io]:
Ahora tendrás que configurar el nombre de dominio de tu servidor FreeIPA. Éste se detectará automáticamente, y se basará en el FQDN del servidor. En este ejemplo el FQDN del servidor es ipa.hwdomain.io, por lo que el nombre de dominio debe ser hwdomain.io.
Pulsa ENTER para confirmar y continuar.
Warning: skipping DNS resolution of host ipa.hwdomain.io The domain name has been determined based on the host name.
Please confirm the domain name [hwdomain.io]:
Ahora tendrás que configurar el nombre de dominio REALM para la autenticación Kerberos. En la mayoría de los casos, es el mismo que el nombre de dominio de FreeIPA, pero con mayúsculas.
The kerberos protocol requires a Realm name to be defined. This is typically the domain name converted to uppercase.
Please provide a realm name [HWDOMAIN.IO]:
Introduce una nueva contraseña para el servidor de directorios. La contraseña debe tener al menos 8 caracteres, así que asegúrate de utilizar una contraseña fuerte para el gestor de directorios.
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):
Ahora introduce otra contraseña para el usuario administrador de la IPA. Este usuario se utilizará para iniciar la sesión en el servidor FreeIPA o la autenticación contra Kerberos como usuario administrador. Asegúrate de utilizar una contraseña fuerte para el usuario administrador IPA.
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):
En el siguiente paso, se te pedirá que configures un reenvío de DNS. Pulsa ENTER para continuar y FreeIPA detectará automáticamente el archivo /etc/resolv.conf actual como reenviador de DNS.
Checking DNS domain hwdomain.io., please wait ... Do you want to configure DNS forwarders? [yes]: yes Following DNS servers are configured in /etc/resolv.conf: 192.168.121.1 Do you want to configure these servers as DNS forwarders? [yes]:
Ahora se te pedirá que crees una zona inversa para la dirección IP de tu servidor FreeIPA. Pulsa ENTER para continuar y FreeIPA creará automáticamente una nueva zona inversa para la dirección IP de tu servidor.
Do you want to search for missing reverse zones? [yes]: Do you want to create reverse zone for IP 192.168.10.25 [yes]: Please specify the reverse zone name [10.168.192.in-addr.arpa.]: Using reverse zone(s) 10.168.192.in-addr.arpa. Trust is configured but no NetBIOS domain name found, setting it now. Enter the NetBIOS name for the IPA domain. Only up to 15 uppercase ASCII letters, digits and dashes are allowed. Example: EXAMPLE. NetBIOS domain name [HWDOMAIN]:
Para la configuración de NTP, déjala por defecto y pulsa ENTER para no.
Do you want to configure chrony with NTP server or pool address? [no]:
Ahora se te pedirá que confirmes la instalación y configuración del servidor FreeIPA. Comprueba de nuevo los detalles de la configuración del servidor FreeIPA, luego introduce sí y pulsa ENTER para confirmar la instalación y configuración.
The IPA Master Server will be configured with: Hostname: ipa.hwdomain.io IP address(es): 192.168.10.25 Domain name: hwdomain.io Realm name: HWDOMAIN.IO The CA will be configured with: Subject DN: CN=Certificate Authority,O=HWDOMAIN.IO Subject base: O=HWDOMAIN.IO Chaining: self-signed BIND DNS server will be configured to serve IPA domain with: Forwarders: 192.168.121.1 Forward policy: only Reverse zone(s): 10.168.192.in-addr.arpa. Continue to configure the system with these values? [no]: yes
Ahora se iniciará la instalación y configuración de FreeIPA.
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 [4/41]: enabling memberof plugin
Una vez instalada y configurada FreeIPA, verás el siguiente mensaje de salida.
En el siguiente mensaje de salida también se te informará del siguiente paso para configurar el Firewall para el servidor de FreeIPA. Tendrás que abrir algunos puertos para el servidor FreeIPA, y luego verificar la autenticación mediante el usuario admin contra el servidor Kerberos.
============================================================================== 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 * 53: bind UDP Ports: * 88, 464: kerberos * 53: bind * 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
Ahora has completado la instalación y configuración del servidor FreeIPA.
Configuración de Firewalld
En este paso, añadirás algunos servicios a las reglas de Firewalld. Esto incluye los servicios básicos para el servidor FreeIPA, como LDAP, DNS y HTTPS.
Ejecuta el comando firewall-cmd que aparece a continuación para añadir algunos servicios para el servidor FreeIPA al Firewalld.
sudo firewall-cmd --add-service={http,https,dns,ntp,freeipa-ldap,freeipa-ldaps} --permanent
Después, recarga las reglas del Firewalld con el comando que aparece a continuación.
sudo firewall-cmd --reload
Por último, verifica la lista de reglas del Firewalld utilizando el siguiente comando.
sudo firewall-cmd --list-all
En la siguiente captura de pantalla verás que todos los servicios del servidor FreeIPA se han añadido al Firewalld.
Verificación de la autenticación Kerberos Admin
Después de configurar el Firewalld, ahora vas a verificar la autenticación contra Kerberos en tu servidor FreeIPA.
Ejecuta el siguiente comando para autentificarte con el servidor Kerberos utilizando el usuario admin.
kinit admin
Ahora se te pedirá la contraseña de tu servidor IPA. Introduce la contraseña correcta.
Una vez que te hayas autenticado con éxito, ejecuta el siguiente comando para verificar la lista de tickets Kerberos de tu servidor.
klist
En la siguiente captura de pantalla, el nuevo ticket Kerberos para el usuario admin está disponible y la autenticación contra el servidor Kerberos es correcta.
Iniciar sesión en el panel de control de FreeIPA
En este paso, verificarás la instalación de FreeIPA iniciando sesión en el panel de administración web de FreeIPA.
Abre tu navegador web y visita la dirección IP o el FQDN de tu servidor como se indica a continuación. Ahora verás la página de inicio de sesión de FreeIPA.
https://ipa.hwdomain.io/ipa/ui/
Introduce el usuario y la contraseña de administrador de FreeIPA, y haz clic en el botón Iniciar sesión.
Una vez que hayas iniciado la sesión, verás el panel de administración de FreeIPA que aparece a continuación.
¡Enhorabuena! Ya has instalado y configurado con éxito FreeIPA en Rocky Linux.