Red SWL (III): Debian Wheezy y ClearOS. Autenticación LDAP

¡Hola Amigos!. Vamos a hacer una red con varios equipos de escritorio, pero en ésta ocasión con el Sistema Operativo Debian 7 «Wheezy». Como servidor el ClearOS. Como dato, observemos que el proyecto Debian-Edu usa Debian en sus servidores y estaciones de trabajo. Y ese proyecto nos enseña y facilita el montar una escuela completa.

Es imprescindible lean antes:

  • Introducción a una Red con Software Libre (I): Presentación del ClearOS

Veremos:

  • Red de ejemplo
  • Configuramos el cliente LDAP
  • Archivos de configuración creados y/o modificados
  • El archivo /etc/ldap/ldap.conf

Red de ejemplo

  • Controlador de Dominio, DNS, DHCP, OpenLDAP, NTP: ClearOS Enterprise 5.2sp1.
  • Nombre del Controlador: centos
  • Nombre del Dominio: amigos.cu
  • IP del Controlador: 10.10.10.60
  • ——————————————-
  • Versión de Debian: Wheezy.
  • Nombre del equipo: debian7
  • Dirección IP: Mediante DHCP

debian7-dhcp-ip

Configuramos el cliente LDAP

Debemos tener a mano los datos del servidor OpenLDAP, los que obtenemos de la interfaz web de administración del ClearOS en «Directory» –> «Domain and LDAP«:

LDAP Base DN: dc=amigos,dc=cu
LDAP Bind DN: cn=manager,cn=internal,dc=amigos,dc=cu
LDAP Bind Password: kLGD+Mj+ZTWzkD8W

Instalamos paquetes necesarios. Como el usuario root ejecutamos:

aptitude install libnss-ldap nscd finger

Observe que la salida del comando anterior, incluye también al paquete libpam-ldap. Durante el proceso de instalación nos harán varias preguntas, las cuales debemos responder correctamente. Las respuestas serían en el caso de éste ejemplo:

URI del servidor de LDAP: ldap://10.10.10.60
El nombre distintivo (DN) de la base de búsquedas: dc=amigos,dc=cu
Versión de LDAP a utilizar: 3
Cuenta LDAP para root: cn=manager,cn=internal,dc=amigos,dc=cu
Contraseña para la cuenta LDAP de root: kLGD+Mj+ZTWzkD8W

Ahora nos anuncia que el archivo /etc/nsswitch.conf no se gestiona
de forma automática, y que lo debemos modificar manualmente.

¿Desea permitir que la cuenta del administrador de LDAP se comporte como  
el administrador local?: Si
¿Hace falta un usuario para acceder a la base de datos LDAP?: No
Cuenta del administrador de LDAP: cn=manager,cn=internal,dc=amigos,dc=cu
Contraseña para la cuenta LDAP de root: kLGD+Mj+ZTWzkD8W

Si nos equivocamos en las respuestas anteriores, ejecutamos como el usuario root:

dpkg-reconfigure libnss-ldap
dpkg-reconfigure libpam-ldap

Y respondemos adecuadamente las mismas preguntas formuladas antes, con la única adición de la pregunta:

Algoritmo de cifrado local a utilizar en las contraseñas: md5

Ojo al responder porque el valor por defecto que se nos ofrece es Crypt, y nosotros debemos declarar que es md5. También nos muestra una pantalla en modo consola con la salida del comando pam-auth-update ejecutado como root, la cual debemos Aceptar.

Modificamos el archivo /etc/nsswitch.conf, y lo dejamos con el siguiente contenido:

# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

passwd:         compat ldap
group:          compat ldap
shadow:         compat ldap

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

Modificamos el archivo /etc/pam.d/common-session para que cree automáticamente las carpetas de usuarios al iniciar sesión en caso de que no existan:

[----]
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022

### La línea anterior se debe incluir ANTES de
# here are the per-package modules (the "Primary" block)
[----]

Ejecutamos en una consola como el usuario root, Sólo para Comprobar, pam-auth-update:

debian7-pam-auth-update

Reiniciamos el servicio nscd, y hacemos comprobaciones:

:~# service nscd restart
[ ok ] Restarting Name Service Cache Daemon: nscd.
:~# finger trancos
Login: trancos                    Name: Trancos El Rey
Directory: /home/trancos                Shell: /bin/bash
Never logged in.
No mail.
No Plan.
:~# getent passwd trancos
trancos:x:1006:63000:Trancos El Rey:/home/trancos:/bin/bash
:~# getent passwd legolas
legolas:x:1004:63000:Legolas El Elfo:/home/legolas:/bin/bash

Modificamos la política de re conexión con el servidor OpenLDAP.

Editamos como el usuario root y con mucho cuidado, el archivo /etc/libnss-ldap.conf. Buscamos la palabra «hard«. Eliminamos el comentario de la línea #bind_policy hard y la dejamos así: bind_policy soft.

El mismo cambio mencionado antes, lo hacemos en el archivo /etc/pam_ldap.conf.

Las modificaciones anteriores eliminan una serie de mensajes relacionados con el LDAP durante el arranque y al mismo tiempo lo agiliza (el proceso de arranque).

Reiniciamos nuestro Wheezy porque los cambios realizados son medulares:

:~# reboot

Después de reiniciar, podemos iniciar sesión con cualquier usuario registrado en el OpenLDAP del ClearOS.

Recomendamos que a continuación se realice lo siguiente:

  • Hacer miembro a los usuarios externos a los mismos grupos a los que pertenece el usuario local creado durante la instalación de nuestro Debian.
  • Mediante el comando visudo, ejecutado como root, dar los permisos de ejecución necesarios a los usuarios externos.
  • Crear un marcador con la dirección https://centos.amigos.cu:81/?user en Iceweasel, para tener acceso a la página personal en el ClearOS, donde podemos cambiar nuestra contraseña personal.
  • Instalar el OpenSSH-Server -si es que no lo seleccionamos al instalar el sistema- para poder acceder a nuestro Debian desde otro equipo.

Archivos de configuración creados y/o modificados

El tema LDAP requiere de mucho estudio, paciencia y experiencia. La última no la tengo. Recomendamos encarecidamente que los paquetes libnss-ldap y libpam-ldap, en el supuesto caso de una modificación manual que provoque que la autenticación deje de funcionar, sean vueltos a configurar correctamente mediante el comando dpkg-reconfigure, o sea generado por DEBCONF.

Los archivos de configuración relacionados son:

  • /etc/libnss-ldap.conf
  • /etc/libnss-ldap.secret
  • /etc/pam_ldap.conf
  • /etc/pam_ldap.secret
  • /etc/nsswitch.conf
  • /etc/pam.d/common-sessions

El archivo /etc/ldap/ldap.conf

Éste archivo aun no lo hemos tocado para nada. Sin embargo, la autenticación funciona correctamente debido a la configuración de los archivos relacionados anteriormente y a la propia configuración del PAM generada por pam-auth-update. No obstante, también lo debemos configurar adecuadamente. Facilita el uso de comandos como ldapsearch, proporcionados por el paquete ldap-utils. La configuración mínima sería:

BASE    dc=amigos,dc=cu
URI     ldap://10.10.10.60

SIZELIMIT       12
TIMELIMIT       15
DEREF           never

Podemos comprobar si el servidor OpenLDAP del ClearOS funciona correctamente, si ejecutamos en una consola:

ldapsearch -d 5 -L "(objectclass=*)"

La salida del comando es copiosa. 🙂

¡Me encanta Debian!. Y se acabó la actividad por hoy, Amigos !!!

debian7.amigos.cu


Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   elav dijo

    Excelente articulo, directo a mi cajon de tips

    1.    Federico Antonio Valdés Toujague dijo

      Gracias por comentar Elav… más combustible 🙂 y espera el próximo que trata de autenticar mediante sssd contra un OpenLDAP.

  2.   Euphoria dijo

    Muchas gracias por compartir, esperando con ansias las demas entrega 😀

    1.    Federico Antonio Valdés Toujague dijo

      Gracias por comentar !!!. Parece que la inercia mental de autenticar contra un dominio Microsoft es fuerte. De ahí los pocos comentarios. Por eso escribo sobre las verdaderas alternativas libres. Si lo miras bien, son más fáciles de implementar. Un poco conceptual al principio. Más nada.