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‘.
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
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.
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
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.
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.
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.
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.
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.
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.
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.
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«.
Si tienes éxito, deberías obtener el panel de administración web de FreeIPA como la siguiente captura de pantalla.
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.
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
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
También puedes utilizar el comando ‘ipa user-show’ para mostrar los detalles de los usuarios de FreeIPA.
ipa user-show --raw rocky
Salida:
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.
Ahora introduce el siguiente comando ‘ipa group-add-member’ para añadir al usuario FreeIPA‘rocky‘ al grupo‘desarrollo’.
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».
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.
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‘.
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áquina‘cliente’ con el registro A resuelto a la dirección IP‘192.168.5.80‘.
ipa dnsrecord-find hwdomain.lan client
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″.
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.
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
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».
Ahora revisa las configuraciones del cliente e introduce «sí» para confirmar.
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.
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«.
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
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.
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.
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.