Cómo instalar el Sistema de Gestión de Identidades FreeIPA en Rocky Linux 9

FreeIPA es una solución de gestión de identidades de código abierto para sistemas operativos Linux/Unix. Es un proyecto ascendente del Sistema de Gestión de Identidades RedHat, que proporciona soluciones de autenticación y autorización para sistemas Linux/Unix.

FreeIPA se basa en múltiples componentes, como el Servidor de Directorio, DNS, Kerberos, PKI, Certmonger, Servidor NTP, interfaz de administración web, etc. Proporciona una fuente centralizada de credenciales de usuario y control de acceso. FreeIPA permite a los administradores gestionar fácilmente la identidad en un entorno centralizado y proporciona supervisión, autenticación y control de acceso de los usuarios.

En este tutorial, instalarás y configurarás FreeIPA en el servidor Rocky Linux 9. Instalarás los paquetes del servidor FreeIPA y configurarás el despliegue de FreeIPA. También configurarás un usuario FreeIPA. Al final, también aprenderás a instalar y configurar el cliente FreeIPA en el host Rocky Linux y a añadirlo al servidor FreeIPA.

Requisitos previos

Para completar este tutorial, debes tener los siguientes requisitos:

Antes de empezar, debes asegurarte de que dispones de los siguientes requisitos:

  • Dos o más servidores Rocky Linux 9 – En este tutorial, utilizas dos hosts Rocky Linux para el servidor FreeIPA y el cliente FreeIPA.
  • Un usuario no root con privilegios de administrador sudo/root.
  • SELinux se ejecuta en modo permisivo.

Para esta demostración, utilizaremos dos servidores Rocky Linux 9 con el siguiente detalle:

Hostname    IP Address      Used as
--------------------------------------------
ipa         192.168.5.25    FreeIPA Server
client      192.168.5.80    FreeIPA Client

Cuando estos requisitos estén listos, ya puedes iniciar la instalación de FreeIPA.

Configurar el FQDN y la zona horaria

Para este tutorial, primero configurarás el FQDN (Fully Qualified Domain Name) y la zona horaria por defecto en tu servidor FreeIPA.

Introduce el siguiente comando‘hostnamectl‘ para configurar fqdn en tu sistema. En este ejemplo, el servidor FreeIPA debería tener fqdn ‘ipa.hwdomain.lan‘.

sudo hostnamectl set-hostname ipa.hwdomain.lan

Ahora abre el archivo ‘/etc/hosts’ utilizando el siguiente comando del editor nano.

sudo nano /etc/hosts

Añade la siguiente línea al archivo y asegúrate de cambiar los detalles nombre de host, fqdn y dirección IP con tu servidor FreeIPA.

# ip - fqdn - hostname
192.168.5.25    ipa.hwdomain.lan    ipa

Guarda y cierra el archivo cuando hayas terminado.

A continuación, introduce el siguiente comando para verificar el fqdn de tu sistema. A continuación, asegúrate de que el fqdn se resuelve con tu dirección IP interna.

sudo hostname -f
sudo ping -c3 ipa.hwdomain.lan

Si lo consigues, deberías obtener que tu fqdn apunta a la dirección IP interna de tu servidor. En este ejemplo, la fqdn ‘ipa.hwdomain.lan‘ apunta a la dirección IP‘192.168.5.25‘.

configurar archivo fqdn y hosts

Ahora introduce el siguiente comando‘timedatectl‘ para configurar la zona horaria por defecto de tu servidor. En este ejemplo, la hora del servidor FreeIPA será«Europa/Estocolmo«.

sudo timedatectl set-timezone Europe/Stockholm

Ahora introduce el siguiente comando para configurar el archivo‘/etc/localtime‘ de tu servidor con la zona horaria adecuada. La lista de archivos de zonas horarias se almacena en el directorio ‘/usr/share/timezone/‘, debes crear un enlace simbólico del archivo de la zona horaria adecuada a ‘/etc/localtime’.

sudo unlink /etc/localtime
sudo ln -s /usr/share/timezone/Europe/Stockholm /etc/localtime

configurar zona horaria

Con el fqdn y la zona horaria configurados, a continuación configurarás el firewalld y abrirás algunos puertos que utilizará el servidor FreeIPA.

Configurar Firewalld

En las distribuciones basadas en RHEL, el software cortafuegos instalado por defecto es firewalld, y se inicia y ejecuta automáticamente. En esta sección, añadirás el servicio FreeIPA con algunos servicios adicionales como NTP y DNS al firewalld.

Introduce el siguiente comando ‘firewall-cmd‘ para añadir FreeIPA, DNS y NTP al firewalld. A continuación, recarga el firewalld para aplicar los cambios. Una salida ‘success‘ confirma que la operación se ha realizado correctamente.

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

A continuación, ejecuta el siguiente comando para verificar el estado del firewalld y la lista de servicios y puertos habilitados.

sudo firewall-cmd --list-all

Deberías recibir una salida como ésta – El servicio FreeIPA, NTP y DNS añadidos al firewalld.

configurar firewalld

Ahora que has configurado fqdn, la zona horaria y firewalld, puedes iniciar la instalación del servidor FreeIPA mediante el gestor de paquetes DNF.

Instalación y configuración del servidor FreeIPA

En la última versión de Rocky Linux 9, el servidor FreeIPA está disponible por defecto en el repositorio ‘appstream’. Así que no necesitas añadir el repositorio de terceros para instalar el paquete del servidor FreeIPA.

En esta sección, instalarás el servidor FreeIPA y, a continuación, configurarás un despliegue interactivo de FreeIPA mediante la línea de comandos ‘ipa-server-install’, que proporciona el paquete FreeIPA.

Introduce el siguiente comando ‘dnf install’ para instalar los paquetes servidor FreeIPA, DNS FreeIPA y cliente FreeIPA. Cuando se te solicite, introduce y para confirmar y pulsa ENTER para continuar.

sudo dnf install freeipa-server freeipa-server-dns freeipa-client

instalar servidor freeipa

Una vez instalado FreeIPA, introduce el siguiente comando ‘ipa-server-install’ para iniciar el despliegue interactivo de tu servidor FreeIPA. En este ejemplo, utilizarás el parámetro ‘–setup-dns’, que también instalará el servidor DNS en tu servidor FreeIPA.

sudo ipa-server-install --setup-dns

En la siguiente salida, deberías ver la lista de tareas que vas a realizar para instalar y configurar el servidor FreeIPA.

configurar servidor freeipa

En primer lugar, ‘ipa-server-install’ verificará el fqdn de tu sistema y se asegurará de que el fqdn de tu servidor apunta a la dirección IP adecuada (mediante DNS o /etc/hosts). En este ejemplo, la fqdn ‘ipa.hwdomain.lan‘ está configurada a través del archivo /etc/hosts, así que ya puedes empezar.

Para el nombre de dominio y el nombre de dominio por defecto, ambos seguirán el fqdn del host. Así, el fqdn ‘ipa.hwdomain.lan‘ te dará el nombre de dominio por defecto ‘hwdomain.lan’ con el nombre de dominio‘HWDOMAIN.LAN‘.

Pulsa INTRO para utilizar el valor predeterminado para el nombre de host (fqdn), el nombre de dominio y el nombre de dominio.

setup hostname realm fqdn

Ahora introduce una nueva contraseña para el Gestor de directorios y el usuario administrador de la IPA. Asegúrate de utilizar más de 8 caracteres y una contraseña segura.

configurar contraseña ipa admin y manager

A continuación, se te pedirá que configures los reenviadores DNS por defecto para tu servidor FreeIPA y que configures el DNS inverso (rDNS) de la dirección IP de tu servidor FreeIPA. Pulsa ENTER para confirmar la configuración por defecto de ambas opciones.

Deja por defecto la configuración del nombre de dominio NetBIOS y pulsa ENTER. Para la configuración NTP, introduce no.

configuración resolver netbios ntp

Ahora revisa la configuración básica de tu servidor FreeIPA, luego introduce«sí» para confirmar y pulsa INTRO para proceder a la instalación.

confirma la instalación

Cuando la instalación del servidor FreeIPA se haya realizado correctamente, deberías recibir un mensaje como«Instalación completada – El comando ipa-server-install se ha ejecutado correctamente«. También verás las instrucciones para los siguientes pasos, que son configurar un cortafuegos para abrir algunos puertos y cómo obtener un ticket Kerberos para un administrador.

instalación finalizada

Con esto, ya has terminado la configuración básica del servidor FreeIPA mediante‘ipa-server-install‘. En el siguiente paso, te autentificarás contra Kerberos y obtendrás un ticket de administrador que te permitirá configurar FreeIPA desde tu terminal.

Autenticación Kerberos Admin y panel de control FreeIPA Web UI

Tras configurar el servidor FreeIPA mediante ‘ipa-server-install’, ahora verificarás la instalación de FreeIPA obteniendo un ticket de administrador de Kerberos y accediendo al panel de administración web de FreeIPA.

Introduce el siguiente comando‘kinit‘ para autenticarte en el servidor Kerberos mediante el usuario‘admin‘. Cuando te pida la contraseña, introduce tu contraseña de administrador de IPA.

kinit admin

Ahora verifica la autenticación y la lista de tickets Kerberos obtenidos introduciendo el siguiente comando«klist«.

klist

Si la autenticación Kerberos se ha realizado correctamente, deberías recibir una salida del ticket almacenado en caché para la entidad de seguridad predeterminada«[email protected]» como la siguiente captura de pantalla.

probar auth

A continuación, verificarás el servidor FreeIPA visitando el panel de administración desde tu máquina local. Antes de empezar, abre el archivo ‘/etc/hosts‘ en tu ordenador local mediante el siguiente comando del editor nano.

sudo nano /etc/hosts

Añade la siguiente línea al archivo y asegúrate de cambiar la dirección IP del nombre de dominio por los datos de tu servidor FreeIPA.

# ip - domain
192.168.5.25  ipa.hwdomain.lan ipa

Guarda y cierra el archivo cuando hayas terminado.

A continuación, abre tu navegador web y visita el nombre de dominio del servidor FreeIPA (por ejemplo: https://ipa.hwdomain.lan/). Deberías ver la página de inicio de sesión de FreeIPA.

Introduce el usuario por defecto admin y tu contraseña de FreeIPA, y haz clic en«Iniciar sesión«.

página de acceso a freeipa

Si tienes éxito, deberías obtener el panel de administración web de FreeIPA como la siguiente captura de pantalla.

salpicadero freeipa

Con esto en mente, ya has instalado y configurado con éxito el servidor FreeIPA en Rocky Linux 9. En el siguiente paso, aprenderás a gestionar el servidor FreeIPA añadiendo un nuevo usuario y grupo a través del terminal, y luego añadir una nueva máquina anfitriona Linux utilizando el paquete cliente FreeIPA.

Configurar el primer usuario y grupo FreeIPA

En esta sección, aprenderás a utilizar el comando ‘ipa’ para gestionar usuarios y grupos. Utilizarás el comando «ipa» con distintos parámetros para crear un usuario, comprobar una lista de usuarios, crear un grupo, comprobar la lista de grupos y añadir un usuario FreeIP a un grupo concreto. Y por último, comprobarás la lista de usuarios y grupos a través del panel de administración de FreeIPA.

Introduce el siguiente comando ‘ipa config-mod’ para modificar el shell por defecto de los usuarios de FreeIPA a‘/bin/bash‘. Cuando se ejecute, este comando también imprimirá otras configuraciones de usuario por defecto para FreeIPA.

ipa config-mod --defaultshell=/bin/bash

A continuación se muestra una salida similar que se imprimirá en tu terminal.

configurar usuario por defecto

A continuación, introduce el siguiente comando ‘ipa user-add‘ para añadir un nuevo FreeIPA. En este ejemplo, crearás un nuevo usuario«rocky«. Cuando se te pida una contraseña, introduce y verifica una nueva contraseña para tu usuario.

ipa user-add rocky --first=Rocky --last=Linux --password

añadir usuario firsdt

Ahora verifica los detalles del usuario ‘rocky‘ introduciendo el comando ‘ipa user-find’ que aparece a continuación. Cuando veas la información detallada sobre el usuario ‘rocky‘, significa que has creado con éxito un usuario FreeIPA.

ipa user-find rocky

buscar usuario

También puedes utilizar el comando ‘ipa user-show’ para mostrar los detalles de los usuarios de FreeIPA.

ipa user-show --raw rocky

Salida:

mostrar usuario raw

A continuación, introduce el siguiente comando ‘ipa group-add‘ para crear un nuevo grupo llamado ‘desarrollo’. A continuación, verifica el grupo« desarrollo» introduciendo el comando «ipa group-find » para asegurarte de que se ha creado el grupo.

ipa group-add --desc='Development Team' development
ipa group-find development

Una salida ‘1 grupo coincidente confirma que el grupo ‘desarrollo‘ se ha añadido y está disponible en el servidor FreeIPA.

añadir grupo

Ahora introduce el siguiente comando ‘ipa group-add-member’ para añadir al usuario FreeIPA‘rocky‘ al grupodesarrollo’.

ipa group-add-member --user=rocky development

La salida«Número de miembros añadidos 1» confirma que el usuario«rocky» se ha añadido al grupo«desarrollo».

añadir usuario al grupo

Ahora vuelve al panel de administración de FreeIPA, haz clic en el menú «Identidad» y en la pestaña«Usuarios«. Ahora deberías ver el nuevo usuario FreeIPA‘rocky‘ creado y disponible en el servidor FreeIPA.

listar usuarios

Por último, haz clic en la pestaña «Grupos» para comprobar la lista de grupos de FreeIPA. El nuevo grupo «desarrollo» está disponible en el servidor FreeIPA. Haz clic en el grupo ‘desarrollo‘ para obtener información detallada, y deberías ver al usuario‘rocky‘ añadido y disponible en el grupo‘desarrollo‘.

grupo de la lista

Llegados a este punto, ya has creado un usuario y un grupo FreeIPA desde el terminal mediante la herramienta de gestión de comandos ‘ipa’. Además, has comprobado que tu usuario y grupo están añadidos a través del panel de administración web de FreeIPA. En el siguiente paso, aprenderás a añadir un host/máquina Linux al servidor FreeIPA.

Añadir hosts al servidor FreeIPA: Rocky Linux

FreeIPA proporciona la forma más sencilla de añadir un nuevo host al servidor FreeIPA, que puede hacerse a través del paquete cliente FreeIPA que proporciona la utilidad ‘ipa-client-install’. En esta sección, añadirás una máquina Rocky Linux 9 al servidor FreeIPA‘ipa.hwdomain.lan‘.

A continuación se indican los pasos que debes seguir para añadir un nuevo host al servidor FreeIPA:

  • Añadir registros DNS de host desde el servidor FreeIPA
  • Configurar el archivo /etc/hosts y el archivo /etc/resolv.conf
  • Instalar el cliente FreeIPA y añadir el host mediante ‘ipa-client-install’

Ahora vamos a empezar a añadir el host Linux Rocky al servidor FreeIPA.

Añadir registros DNS

En primer lugar, debes añadir el registro DNS de tu máquina cliente al servidor FreeIPA. Y esto puede hacerse mediante el comando ‘ipadnsrecord-add‘ que puedes ejecutar desde el servidor FreeIPA.

Introduce el siguiente comando ‘ipadnsrecord-add‘ para añadir un nuevo registro DNS para la máquinacliente con la dirección IP‘192.168.5.80‘. Con esto, la máquina cliente tendrá el nombre de dominio‘cliente.hwdominio.lan‘.

En este ejemplo, definirás el registro A para el host llamado ‘cliente’ con la dirección IP ‘192 .168.5.80′. El dominio ‘hwdomain.lan’ sigue el nombre de dominio por defecto de tu servidor FreeIPA.

ipa dnsrecord-add hwdomain.lan client --a-rec 192.168.5.80

Ahora verifica el registro DNS ‘cliente‘ introduciendo el siguiente comando‘ipa dnsrecord-find‘. Deberías ver la máquinacliente’ con el registro A resuelto a la dirección IP‘192.168.5.80‘.

ipa dnsrecord-find hwdomain.lan client

añadir registro dns

Por último, introduce el siguiente comando «dig» para verificar el nombre de dominio DNS de la máquina cliente«client.hwdomain.lan«.

dig client.hwdomain.lan

Si lo consigues, deberías recibir un resultado como éste: El nombre de dominio de la máquina cliente «cliente .dominioh.lan» apunta a la dirección IP del servidor«192.168.5.80″.

verificar registro dns

Con esto, ya estás preparado para configurar la máquina ‘cliente’ y añadirla al servidor FreeIPA.

Configurar FQDN, /etc/hosts y resolver

Ahora conéctate a la máquina «cliente» para configurar los parámetros básicos del sistema antes de instalar los paquetes cliente de FreeIPA.

En esta sección, configurarás el archivo ‘ /etc/hosts ‘ y definirás el nombre de dominio y la dirección IP del servidor FreeIPA. A continuación, modificarás el archivo ‘ /etc/resolv.conf ‘ para configurar el resolver DNS por defecto de la máquina ‘cliente’ utilizando el resolver DNS del servidor FreeIPA. Esto garantizará que tu máquina cliente pueda acceder al servidor FreeIPA a través del nombre de dominio.

Introduce el siguiente comando del editor nano para abrir el archivo‘/etc/hosts‘.

sudo nano /etc/hosts

Añade las siguientes líneas al archivo y asegúrate de cambiar la dirección IP y el nombre de dominio con tu servidor FreeIPA.

# ip - fqdn/domain - hostname
192.168.5.25    ipa.hwdomain.lan    ipa

Guarda el archivo y sal de él cuando hayas terminado.

A continuación, abre el archivo‘/etc/resolv.conf‘ utilizando el siguiente comando del editor nano.

sudo nano /etc/resolv.conf

Añade la siguiente línea al principio y asegúrate de cambiar la dirección IP con la dirección IP de tu servidor FreeIPA.

# list resolver
nameserver 192.168.5.25

Guarda y cierra el archivo cuando hayas terminado.

Por último, introduce el siguiente comando‘ping‘ para verificar el nombre de dominio del servidor FreeIPA y el nombre de dominio de la máquina cliente.

ping -c3 ipa.hwdomain.lan
ping -c3 client.hwdomain.lan

El nombre de dominio del servidor FreeIPA ‘ipa.hwdomain.lan’ apuntará a la dirección IP‘192.168.5.25‘ definida en el archivo‘/etc/hosts‘.

Y el nombre de dominio de la máquina cliente‘cliente.hwdomain.lan’ apuntará a la dirección IP correcta ‘192.168 .5.80′, que se configura a través del servidor DNS de FreeIPA y confirma que tienes una configuración correcta y adecuada del resolver DNS.

configurar resolver fqdn

Con esto, estás listo para instalar el paquete cliente FreeIPA y añadir tu máquina cliente al servidor FreeIPA.

Instalar y configurar el cliente

Primero, introduce el siguiente comando ‘dnf install’ para instalar el paquete cliente FreeIPA y el paquete adicional‘oddjob-mkhomedir’. Cuando se te solicite, introduce y para confirmar y pulsa ENTER para continuar.

sudo dnf install freeipa-client oddjob-mkhomedir

instalar clientes freeipa

Cuando termine la instalación, introduce el siguiente comando‘ipa-client-install‘ para añadir tu máquina cliente al servidor FreeIPA. Asegúrate de cambiar el parámetro‘–server=ipa.hwdomain.lan‘ por tu servidor FreeIPA, y también los parámetros‘–domain hwdomain.lan‘ y‘–realm HWDOMAIN.LAN‘.

ipa-client-install --hostname=`hostname -f` \
--mkhomedir \
--server=ipa.hwdomain.lan \
--domain hwdomain.lan \
--realm HWDOMAIN.LAN

Introduce «sí» para proceder con el valor fijo de los detalles del servidor FreeIPA. y para la configuración del servidor NTP, introduce«no».

añadir cliente al servidor freeipa

Ahora revisa las configuraciones del cliente e introduce «sí» para confirmar.

confirmar los ajustes del cliente

Ahora se te pedirá la autenticación del usuario en el servidor Kerberos. Esto es necesario porque el ticket Kerberos debe almacenarse en caché cuando se añade un nuevo host al servidor FreeIPA.

Introduce el usuario por defecto«admin» e introduce tu contraseña. Cuando lo hayas hecho correctamente, deberías recibir una salida como ésta – El proceso debería comenzar ahora.

auth as admin kerberos

Cuando finalice el proceso, deberías recibir un mensaje como éste: «Configuración del cliente completada – El comando ipa-client-install se ha ejecutado correctamente«.

cliente añadido

Con esto en mente, ya has añadido una máquina cliente Rocky Linux al servidor FreeIPA mediante la utilidad‘ipa-client-install ‘ que proporciona el paquete cliente FreeIPA. Ahora también puedes iniciar sesión en la máquina cliente utilizando el usuario FreeIPA que has añadido.

Iniciar sesión en el cliente a través del usuario FreeIPA

En este apartado, verificarás la instalación del servidor y del cliente FreeIPA conectándote a la máquina cliente a través del usuario FreeIPA. Te conectarás a la máquina cliente‘cliente.hwdomain.lan‘ con el usuario FreeIPA‘rocky‘ mediante SSH.

Vuelve a tu servidor FreeIPA y ejecuta el siguiente comando ‘ssh’ para conectarte a la máquina ‘cliente.dominioh con el usuario FreeIPA ‘rocky‘. Introduce«sí» para aceptar la huella SSH de la máquina anfitriona.

ssh [email protected]

Cuando te pida la contraseña, introduce la contraseña del usuario«rocky» de FreeIPA. Cuando tengas la contraseña correcta, se te pedirá que cambies la contraseña actual por la nueva.

Introduce la contraseña actual, luego introduce la nueva contraseña para el usuario ‘rocky‘ y repite la contraseña. Si lo consigues, deberías haber iniciado sesión en la máquina«cliente.dominio.h» a través del usuario«rocky» de FreeIPA. Además, el directorio de inicio para el usuario FreeIPA se crea automáticamente durante el proceso de inicio de sesión.

Introduce el siguiente comando para verificar el estado actual de tu conexión. Deberías ver que el usuario que estás utilizando es ‘rocky, que forma parte del grupo‘desarrollo‘. Además, puedes ver que el fqdn de la máquina cliente es ‘cliente.hwdomain.lan‘.

id
whoami
hostname -f

cliente de inicio de sesión de prueba

Por último, a través del panel de administración web, comprobarás la lista de hosts/máquinas disponibles en el servidor FreeIPA.

Vuelve al panel de administración de FreeIPA y haz clic en el menú«Identidad«, luego selecciona la pestaña«Hosts«. Deberías ver el ‘cliente.hwdomain.lan’ añadido y disponible en el servidor FreeIPA.

lista de anfitriones

Ahora haz clic en el enlace ‘client.hwdomain.lan’ para obtener información detallada sobre el host. Deberías obtener detalles de la máquina anfitriona en la siguiente captura de pantalla.

detalle anfitrión

Con esto en mente, ya has instalado con éxito el servidor FreeIPA en Rocky Linux 9 y también has añadido el host cliente Rocky Linux a través del cliente FreeIPA.

Conclusión

En este tutorial, has aprendido a instalar y desplegar el servidor FreeIPA en el servidor ROcky Linux 9. Has configurado el servidor FreeIPA en Rocky Linux con DNS habilitado mediante Bind y firewalld también configurado.

Además, también has aprendido el uso básico del comando ‘ipa’ para crear y gestionar usuarios y grupos de FreeIPA, y también has aprendido a obtener el ticket Kerberos mediante el comando kinit y a acceder a la administración web de FreeIPA mediante el usuario y contraseña admin.

Por último, has añadido la máquina cliente al servidor FreeIPA mediante el paquete cliente FreeIPA. Has aprendido paso a paso cómo hacerlo, y también has verificado tu configuración accediendo a la máquina cliente mediante el usuario FreeIPA.

Con esto, ya puedes añadir más hosts, usuarios y grupos a tu servidor FreeIPA. También puedes integrar FreeIPA en tu producción. Para obtener información detallada, visita la documentación oficial de FreeIPA.

Scroll al inicio