Noticia 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



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:



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 !!!




JTXsA0PovnY


Continúar leyendo...