Tenemos 3 usuarios, Jhon, Doe, Mike. Suponga que está en el departamento de TI de una empresa de software. Tienes que gestionar la identidad de esos 3 usuarios. ¿Fácil verdad? Puede administrar fácilmente su acceso a la identidad. Pero, ¿qué tal si 3 usuarios se convierten en 300 o 3000? ¿Cómo puedes gestionarlos?
Bueno, supongo que las cosas se ponen bastante difíciles. ¿Qué tal si podemos tener un sistema que tenga una información de identidad central? Tal vez eso sería más fácil de resolver nuestro problema planteado. No se preocupe, FreeIPA está aquí para ayudarlo a resolver el problema.
¡En este artículo, aprenderemos algunos conceptos básicos sobre FreeIPA y realizaremos algunos ejercicios prácticos!
Comencemos.
IPA significa Identidad, Política y Auditoría. FreeIPA tiene como objetivo proporcionar esos 3 de manera centralizada. Es una solución integrada de administración de información de seguridad que combina Linux (Fedora), 389 Directory Server, MIT Kerberos, NTP, DNS, Dogtag (Sistema de certificados). Consta de una interfaz web y herramientas de administración de línea de comandos.
Supongo que he terminado de hablar con la jerga básica, pongámonos a trabajar.
Requisitos
Necesitaba lo siguiente para hacer el trabajo de instalación y configuración:
- Máquina Cantos 8 recién instalada
- 4 GB de RAM.
- CPU de 4 núcleos.
- 50 GB de espacio libre.
- 1 IP estática.
Antes de empezar
Instalación de la máquina
He instalado una máquina centos8 en la caja virtual con la IP 192.168.0.101 y el usuario IPA. Haremos el resto del trabajo con el nombre de usuario IPA. El usuario IPA tiene acceso administrativo a la máquina. No se recomienda que usemos la raíz para fines de instalación.
Establecer el nombre de host
Estableceremos el nombre de host como ipamaster.unixcop.local. Obviamente, puede establecer su propio
hostnamectl set-hostname ipamaster.unixcop.local
Permisivo de SELinux
Necesitamos configurar SELinux en modo Permisivo/Deshabilitado
Podemos hacerlo permanente o temporal cambiando la configuración situada en el /etc/selinux Directorio
Hice el cambio permanente como a continuación. Tienes que reiniciar el sistema después de hacer esos cambios.
Entrada al archivo de hosts
Tenemos que agregar la IP y el nombre de host al archivo /etc/hosts. En mi caso la IP es 192.168.0.101
El resultado de mi archivo de hosts es el siguiente
¡Asegúrese de que nadie más esté usando esos puertos!
- 80, 443, 8080:HTTP/HTTPS
- 389, 636:LDAP/LDAPS
- 88, 464:Kerberos
- 123:PNT
En caso de que no sepa cómo verificar el puerto abierto/usado en el sistema Linux
Ejecute este siguiente comando para mostrar cómo verificar los puertos de escucha de su sistema
netstat -tulpn
Instalación y configuración
Actualización del sistema
Primero necesitamos actualizar nuestro sistema, solo para asegurarnos de que todos los paquetes/softwares estén actualizados.
Ejecute el comando sudo dnf update -y
¡Tenga paciencia por favor! puede tomar un tiempo (en una máquina nueva dependiendo de su conexión a Internet)
Instalar los paquetes necesarios
Almalinux/Centos 8 viene con la función Modularity Repository que le permite instalar versiones adicionales de software en ciclos de vida independientes a través de Application Stream, también conocido como AppStream. Esto le permite mantener su sistema operativo actualizado mientras tiene la versión correcta de una aplicación que se adapta a su caso de uso.
Los paquetes de servidor y cliente de FreeIPA se distribuyen a través del repositorio de AppStream en Alma Linux/Centos 8. ¿Quieres probar? ejecuta el siguiente comando
sudo dnf module list idm
Desde el resultado, vemos que tenemos DL1 y módulos de cliente
Para obtener más información sobre el módulo DL1, ejecute el siguiente comando
sudo dnf module info idm:DL1
Aquí obtendrá la información detallada sobre el módulo.
Como estamos instalando un servidor aquí, primero tenemos que instalar el módulo DL1. Además, DL1 contiene un cliente ipa porque un maestro es un cliente de sí mismo.
Ejecute el siguiente comando para instalar el módulo
sudo dnf install @idm:DL1 -y
Si desea instalar freeIPA sin DNS, ejecute solo lo siguiente
sudo dnf install freeipa-server --setup-dns
Si desea incluir DNS, ejecute lo siguiente
sudo dnf install ipa-server-dns bind-dyndb-ldap
Espere hasta que el paquete se descargue e instale, puede llevar algún tiempo dependiendo de su conexión a Internet.
Añadir al cortafuegos
Necesitamos agregar los siguientes servicios al firewall
http.https, dns, ntp, freeipa-ldap, freeipa-ldaps
Comando:
sudo firewall-cmd --add-service={http,https,dns,ntp,freeipa-ldap,freeipa-ldaps} --permanent
Luego, tenemos que recargar el firewall para efectuar los cambios.
sudo firewall-cmd --reload
Instalar el servidor freeIPA
Instalaremos el servidor freeIPA incluyendo el DNS
Ve con el siguiente comando
sudo ipa-server-install --setup-dns
el trabajo de instalación hará lo siguiente durante la instalación
* Configure una CA independiente (etiqueta de identificación) para la gestión de certificados
Luego configure el cliente NTP (chronyd)
* Crear y configurar una instancia de Directory Server
*Crear y configurar un Centro de distribución de claves (KDC) de Kerberos
* Configurar Apache (httpd)
* Configurar DNS (bind) y Configurar el KDC para habilitar PKINIT
- Le pedirá el nombre de host. Ya hemos establecido el nombre de host anteriormente. Escríbelo de nuevo o simplemente presiona Enter, si eres perezoso como yo 😉
- Luego le pedirá la confirmación del nombre de dominio. En este caso el nombre debería ser unixcop.local. Tipo de golpe enter para el siguiente paso.
- Más adelante, encontrará los siguientes pasos:
(Estoy compartiendo lo que he hecho con la convención de nomenclatura. La tuya podría ser diferente)
REINO Nombre:UNIXCOP.LOCAL
- Contraseña del administrador del directorio:(elija una contraseña de 8 caracteres)
- Confirmar la contraseña
- IPA tiene un usuario administrativo llamado "admin". Tenemos que establecer la contraseña para este usuario y confirmar la contraseña.
- Queremos configurar estos servidores como reenviadores de DNS, presione Entrar para servidores DNS adicionales, agregue la dirección IP, por ahora no necesitamos eso.
- Luego agregará la zona inversa de DNS y configurará el NTP. Tenemos que escribir Sí siempre que quiera configurar chrony con servidores NTP.
- Después de terminar todo eso, aparecerá el mensaje con un resumen de la instalación. Tenemos que escribir Sí en el mensaje que dice Continuar para configurar el sistema con esos valores.
- Luego, el IPA comenzará a configurar el sistema y obtendrá el siguiente resultado.
Después de un tiempo, después de que se complete todo el proceso de instalación, obtendremos el siguiente resultado
Verificar administrador
Para usar el comando ipa, primero debe obtener un ticket de Kerberos. Es un certificado emitido por un servidor de autenticación, encriptado usando la clave del servidor.
Ejecute el siguiente comando y obtendrá un resultado como este
kinit admin
Podemos verificar la información detallada usando el comando klist
klist
Además, la opción de búsqueda de usuario del comando IPA se puede utilizar para verificar el usuario
ipa user-find admin
Acceda a la GUI de FreeIPA
Después de todo hecho, ahora estamos listos para acceder a la GUI
Abre tu navegador favorito y escribe lo siguiente
https://ipamaster.unixcop.local/
Encontrará la página de destino de la siguiente manera
Inicie sesión en la página utilizando "admin" como nombre de usuario y la contraseña que proporcionó en la etapa de instalación.
El inicio de sesión exitoso se mostrará en esta página.
Añadir algunos usos
Agregaremos nuestro primer usuario John usando el comando ipa user-add
El comando completo se verá así. Su nombre de usuario es usuario1
ipa user-add user1 --first=john --last=doe [email protected] --shell=/bin/sh --password
En el primer inicio de sesión, el usuario 1 se verá obligado a cambiar la contraseña
Y otra cosa, parece que su directorio de inicio no se ha creado. Está utilizando el directorio de inicio de nuestro usuario de nodo maestro.
Tenemos que cambiar esto. Tenemos que asegurarnos de que el usuario1 aterrice en su propio directorio de inicio.
Usando el comando authconfig, actualizaremos el directorio de inicio del usuario1
sudo authconfig --enablemkhomedir --update
Efectivamente, esto está creando el directorio de inicio del usuario1.
Desinstalar
Si desea desinstalar el freeIPA presione el siguiente comando
sudo ipa-server-install --uninstall
Bueno eso es todo por ahora. Si tiene alguna pregunta/consulta/preocupación, hágamelo saber en la sección de comentarios. Si lo encuentras útil, ¡no olvides compartirlo con tus amigos!