bolt Valebyte VPS desde $4/mes — NVMe, despliegue en 60s.

Obtener VPS arrow_forward
eco Principiante Tutorial/Cómo hacer

Despliegue de Free

calendar_month Sep 04, 2026 schedule 19 min de lectura visibility 33 vistas
Развёртывание FreeIPA на VPS для централизованного управления идентификацией
info

¿Necesitas un servidor para esta guía? Ofrecemos servidores dedicados y VPS en más de 50 países con configuración instantánea.

¿Necesitas un VPS para esta guía?

Explore otras opciones de servidores dedicados en

Despliegue de FreeIPA en un VPS para la gestión centralizada de identidades

TL;DR

En esta guía, configuraremos paso a paso FreeIPA en un servidor privado virtual (VPS) para crear un sistema centralizado de gestión de identidades y accesos. FreeIPA combina Kerberos, LDAP, DNS y Certificate Authority, proporcionando un punto único para la autenticación de usuarios y máquinas, la gestión de accesos y la emisión de certificados en su infraestructura basada en Linux.

  • Desplegará FreeIPA 4.10 en Ubuntu Server 24.04 LTS.
  • Configurará una infraestructura de identidad básica, incluyendo DNS y Kerberos.
  • Aprenderá a gestionar usuarios, grupos y hosts a través de la interfaz web y la línea de comandos.
  • Asegurará el servidor con UFW y Fail2ban.
  • Recibirá recomendaciones para la copia de seguridad y el mantenimiento de FreeIPA.

Qué configuramos y por qué

Diagrama: Qué configuramos y por qué
Diagrama: Qué configuramos y por qué

FreeIPA (Identity, Policy and Audit) es una solución integrada de código abierto para la gestión centralizada de identidades, políticas y auditorías en entornos predominantemente Linux/Unix. En esencia, es un conjunto de herramientas potente que combina varios componentes clave: Kerberos para la autenticación, LDAP (389 Directory Server) para el almacenamiento de información de identidad, DNS para la resolución de nombres y Certificate Authority (Dogtag) para la gestión de certificados.

Al desplegar FreeIPA en un VPS, crea un punto de gestión único para todos sus servidores, estaciones de trabajo y aplicaciones. Esto significa que los usuarios pueden iniciar sesión en diferentes máquinas utilizando las mismas credenciales (Single Sign-On, SSO), y los administradores obtienen un control centralizado sobre el acceso, los grupos y las políticas de seguridad. En lugar de crear usuarios locales en cada máquina o sincronizar contraseñas manualmente, FreeIPA automatiza este proceso, simplificando significativamente la administración y aumentando la seguridad.

Al final, el lector obtendrá un sistema FreeIPA completamente funcional, capaz de gestionar la identidad para decenas y cientos de sistemas. Podrá crear usuarios, grupos, asignarles derechos de acceso (por ejemplo, a través de HBAC — Host-Based Access Control), gestionar registros DNS para su infraestructura e incluso emitir certificados TLS para servicios internos. Es una solución ideal para equipos pequeños y medianos que necesitan un sistema IDM potente pero manejable, sin los costes de las soluciones propietarias o la complejidad de configurar componentes individuales.

Existen alternativas a FreeIPA. Las más conocidas son: OpenLDAP (como componente independiente), Microsoft Active Directory (para entornos Windows, pero con posibilidad de integración con Linux), así como soluciones en la nube como Okta, Auth0 o Azure AD. La elección de una solución autoalojada en un VPS, como FreeIPA, se debe a varios factores:

  • Control total: Usted controla completamente los datos, la configuración y la seguridad de su sistema de identidad, lo cual es crítico para algunas organizaciones.
  • Ahorro: La ausencia de pagos mensuales por servicios en la nube puede reducir significativamente los costes operativos, especialmente si ya dispone de un VPS pagado.
  • Flexibilidad: Posibilidad de ajustar finamente la configuración a necesidades específicas, integración con servicios locales que pueden no tener conectores directos a IDM en la nube.
  • Confidencialidad: Los datos permanecen en su servidor, lo cual es importante para cumplir con los requisitos regulatorios y la política de privacidad.

El despliegue de FreeIPA en un VPS es un equilibrio entre la funcionalidad de nivel empresarial y la accesibilidad para desarrolladores individuales, startups o entusiastas.

Qué configuración de VPS se necesita para esta tarea

Diagrama: Qué configuración de VPS se necesita para esta tarea
Diagrama: Qué configuración de VPS se necesita para esta tarea

Para el despliegue de FreeIPA, especialmente en un entorno de prueba o de producción pequeño, los requisitos de recursos son relativamente moderados. Sin embargo, como con cualquier servicio de infraestructura crítico, se recomienda tener cierta holgura.

Requisitos mínimos:

  • CPU: 2 núcleos. FreeIPA utiliza activamente el procesador para procesar solicitudes Kerberos y LDAP, así como para operaciones con certificados.
  • RAM: 4 GB. Este es un parámetro crítico. El servidor LDAP y Kerberos-KDC pueden consumir una cantidad significativa de memoria, especialmente bajo alta carga o con un gran número de usuarios.
  • Disco: 50 GB SSD. El SSD acelera significativamente el funcionamiento de la base de datos LDAP y otros componentes. 50 GB son suficientes para el sistema operativo, FreeIPA y un pequeño volumen de registros. Para despliegues más grandes o almacenamiento de registros a largo plazo, se necesitará más.
  • Red: 100 Mbps. Para la mayoría de las tareas, esto es suficiente, ya que el tráfico de FreeIPA no suele ser muy intenso, a menos que lo replique entre nodos geográficamente distantes.

Plan de VPS recomendado para uso medio (hasta 1000 usuarios/hosts):

  • CPU: 4 núcleos.
  • RAM: 8 GB.
  • Disco: 100-150 GB SSD.
  • Red: 1 Gbps.

Para estas características, se puede considerar un VPS con las características indicadas. Es importante que el proveedor ofrezca la posibilidad de configurar registros DNS inversos (PTR), ya que esto es crítico para el correcto funcionamiento de Kerberos.

Cuándo se necesita un servidor dedicado en lugar de un VPS:

Un servidor dedicado se vuelve preferible para FreeIPA en los siguientes casos:

  • Un número muy grande de usuarios/hosts: Más de 5000-10000 objetos en el directorio.
  • Alta intensidad de solicitudes: Si FreeIPA se utiliza para la autenticación de muchas aplicaciones o servicios de alta carga.
  • Requisitos de rendimiento de E/S: En operaciones muy activas de lectura/escritura en el directorio LDAP, cuando el rendimiento del SSD en un VPS puede convertirse en un cuello de botella.
  • Requisitos específicos de seguridad o cumplimiento: Algunos requisitos regulatorios pueden dictar el uso de hardware físicamente aislado.
  • Necesidad de hardware específico: Por ejemplo, para el uso de módulos de seguridad de hardware (HSM) para proteger las claves de la CA.

En tales escenarios, un servidor dedicado adecuado proporcionará el rendimiento y el aislamiento necesarios.

Ubicación: qué factores influye

  • Latencia: Elija una ubicación de VPS que esté geográficamente cerca de la mayoría de sus usuarios y clientes de FreeIPA. Esto minimizará la latencia durante la autenticación y el acceso al directorio.
  • Geopolítica y legislación: Dependiendo de la sensibilidad de los datos y los requisitos de almacenamiento, la jurisdicción en la que se encuentra su VPS puede ser crítica. Considere las leyes de protección de datos (por ejemplo, GDPR).
  • Conectividad de red: Algunas ubicaciones tienen mejor conectividad con ciertas regiones del mundo, lo cual puede ser importante para equipos distribuidos globalmente.

Preparación del servidor

Diagrama: Preparación del servidor
Diagrama: Preparación del servidor

Antes de instalar FreeIPA, es necesario realizar una configuración básica del sistema operativo. En esta guía, utilizaremos Ubuntu Server 24.04 LTS, que será relevante y compatible hasta 2026. Asegúrese de tener acceso SSH al servidor con permisos de root o de un usuario con sudo.

1. Actualización del sistema

Primero, actualice todos los paquetes a las últimas versiones para garantizar la estabilidad y seguridad.


sudo apt update && sudo apt upgrade -y

Este comando actualiza la lista de paquetes disponibles y luego instala todas las actualizaciones disponibles sin solicitar confirmación.

2. Configuración del nombre de host y DNS

FreeIPA es extremadamente sensible a la configuración correcta de DNS y del nombre de host. Utilice un nombre de dominio completamente calificado (FQDN) para su servidor FreeIPA. Por ejemplo, ipa.example.com.


sudo hostnamectl set-hostname ipa.example.com

Establezca el nombre de host del servidor. Reemplace ipa.example.com con su FQDN real.


echo "127.0.0.1   ipa.example.com ipa localhost" | sudo tee -a /etc/hosts
echo "::1         ipa.example.com ipa localhost" | sudo tee -a /etc/hosts

Agregue una entrada FQDN al archivo /etc/hosts. Esto asegura que el servidor pueda resolver su propio nombre.

Asegúrese de que su FQDN se resuelva en la dirección IP pública de su VPS. Esto debe configurarse en su proveedor de DNS (por ejemplo, Cloudflare, Namecheap, GoDaddy). Cree un registro A para ipa.example.com que apunte a la dirección IP de su VPS.

3. Creación de un usuario con sudo (si no es root)

Para una mejor seguridad, se recomienda trabajar con un usuario normal con permisos sudo en lugar de con root.


sudo adduser username
sudo usermod -aG sudo username

Cree un nuevo usuario (reemplace username) y agréguelo al grupo sudo.

Después de esto, cierre la sesión de root e inicie sesión con el nuevo usuario.

4. Configuración de claves SSH

Para mejorar la seguridad del acceso SSH, se recomienda utilizar la autenticación por claves en lugar de contraseñas.


# En su máquina local
ssh-keygen -t rsa -b 4096 -C "[email protected]"
ssh-copy-id username@your_vps_ip

En su máquina local, genere una clave SSH (si no tiene una) y copie la clave pública al VPS. Luego, en el VPS, desactive la autenticación por contraseña.


sudo nano /etc/ssh/sshd_config

Encuentre las líneas:


#PasswordAuthentication yes
#PermitRootLogin yes

Cámbielas a:


PasswordAuthentication no
PermitRootLogin no

Reinicie el servicio SSH:


sudo systemctl restart sshd

5. Configuración del firewall (UFW)

UFW (Uncomplicated Firewall) es una interfaz fácil de usar para iptables. FreeIPA requiere la apertura de varios puertos.


sudo apt install ufw -y
sudo ufw allow OpenSSH
sudo ufw allow http
sudo ufw allow https
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 389/tcp   # LDAP
sudo ufw allow 636/tcp   # LDAPS
sudo ufw allow 88/tcp    # Kerberos (TCP)
sudo ufw allow 88/udp    # Kerberos (UDP)
sudo ufw allow 464/tcp   # Kerberos (TCP)
sudo ufw allow 464/udp   # Kerberos (UDP)
sudo ufw allow 123/udp   # NTP
sudo ufw allow 53/tcp    # DNS (TCP)
sudo ufw allow 53/udp    # DNS (UDP)
sudo ufw enable
sudo ufw status verbose

Instale UFW, permita los puertos necesarios para SSH, HTTP/HTTPS, LDAP, Kerberos, NTP y DNS, luego active el firewall y verifique su estado.

6. Instalación de Fail2ban

Fail2ban protege el servidor contra ataques de fuerza bruta, bloqueando las direcciones IP desde las que se producen múltiples intentos fallidos de inicio de sesión.


sudo apt install fail2ban -y
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

Instale Fail2ban y asegúrese de que esté en ejecución y se inicie con cada arranque del sistema.

Ahora su servidor está listo para la instalación de FreeIPA.

Instalación del software — paso a paso

Instalación de software — paso a paso

Diagrama: Instalación de software — paso a paso
Diagrama: Instalación de software — paso a paso

En esta sección, instalaremos FreeIPA 4.10 paso a paso en Ubuntu Server 24.04 LTS. El proceso incluye la instalación de paquetes, la inicialización del servidor y la configuración básica de DNS.

1. Instalación de paquetes FreeIPA

FreeIPA está disponible en los repositorios estándar de Ubuntu. Instale el paquete principal ipa-server y sus dependencias.


sudo apt update
sudo apt install ipa-server -y

Este comando actualizará la lista de paquetes e instalará el servidor FreeIPA con todos los componentes necesarios, como 389 Directory Server, BIND, Kerberos KDC y Dogtag CA.

2. Ejecución del script de instalación de FreeIPA

Después de instalar los paquetes, es necesario ejecutar el script ipa-server-install, que realizará la inicialización de todos los componentes de FreeIPA. Este script es interactivo y le hará varias preguntas.


sudo ipa-server-install

A continuación se presentan las respuestas típicas a las preguntas del script:

  • Do you want to configure integrated DNS? [no]: Ingrese yes. El DNS integrado simplifica la administración y es el método recomendado para la mayoría de las implementaciones de FreeIPA.
  • Server host name [ipa.example.com]: Confirme el FQDN de su servidor. Presione Enter si es correcto.
  • Please enter the name of the domain for which you want to configure FreeIPA. [example.com]: Ingrese el dominio de FreeIPA. Este es el dominio que se utilizará para Kerberos y LDAP. Por ejemplo, example.com.
  • Please enter the name of the realm for which you want to configure FreeIPA. [EXAMPLE.COM]: Confirme el Realm de Kerberos (generalmente su dominio en mayúsculas). Presione Enter.
  • The IPA server will be configured with: Verifique la configuración propuesta.
  • Continue to configure the system with these values? [no]: Ingrese yes.
  • Directory Manager password: Ingrese y confirme la contraseña para el usuario Directory Manager. Esta es una contraseña muy importante, use una compleja.
  • IPA admin password: Ingrese y confirme la contraseña para el usuario admin de FreeIPA. Este es el usuario administrativo principal para gestionar FreeIPA. También use una contraseña compleja.

El proceso de instalación tomará algún tiempo (5-15 minutos), ya que FreeIPA configura el servidor LDAP, el Centro de Distribución de Claves (KDC) de Kerberos, la Autoridad de Certificación (CA) y el servidor DNS.

3. Verificación del estado de los servicios de FreeIPA

Una vez completada la instalación, asegúrese de que todos los servicios de FreeIPA se estén ejecutando correctamente.


sudo ipactl status

Este comando mostrará el estado de todos los componentes de FreeIPA (Directory Server, KDC, NTP, DNS, Web UI, CA). Todos ellos deben estar en estado running.

4. Configuración del entorno cliente en el servidor FreeIPA

Para poder utilizar los comandos de FreeIPA y la interfaz web, es necesario configurar la autenticación Kerberos para el usuario admin en el propio servidor.


kinit admin

Ingrese la contraseña de administrador de FreeIPA que estableció durante la instalación. Este comando obtendrá un ticket Kerberos para el usuario admin, permitiéndole interactuar con FreeIPA.


ipa user-find admin

Verifique que el comando ipa user-find admin devuelva correctamente la información sobre el usuario admin. Esto significa que la autenticación Kerberos funciona.

5. Configuración del cliente DNS en el servidor (opcional, pero recomendado)

Aunque FreeIPA ha configurado su propio servidor DNS, asegúrese de que su VPS lo utilice para la resolución de nombres. Esto es especialmente importante para los clientes de FreeIPA.


# Establezca temporalmente el servidor DNS de FreeIPA como principal
echo "nameserver 127.0.0.1" | sudo tee /etc/resolv.conf

Este comando establecerá el servidor DNS local (que ahora es atendido por FreeIPA) como principal. En configuraciones más complejas, puede usar systemd-resolved u otros métodos para una configuración permanente.

Verifique la resolución de DNS:


dig ipa.example.com
dig example.com

Ambos comandos deben resolver correctamente sus dominios utilizando el servidor DNS local de FreeIPA.

6. Acceso a la interfaz web

Ahora puede acceder a la interfaz web de FreeIPA yendo a https://ipa.example.com/ipa/ui/ en su navegador. Al primer acceso, se encontrará con una advertencia sobre un certificado autofirmado. Esto es normal, ya que FreeIPA ha implementado su propia Autoridad de Certificación. Puede agregar este certificado a las excepciones del navegador o importar el certificado CA de FreeIPA a los almacenes de confianza de su sistema operativo.

Inicie sesión como usuario admin con la contraseña que estableció anteriormente.

Configuración

Diagrama: Configuración
Diagrama: Configuración

Después de una instalación exitosa de FreeIPA, es hora de la configuración básica. Crearemos el primer usuario, agregaremos un host y configuraremos una máquina cliente para trabajar con FreeIPA.

1. Creación de un nuevo usuario

Por razones de seguridad y para el trabajo diario, no se recomienda utilizar la cuenta admin. Crearemos un nuevo usuario normal.


kinit admin # Si su ticket Kerberos ha caducado
ipa user-add user01 --first=User --last=One --password

Se le pedirá que ingrese y confirme la contraseña para user01. Después de la creación, puede restablecer la fecha de caducidad de la contraseña para que no caduque inmediatamente (para pruebas).


ipa user-mod user01 --setattr=krbPasswordExpiration=20300101000000Z

Este comando establecerá la fecha de caducidad de la contraseña al 1 de enero de 2030. En un entorno real, es mejor usar políticas de contraseña.

2. Adición de un host a FreeIPA

Para que otros servidores Linux puedan autenticarse a través de FreeIPA, deben registrarse en el directorio de FreeIPA.


ipa host-add client01.example.com

Reemplace client01.example.com con el FQDN de su máquina cliente. Asegúrese de que esta máquina tenga un registro A en DNS que apunte a su dirección IP.

3. Configuración de la máquina cliente (Ubuntu Server 24.04)

Para integrar la máquina cliente con FreeIPA, instale el paquete freeipa-client y ejecute el script de configuración.

En la máquina cliente, realice los siguientes pasos:


sudo apt update && sudo apt upgrade -y
sudo hostnamectl set-hostname client01.example.com
echo "192.168.1.100 ipa.example.com" | sudo tee -a /etc/hosts # Reemplace la dirección IP con la IP de su servidor FreeIPA
echo "nameserver 192.168.1.100" | sudo tee /etc/resolv.conf # Reemplace la dirección IP con la IP de su servidor FreeIPA
sudo apt install freeipa-client -y

Establezca el nombre de host, agregue una entrada para el servidor FreeIPA en /etc/hosts y configure el servidor DNS a la dirección IP de su servidor FreeIPA. Luego instale el paquete cliente de FreeIPA.

Ahora ejecute el script de configuración del cliente:


sudo ipa-client-install --domain=example.com --server=ipa.example.com --realm=EXAMPLE.COM --force-join --mkhomedir -p admin --password <ПАРОЛЬ_ADMIN> --unattended

Reemplace example.com, ipa.example.com, EXAMPLE.COM y <ПАРОЛЬ_ADMIN> con sus valores. La opción --mkhomedir crea un directorio de inicio para los usuarios de FreeIPA en el primer inicio de sesión. --unattended y -p admin --password <ПАРОЛЬ_ADMIN> permiten automatizar el proceso si está seguro de los parámetros. En modo interactivo, el script solicitará la contraseña de administrador de FreeIPA.

Una vez finalizada la instalación del cliente en la máquina cliente:


kinit user01

Ingrese la contraseña de user01. Si el ticket Kerberos se obtiene correctamente, la máquina cliente se ha integrado con éxito.


ssh user01@localhost

Intente iniciar sesión en la máquina cliente como usuario user01. Si el inicio de sesión es exitoso y se creó un directorio de inicio, la integración fue exitosa.

4. Configuración de TLS/HTTPS (FreeIPA CA)

FreeIPA utiliza por defecto su Autoridad de Certificación (CA) incorporada para emitir certificados TLS para sus servicios (interfaz web, LDAP-S). Esto significa que al acceder a la interfaz web, verá una advertencia sobre un certificado autofirmado hasta que importe el certificado raíz de la CA de FreeIPA a los almacenes de confianza de su sistema operativo o navegador.

Para importar el certificado CA (en la máquina cliente o su estación de trabajo):


# En su estación de trabajo o máquina cliente
# Descargue el certificado CA del servidor FreeIPA
curl -o /tmp/ipa.crt http://ipa.example.com/ipa/config/ca.crt

# Impórtelo a los almacenes de confianza (ejemplo para Ubuntu/Debian)
sudo cp /tmp/ipa.crt /usr/local/share/ca-certificates/ipa.crt
sudo update-ca-certificates

Después de esto, los navegadores y otras aplicaciones en esta máquina confiarán en los certificados emitidos por su CA de FreeIPA.

Uso de Caddy/Certbot para otros servicios:

Si desea utilizar FreeIPA para la autenticación en otros servicios web, y para ellos obtener certificados de Let's Encrypt, puede configurar Caddy o Certbot. Estas herramientas funcionarán independientemente de FreeIPA, pero pueden usar FreeIPA para la autenticación de usuarios.


# Ejemplo de instalación de Caddy en un servidor separado o proxy
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy -y

Luego configure el Caddyfile para su dominio, y Caddy obtendrá y renovará automáticamente los certificados de Let's Encrypt.


# Ejemplo de Caddyfile para proxy_service.example.com
proxy_service.example.com {
    reverse_proxy localhost:8080 # Su servicio, ejecutándose en el puerto 8080
}

Para integrar la autenticación con FreeIPA, su servicio web debe configurarse para usar LDAP o Kerberos para la autenticación, apuntando a su servidor FreeIPA.

5. Verificación de la operatividad

Algunos comandos para verificar:


# En el servidor FreeIPA
ipa ping

Debería devolver Ping successful.


curl -v https://ipa.example.com/ipa/ui/

Verifique la disponibilidad de la interfaz web. Preste atención al estado del certificado TLS.


# En la máquina cliente
id user01

Debería mostrar información sobre el usuario user01, incluyendo su UID, GID y grupos, obtenidos de FreeIPA.


klist

En la máquina cliente, después de kinit user01, debería mostrar un ticket Kerberos válido.

Copias de seguridad y mantenimiento

Diagrama: Copias de seguridad y mantenimiento
Diagrama: Copias de seguridad y mantenimiento

La copia de seguridad y el mantenimiento regular de FreeIPA son críticamente importantes para garantizar la continuidad del negocio y la seguridad de su infraestructura de identidad.

1. Qué respaldar

Para FreeIPA, es necesario respaldar los siguientes componentes:

  • Base de datos del 389 Directory Server (LDAP): Contiene toda la información sobre usuarios, grupos, hosts, políticas, etc.
  • Archivos de configuración de FreeIPA: Configuraciones de Kerberos, DNS, CA.
  • Certificados de CA: Claves y certificados emitidos por su CA de FreeIPA.
  • Configuración de BIND (DNS): Si se utiliza DNS integrado.

Afortunadamente, FreeIPA proporciona una utilidad de copia de seguridad incorporada que cubre la mayoría de estos componentes.

2. Script simple de copia de seguridad automática

FreeIPA tiene un comando incorporado ipa-server-backup que crea un volcado completo de todos los datos necesarios.


#!/bin/bash

BACKUP_DIR="/var/lib/ipa/backup"
DATE=$(date +%Y%m%d%H%M%S)
BACKUP_FILE="${BACKUP_DIR}/ipa_backup_${DATE}.tar.gz"
RETENTION_DAYS=7 # Cuántos días guardar las copias de seguridad

echo "Iniciando la copia de seguridad de FreeIPA en ${BACKUP_FILE}..."

# Creamos el directorio para las copias de seguridad, si no existe
sudo mkdir -p ${BACKUP_DIR}

# Realizamos la copia de seguridad de FreeIPA
# Usamos --dir para especificar el directorio donde FreeIPA guardará sus archivos
# Luego archivamos este directorio
sudo ipa-server-backup --dir /tmp/ipa_backup_temp_dir

if [ $? -eq 0 ]; then
    echo "Copia de seguridad de FreeIPA creada con éxito en el directorio temporal. Archivando..."
    sudo tar -czf ${BACKUP_FILE} -C /tmp ipa_backup_temp_dir
    if [ $? -eq 0 ]; then
        echo "Archivo de copia de seguridad creado con éxito: ${BACKUP_FILE}"
        sudo rm -rf /tmp/ipa_backup_temp_dir # Eliminamos el directorio temporal

        # Eliminación de copias de seguridad antiguas
        echo "Eliminando copias de seguridad antiguas (más de ${RETENTION_DAYS} días)..."
        sudo find ${BACKUP_DIR} -name "ipa_backup_*.tar.gz" -type f -mtime +${RETENTION_DAYS} -delete
        echo "Copias de seguridad antiguas eliminadas."
    else
        echo "Error al archivar la copia de seguridad."
        sudo rm -rf /tmp/ipa_backup_temp_dir
        exit 1
    fi
else
    echo "Error al ejecutar ipa-server-backup."
    exit 1
fi

echo "Copia de seguridad completada."

Guarde este script, por ejemplo, como /usr/local/bin/ipa_backup.sh, y hágalo ejecutable:


sudo chmod +x /usr/local/bin/ipa_backup.sh

Luego, agréguelo a cron para su ejecución diaria (por ejemplo, a las 3:00 AM):


sudo crontab -e

Agregue la siguiente línea:


0 3 * * * /usr/local/bin/ipa_backup.sh > /var/log/ipa_backup.log 2>&1

3. Dónde almacenar las copias de seguridad

Almacenar las copias de seguridad en el mismo servidor que los datos originales no es fiable. Se recomienda utilizar almacenamiento externo:

  • Almacenamiento en la nube compatible con S3: Amazon S3, DigitalOcean Spaces, Backblaze B2. Utilice s3cmd, rclone o aws cli para cargar los archivos.
  • VPS separado: Dedique un pequeño VPS exclusivamente para almacenar copias de seguridad. Utilice rsync o scp para transferir archivos a través de SSH.
  • NAS/servidor local: Si tiene su propio hardware.

Ejemplo de cómo añadir la carga a S3 en el script (requiere la instalación y configuración de aws cli):


# ... (inicio del script) ...
# Después de crear el archivo con éxito:
if [ $? -eq 0 ]; then
    echo "Archivo de copia de seguridad creado con éxito: ${BACKUP_FILE}"
    sudo rm -rf /tmp/ipa_backup_temp_dir

    echo "Cargando copia de seguridad en S3..."
    # Asegúrese de que AWS CLI esté instalado y configurado (aws configure)
    /usr/local/bin/aws s3 cp ${BACKUP_FILE} s3://your-s3-bucket-name/ipa-backups/

    if [ $? -eq 0 ]; then
        echo "Copia de seguridad cargada con éxito en S3."
    else
        echo "Error al cargar la copia de seguridad en S3."
        # Se puede añadir una notificación de error
    fi

    # ... (eliminación de copias de seguridad antiguas) ...

Siempre cifre las copias de seguridad antes de enviarlas a almacenamiento externo, utilizando GPG u otras herramientas.

4. Restauración desde una copia de seguridad

Para restaurar FreeIPA desde una copia de seguridad, se utiliza el comando ipa-server-restore. Esto se suele hacer en un sistema Ubuntu recién instalado con el paquete ipa-server, pero sin ejecutar ipa-server-install.


sudo systemctl stop ipa.service
sudo ipa-server-restore --restore-dir /path/to/your/backup/directory

5. Actualizaciones: rolling vs maintenance window

La actualización de FreeIPA y del sistema operativo base es una parte importante del mantenimiento.

  • Actualización del SO: Aplique regularmente las actualizaciones de seguridad para Ubuntu. Utilice sudo apt update && sudo apt upgrade -y. Para sistemas críticos, se recomienda probar las actualizaciones en un servidor de prueba antes de aplicarlas en producción.
  • Actualización de FreeIPA: Las actualizaciones del paquete ipa-server suelen incluir actualizaciones de FreeIPA. Después de actualizar los paquetes, FreeIPA puede requerir la ejecución de ipa-server-upgrade.
    
    sudo apt update && sudo apt upgrade -y
    sudo ipa-server-upgrade
                

    Este comando realiza las migraciones de esquema LDAP necesarias y otras actualizaciones de los componentes de FreeIPA.

  • Estrategia de actualizaciones:
    • Actualizaciones continuas (para entornos replicados): Si tiene varios servidores FreeIPA en modo de replicación, puede actualizarlos uno por uno, minimizando el tiempo de inactividad.
    • Ventana de mantenimiento (para servidores únicos): Para un servidor FreeIPA único, planifique la actualización durante el período de menor actividad para minimizar posibles interrupciones. Siempre tenga una copia de seguridad reciente antes de realizar actualizaciones importantes.

Solución de problemas + Preguntas frecuentes

¿Qué hacer si FreeIPA no se inicia después de reiniciar?

En primer lugar, verifique el estado de los servicios principales de FreeIPA con sudo ipactl status. Si algún servicio está detenido o en estado de fallo, revise los registros: sudo journalctl -xeu [email protected] para LDAP, sudo journalctl -xeu krb5kdc.service para Kerberos, sudo journalctl -xeu named-ipa.service para DNS. Las causas frecuentes son: problemas con la resolución DNS del propio nombre del servidor, falta de memoria, corrupción de la base de datos LDAP o errores de configuración.

¿Qué configuración mínima de VPS es adecuada para FreeIPA?

La configuración mínima recomendada para FreeIPA en un entorno de prueba o pequeño es de 2 núcleos de CPU, 4 GB de RAM y 50 GB de disco SSD. Sin embargo, para un funcionamiento estable y escalabilidad a varios cientos de usuarios/hosts, es mejor apuntar a 4 núcleos de CPU, 8 GB de RAM y 100 GB de SSD. Esto garantizará un rendimiento suficiente para Kerberos, LDAP y otros servicios de FreeIPA.

¿Qué elegir: VPS o dedicado para esta tarea?

La elección entre un VPS y un servidor dedicado depende de la escala y los requisitos de rendimiento. Para la mayoría de las implementaciones pequeñas y medianas (hasta varios miles de usuarios/hosts), un VPS con recursos adecuados será suficiente y económicamente ventajoso. Los servidores dedicados se vuelven necesarios bajo cargas muy altas (decenas de miles de usuarios), requisitos específicos de hardware (por ejemplo, HSM), SLA estrictos o si se requiere un aislamiento completo de los recursos y el máximo rendimiento de E/S.

No puedo iniciar sesión en la interfaz web de FreeIPA. ¿Qué debo verificar?

Asegúrese de que el servicio HTTPD esté en ejecución (sudo systemctl status httpd.service o sudo systemctl status [email protected]). Verifique que los puertos 80 y 443 estén abiertos en el firewall (sudo ufw status). Borre la caché del navegador o intente con otro navegador. Asegúrese de que está utilizando el FQDN correcto del servidor y que se resuelve a la dirección IP del servidor. Revise los registros del servidor web (por ejemplo, /var/log/httpd/error_log).

El cliente FreeIPA no puede conectarse al servidor.

Verifique la resolución DNS en el cliente: dig ipa.example.com debe apuntar a la dirección IP de su servidor FreeIPA. Asegúrese de que los puertos de FreeIPA estén abiertos en el servidor (53, 80, 443, 389, 636, 88, 464, 123). Verifique la sincronización de la hora entre el cliente y el servidor (Kerberos es muy sensible a esto): sudo timedatectl status. Intente ejecutar ipa-client-install con la opción --debug para obtener registros detallados.

¿Cómo restablecer la contraseña del usuario admin en FreeIPA?

Si ha olvidado la contraseña de admin, puede restablecerla a través del usuario Directory Manager. Primero, obtenga un ticket Kerberos para Directory Manager: kinit admin/admin (contraseña de Directory Manager). Luego, restablezca la contraseña del usuario admin: ipa user-mod admin --password. Se le pedirá que ingrese una nueva contraseña. Si también ha olvidado la contraseña de Directory Manager, esto es más complicado y puede requerir una intervención directa en el directorio LDAP (lo cual está fuera del alcance de esta guía).

Problemas con certificados o TLS al acceder a FreeIPA.

FreeIPA utiliza su propia CA. Asegúrese de haber importado el certificado raíz de la CA de FreeIPA en los almacenes de confianza de su sistema operativo o navegador. Si esto no ayuda, verifique la validez de los certificados de FreeIPA: ipa-getcert list. Si los certificados han caducado, deben actualizarse mediante ipa-server-certinstall o ipa-certupdate.

Conclusiones y próximos pasos

Diagrama: Conclusiones y próximos pasos
Diagrama: Conclusiones y próximos pasos

¡Felicidades! Ha desplegado y configurado FreeIPA con éxito en su VPS, creando un sistema centralizado de gestión de identidades. Ahora tiene una potente herramienta para la autenticación de usuarios y máquinas, la gestión de accesos y la emisión de certificados, lo que simplifica enormemente la administración de su infraestructura Linux.

Los próximos pasos pueden incluir:

  • Integración de servicios adicionales: Conecte sus otros servidores, estaciones de trabajo y aplicaciones a FreeIPA para una autenticación centralizada.
  • Configuración de políticas de acceso: Explore las capacidades de Host-Based Access Control (HBAC) para una configuración detallada de quién puede iniciar sesión y dónde.
  • Despliegue de réplicas: Para mejorar la tolerancia a fallos y la distribución de carga, considere desplegar servidores FreeIPA adicionales en modo de replicación.
  • Monitoreo: Configure el monitoreo de FreeIPA utilizando herramientas como Prometheus/Grafana para rastrear el estado y el rendimiento de los servicios.

¿Te fue útil esta guía?

Tus comentarios nos ayudan a mejorar nuestras guías.

Compartir esta publicación:

Envía esta guía a alguien a quien pueda resultarle útil.

Telegram VKVK WhatsApp Facebook LinkedIn XX

Despliegue de FreeIPA en VPS para gestión centralizada de identidad
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.