Últimas noticias Red Hat y Suse retiran su apoyo a OpenLDAP2.
Por este motivo hemos decido a partir de noviembre de 2018 cambiar el OpenLDAP2 por 389-DS.
Enlaces de interés sobre teoría LDAP:
- VÍDEO ¿Qué es LDAP?
- VÍDEO Los ficheros LDIF
Hay varias herramientas que implementan el protocolo LDAP, por ejemplo: OpenLDAP, 389-DC, Active Directory, etc. En esta guía vamos a instalar y configurar del servidor LDAP con OpenLDAP.
Enlaces de interés:
- Guía sobre Configurar_LDAP_usando_YaST
- VIDEO Configurar servidor LDAP en OpenSUSE con Yast
- VIDEO LD01: Instalar Servidor OpenLDAP Min 38: Crear config dir a partir de config text.
- Consultar documento
ldap-auth-pminik-taller.pdf
, página 20.
- Vamos a usar una MV OpenSUSE para montar nuestro servidor LDAP con:
- Configuración MV
- Nombre equipo:
ldap-serverXX
- Además en
/etc/hosts
añadiremos:
ip-del-servidor ldap-serverXX.curso1718 ldap-serverXX
127.0.0.3 nombrealumnoXX.curso1718 nombrealumnoXX
Veamos imagen de ejemplo:
Enlaces de interés:
Hacemos lo siguiente:
- Instalar los siguientes paquetes:
yast2-auth-server
, módulo Yast que sirve para gestionar el servidor LDAP.openldap2
, servidor LDAP_serverkrb5-server
ykrb5-client
, paquetes de la seguridad Kerbero.
- Ir a Yast -> Servidor de autenticación.
- Aparecerá como
Authentication Server
. - AQUÍ TENEMOS LA DUDA
- Aparecerá como
- Se requiere, además, instalar los paquetes: openldap2, krb5-server y krb5-client.
- Iniciar servidor LDAP -> Sí
- Registrar dameon SLP -> No
- Puerto abierto en el cortafuegos -> Sí -> Siguiente
- Tipo de servidor -> autónomo -> Siguiente
- Configuración TLS -> NO habilitar -> Siguiente
- Tipo de BD -> hdb
- DN base ->
dc=nombre-del-alumnoXX,dc=curso1718
. Donde XX es el número del puesto de cada uno. - DN administrador ->
cn=Administrator
- Añadir DN base -> Sí
- Contraseña del administrador
- Directorio de BD ->
/var/lib/ldap
- Usar esta BD predeterminada para clientes LDAP -> Sí -> Siguiente
- Habilitar kerberos -> No
Veamos ejemplo de la configuración final:
Comprobaciones:
slaptest -f /etc/openldap/slapd.conf
para comprobar la sintaxis del fichero de configuración.systemctl status slapd
, para comprobar el estado del servicio.systemctl enable slapd
, para activar el servicio automáticamente al reiniciar la máquina.nmap -Pn localhost | grep -P '389|636'
, para comprobar que el servidor LDAP es accesible desde la red.slapcat
para comprobar que la base de datos está bien configurada.- Podemos comprobar el contenido de la base de datos LDAP usando la herramienta
gq
. Esta herramienta es un browser LDAP. - Comprobar que tenemos creadas las unidades organizativas:
groups
ypeople
.
Si tenemos que desinstalar el software anterior, hacemos lo siguiente:
- zypper remove yast2-auth-server
- zypper remove openldap2 krb5-server krb5-client
- mv /etc/openldap /etc/openldap.000
- mv /var/lib/ldap /var/lib/ldap.000
Yast -> Usuarios Grupos -> Filtro -> LDAP
.- Crear el grupo
piratas2
(Estos se crearán dentro de laou=groups
). - Crear los usuarios
pirata21
,pirata22
(Estos se crearán dentro de laou=people
). - Usar
gq
para consultar/comprobar el contenido de la base de datos LDAP.
ldapsearch -x -L -u -t "(uid=nombre-del-usuario)"
, comando para consultar en la base de datos LDAP la información del usuario con uid concreto.
Veamos imagen de ejemplo:
En este punto vamos a escribir información en el servidor LDAP.
Enlaces de interés:
- Vamos a otra MV OpenSUSE.
- Cliente LDAP con OpenSUSE:
- Configuración MV
- Nombre equipo:
ldap-clientXX
- Dominio:
curso1718
- Asegurarse que tenemos definido en el fichero /etc/hosts del cliente, el nombre DNS con su IP correspondiente:
127.0.0.2 ldap-clientXX.curso1718 ldap-clientXX
ip-del-servidor ldap-serverXX.curso1718 ldap-serverXX nombredealumnoXX.curso1718 nombrealumnoXX
nmap -Pn ldap-serverXX | grep -P '389|636'
, para comprobar que el servidor LDAP es accesible desde el cliente.- Usar
gq
en el cliente para comprobar que se han creado bien los usuarios.File -> Preferencias -> Servidor -> Nuevo
- URI =
ldap://ldap-serverXX
- Base DN =
dc=davidXX,dc=curso1718
Vamos a configurar de la conexión del cliente con el servidor LDAP.
- Debemos instalar el paquete
yast2-auth-client
, que nos ayudará a configurar la máquina para autenticación. - Ir a
Yast -> LDAP y cliente Kerberos
. - Configurar como la imagen de ejmplo. Al final usar la opción de
Probar conexión
- Vamos a la consola con nuestro usuario normal, y probamos lo siguiente:
getent passwd pirata21
getent group piratas2
id pirata21
finger pirata21
cat /etc/passwd | grep pirata21
cat /etc/group | grep piratas2
su pirata21
Con autenticacion LDAP prentendemos usar la máquina servidor LDAP, como repositorio centralizado de la información de grupos, usuarios, claves, etc. Desde otras máquinas conseguiremos autenticarnos (entrar al sistema) con los usuarios definidos no en la máquina local, sino en la máquina remota con LDAP. Una especie de Domain Controller.
- Entrar en la MV cliente con algún usuario LDAP.
Si tenemos problemas al reiniciar la MV cliente, debemos:
- Iniciar MV con Knoppix
- Deshacer los cambios ldap en el fichero
/etc/nsswitch.conf
passwd: files nis ldap
shadow: files nis
group: files nis ldap
- Reiniciar MV cliente
- Repetir configuración Yast.
Información extraída de https://forums.opensuse.org/showthread.php/502305-Setting-up-LDAP-on-13-2
Yast -> Authentication client
- Hacemos click sobre el botón sssd.
- Aparece una ventana de configuración.
- config_file_version = 2
- services = nss, pam
- domains = LDAP, nombre-de-alumnoXX
- Escribir LDAP en la sección dominio.
- Pulsamos OK y cerramos la ventana.
- Aparece una ventana de configuración.
- Creamos un nuevo dominios.
- domains =
nombre-de-alumnoXX
- id_provider =
ldap
- auth_provider =
ldap
- chpass_provider =
ldap
- ldap_schema =
rfc2307bis
- ldap_uri =
ldap://ldap-serverXX
- ldap_search base =
dc=davidXX, dc=curso1718
- domains =
Ver imagen de ejemplo:
Consultar el fichero /etc/sssd/sssd.conf
para confirmar el valor de ldap_schema.
# A native LDAP domain
[domain/LDAP]
enumerate = true
cache_credentials = TRUE
id_provider = ldap
auth_provider = ldap
chpass_provider = ldap
ldap_uri = ldap://ldap-serverXX
ldap_search_base = dc=davidXX,dc=curso1617
Default Re: Setting up LDAP on 13.2
Did you ever resolve your secondary group issues? I'm seeing the same problem and have already changed ldap_schema to rfc2307bis.
I have resolved this issue. My solution was in
/etc/sssd/sssd.conf
comment out the lines
Podemos tener un problema con las claves si el método de encriptación de las claves del sistema operativo es diferente al utilizado en el servidor LDAP.
Veamos ejemplo donde se establece el método de encriptación durante la instalación del SO.
Veamos otro ejemplo donde podemos cambiar el método de encriptación de claves con el SO ya instalado, usando Yast.