Servicio de directorio (LDAP)

Introducción al servicio de directorio (LDAP)

Zentyal integra OpenLDAP [3] como servicio de directorio, con tecnología Samba [4] para implementar la funcionalidad de controlador de dominios Windows además de para la compartición de ficheros e impresoras.

[3]http://www.openldap.org/
[4]http://es.wikipedia.org/wiki/Samba_%28programa%29

Configuración de servidores Zentyal en modo maestro/esclavo

Como se ha explicado, Zentyal está diseñado de manera modular, permitiendo al administrador distribuir los servicios entre varias máquinas de la red. Para que esto sea posible, el módulo de usuarios y grupos puede configurarse siguiendo una arquitectura maestro/esclavo para compartir usuarios entre los diferentes servidores.

Por defecto y a no ser que se indique lo contrario en el menú Usuarios y Grupos ‣ Modo, el módulo se configurará como un directorio LDAP maestro y el Nombre Distinguido (DN) [7] del directorio se establecerá de acuerdo al nombre de la máquina. Si se desea configurar un DN diferente, se puede hacer en la entrada de texto LDAP DN. El menú Usuarios y Grupos ‣ Modo sólo está disponible si no se ha configurado el módulo todavía, este es el caso cuando se selecciona servidor esclavo o sincronización con AD en el asistente de instalación.

[7]Cada entrada en un directorio LDAP tiene un identificador único llamado nombre distinguido que tiene similitudes con el concepto de ruta completa de fichero en un sistema de ficheros.
_images/users-mode.png

Modo de usuarios de Zentyal

Otros servidores pueden ser configurados para usar un maestro como fuente de sus usuarios, convirtiéndose así en directorios esclavos. Para hacer esto, se debe seleccionar el modo esclavo en Usuarios y Grupos ‣ Modo. La configuración del esclavo necesita dos datos más, la IP o nombre de máquina del directorio maestro y su clave de LDAP. Esta clave no es la de Zentyal, sino una generada automáticamente al activar el módulo usuarios y grupos. Su valor puede ser obtenido en el campo Contraseña de la opción de menú Usuarios y Grupos ‣ Datos LDAP en el servidor Zentyal maestro.

_images/ldap-info.png

Información de LDAP

Hay un requisito más antes de registrar un servidor esclavo en uno maestro. El maestro debe de ser capaz de resolver el nombre de máquina del esclavo utilizando DNS. Para ello hay que configurar el servicio DNS de Zentyal, añadiendo un nuevo dominio con nombre de la máquina esclava y su dirección IP.

Si el módulo cortafuegos está habilitado en el servidor maestro, debe ser configurado de manera que permita el tráfico entrante de los esclavos. Por defecto, el cortafuegos prohíbe este tráfico, por lo que es necesario asegurarse de hacer los ajustes necesarios en el mismo antes de proseguir.

Una vez que todos los parámetros han sido establecidos y el nombre de máquina del esclavo puede ser resuelto desde el maestro, el esclavo puede registrarse en el servidor Zentyal maestro habilitando el módulo de usuarios y grupos en Estado de los módulos.

Los esclavos crean una réplica del directorio maestro cuando se registran por primera vez, que se mantiene actualizada automáticamente cuando se añaden nuevos usuarios y grupos. Se puede ver la lista de esclavos en el menú Usuarios y grupos ‣ Estado de los esclavos de la Zentyal maestra.

_images/slave-status.png

Estado de los esclavos

Los módulos que utilizan usuarios como por ejemplo correo y compartición de ficheros pueden instalarse ahora en los esclavos y utilizarán los usuarios disponibles en la Zentyal maestra. Algunos módulos necesitan que se ejecuten algunas acciones cuando se añaden usuarios, como por ejemplo compartición de ficheros, que necesita crear los directorios de usuario. Para hacer esto, el maestro notifica a los esclavos sobre nuevos usuarios y grupos cuando son creados, dando la oportunidad a los esclavos de ejecutar las acciones apropiadas.

Puede haber problemas ejecutando estas acciones en ciertas circunstancias, por ejemplo si uno de los esclavos está apagado. En ese caso, el maestro recordará que hay acciones pendientes que deben realizarse y lo reintentará periódicamente. El administrador puede comprobar también el estado de los esclavos en Usuarios y Grupos ‣ Estado de Esclavo y forzar el reintento de las acciones manualmente en cualquier momento. Desde esta sección también es posible borrar un esclavo.

Hay una importante limitación en la arquitectura maestro/esclavo actual. El maestro Zentyal no puede tener instalados módulos que dependan de usuarios y grupos, como por ejemplo compartición de ficheros o correo. Si el maestro tiene alguno de estos módulos instalados, deben ser desinstalados antes de intentar registrar un esclavo en él.

Configuración de Zentyal como esclavo de Windows Active Directory

Además de los despliegues maestro-esclavo que se pueden realizar entre distintas máquinas Zentyal, un servidor Zentyal puede adoptar el papel de esclavo de una máquina Windows Active Directory que actúe como maestro.

La replicación se realiza sólo en una dirección, desde Windows a Zentyal, y existen dos procesos distintos para los datos y las contraseñas. Todos los datos de usuarios y grupos se sincronizan a través del protocolo LDAP. Sin embargo, las contraseñas se transfieren mediante una comunicación TCP cifrada, con el servidor escuchando en la máquina Zentyal y el cliente notificando las contraseñas cuando se crea un nuevo usuario o se modifica una contraseña en el servidor Windows actuando como maestro.

Para desplegar un escenario como este necesitaremos un servidor Zentyal instalado con configuración avanzada del directorio de usuarios y un servidor Windows con Active Directory configurado. En el servidor Windows tendremos que instalar el software encargado de sincronizar los esclavos y en los esclavos tendremos que registrarnos en el maestro.

Configuración del servidor Windows como maestro

Se necesita instalar un paquete especial en el servidor de Active Directory para poder notificar los cambios de contraseña a Zentyal.

Este paquete puede ser descargado, para las diferentes versiones de Zentyal desde la página de descargas del proyecto [8].

[8]http://sourceforge.net/projects/zentyal/files/

Una vez descargado ejecutarlo, lo que lanzará la herramienta de configuración automáticamente, donde podremos introducir los siguientes datos:

Zentyal slave host (Máquina esclava Zentyal):
Dirección IP de la máquina Zentyal.
Port (Puerto):
Se puede dejar el valor por defecto o cambiarlo por otro distinto que esté disponible en la máquina Zentyal.
Secret key (Clave secreta):
Se puede elegir cualquier contraseña, siempre y cuando su longitud sea de 16 carácteres.
Enable service (Activar servicio):
Marcar esta casilla si queremos que se escriban los datos en el registro de Windows de manera inmediata. No tendrá efecto hasta que no se reinicie el servidor.
Diálogo de configuración durante la instalación

Diálogo de configuración durante la instalación

Los valores de puerto y clave secreta tendrán que ser introducidos posteriormente en la configuración de la máquina Zentyal como se explica en la siguiente sección.

Para finalizar la instalación pulsar el botón Save to Registry and Exit (Guardar en el registro y salir). No se recomienda reiniciar el servidor todavía, ya que todavía hay que realizar algunos pasos adicionales.

En el menú Inicio, ir a Herramientas Administrativas ‣ Política de seguridad del dominio y activar los requisitos de complejidad para contraseñas como se muestra en la imagen:

Editando la política de contraseñas

Editando la política de contraseñas

Allí añadiremos un usuario y le asignaremos una contraseña. Se ha de tener en cuenta que estos credenciales serán utilizados para conectar vía LDAP, por tanto, la parte relevante es el nombre completo (CN) y no el nombre de usuario. La recomendación para evitar problemas es dejar en blanco los cambios de nombre y apellidos y asignar el mismo valor al Nombre completo y al Nombre de inicio de sesión.

Añadiendo el nuevo usuario eboxadsync

Añadiendo el nuevo usuario eboxadsync

Una vez finalizada esta configuración ya se puede reiniciar la máquina como advirtió el instalador.

Configuración del servidor Zentyal como esclavo

Teniendo listo el servidor Windows maestro, se puede proceder a la configuración de Zentyal desde Usuarios y Grupos ‣ Modo. Allí podremos rellenar los siguientes datos:

Modo:
Elegir la opción Esclavo Windows AD.
Host maestro:
Dirección IP del servidor Windows.
Modo de usuarios de Zentyal

Modo de usuarios de Zentyal

Una vez introducidos estos valores podremos activar el módulo Usuarios y Grupos y guardar cambios. Una vez que Zentyal está preparado para trabajar en este modo, podremos introducir los datos de autenticación con el servidor Windows desde Usuarios y Grupos ‣ Sincronización Windows AD.

Usuario del AD:
Nombre del usuario que hemos creado en la máquina Windows.
Contraseña del AD:
La contraseña del usuario anterior.
Puerto de recepción:
Puerto introducido durante la configuración del servidor Windows.
Clave secreta AD: La clave de 16 caracteres que se introdujo
durante la configuración en la máquina Windows.

Advertencia

Las contraseñas asignadas a los usuarios previamente existentes necesitarán ser reasignadas de nuevo (o cambiadas) para que puedan ser notificadas a Zentyal. Una vez sincronizados los usuarios, las actualizaciones pueden retrasarse hasta 5 minutos.

Configuración de un servidor LDAP con Zentyal

Opciones de configuración de LDAP

Habiendo configurado nuestro servidor Zentyal como maestro, desde Usuarios y Grupos ‣ Opciones de configuración de LDAP podemos comprobar cual es nuestra configuración actual de LDAP y realizar algunos ajustes relacionados con la configuración de autenticación PAM del sistema.

En la parte superior podremos ver la Información de LDAP:

Configuración de ldap en Zentyal

Configuración de ldap en Zentyal

DN Base:
Base de los nombres de dominio de este servidor.
DN Raíz:
Nombre de dominio de la raíz del servidor.
Contraseña:
Contraseña que tendrán que usar otros servicios o aplicaciones que quieran utilizar este servidor LDAP. Si se quiere configurar un servidor Zentyal como esclavo de este servidor, esta será la contraseña que habrá de usarse.
DN de Usuarios:
Nombre de dominio del directorio de usuarios.
DN de Grupos:
Nombre de dominio del directorio de grupos.

En la parte inferior podremos establecer ciertas Opciones de configuración PAM:

Configuración de PAM en Zentyal

Configuración de PAM en Zentyal

Habilitando PAM permitiremos que los usuarios gestionados por Zentyal puedan ser también utilizados como usuarios normales del sistema, pudiendo iniciar sesiones en el servidor.

También podemos especificar desde esta sección el intérprete de comandos predeterminado para nuestros usuarios. Esta opción está inicialmente configurada como nologin, evitando que los usuarios puedan iniciar sesiones. Cambiar esta opción no modificará los usuarios ya existentes en el sistema, se aplicará únicamente a los usuarios creados a partir del cambio.

Creación de usuarios y grupos

Se puede crear un grupo desde el menú Usuarios y Grupos ‣ Grupos. Un grupo se identifica por su nombre, y puede contener una descripción.

_images/01-groupadd.png

Añadir grupo a Zentyal

A través de Usuarios y Grupos ‣ Grupos se pueden ver todos los grupos existentes para poder editarlos o borrarlos.

Mientras se edita un grupo, se pueden elegir los usuarios que pertenecen al grupo, además de la información que tiene que ver con aquellos módulos de Zentyal instalados que poseen alguna configuración específica para los grupos de usuarios.

_images/02-groupedit.png

Editar grupo

Entre otras cosas con grupos de usuarios es posible:

  • Disponer de un directorio compartido entre los usuarios de un grupo.
  • Dar permisos sobre una impresora a todos los usuarios de un grupo.
  • Crear un alias de cuenta de correo que redirija a todos los usuarios de un grupo.
  • Asignar permisos de acceso a las distintas aplicaciones de groupware a todos los usuarios de un grupo.

Los usuarios se crean desde el menú Usuarios y Grupos‣ Usuarios, donde tendremos que rellenar la siguiente información:

_images/03-useradd.png

Añadir usuario a Zentyal

Nombre de usuario:
Nombre que tendrá el usuario en el sistema, será el nombre que use para identificarse en los procesos de autenticación.
Nombre:
Nombre del usuario.
Apellidos:
Apellidos del usuario.
Comentario:
Información adicional sobre el usuario.
Contraseña:
Contraseña que empleará el usuario en los procesos de autenticación. Esta información se tendrá que dar dos veces para evitar introducirla incorrectamente.
Grupo:
Es posible añadir el usuario a un grupo en el momento de su creación.

Desde Usuarios y Grupos ‣ Usuarios se puede obtener un listado de los usuarios, editarlos o eliminarlos.

_images/04-users.png

Listado de usuarios en Zentyal

Mientras se edita un usuario se pueden cambiar todos los datos anteriores exceptuando el nombre del usuario, además de la información que tiene que ver con aquellos módulos de Zentyal instalados que poseen alguna configuración específica para los usuarios. También se puede modificar la lista de grupos a los que pertenece.

_images/05-useredit.png

Editar usuario

Editando un usuario es posible:

  • Crear una cuenta para el servidor Jabber.
  • Crear una cuenta para la compartición de ficheros o de PDC con una cuota personalizada.
  • Dar permisos al usuario para usar una impresora.
  • Crear una cuenta de correo electrónico para el usuario y alias para la misma.
  • Asignar una extensión telefónica a dicho usuario.
  • Activar o desactivar la cuenta de usuario para zarafa y controlar si dispone de permisos de administración.

En una configuración maestro/esclavo, los campos básicos de usuarios y grupos se editan desde el maestro, mientras que el resto de atributos relacionados con otros módulos instalados en un esclavo dado se editan desde el mismo.

Rincón del Usuario

Los datos del usuario sólo pueden ser modificados por el administrador de Zentyal, lo que comienza a dejar de ser escalable cuando el número de usuarios que se gestiona comienza a ser grande. Tareas de administración como cambiar la contraseña de un usuario pueden hacer perder la mayoría del tiempo del encargado de dicha labor. De ahí surge la necesidad del nacimiento del rincón del usuario. Dicho rincón es un servicio de Zentyal para permitir cambiar a los usuarios sus datos. Esta funcionalidad debe ser habilitada como el resto de módulos. El rincón del usuario se encuentra escuchando en otro puerto por otro proceso para aumentar la seguridad del sistema.

_images/06-usercorner-server.png

Configurar puerto del rincón del usuario

El usuario puede entrar en el rincón del usuario a través de:

https://<ip_de_Zentyal>:<puerto_rincon_usuario>/

Una vez el usuario introduce su nombre y su contraseña puede realizar cambios en su configuración personal. Por ahora, la funcionalidad que se presenta es la siguiente:

  • Cambiar la contraseña actual.
  • Configuración del buzón de voz del usuario.
  • Configurar una cuenta personal externa para recoger el correo y sincronizarlo con el contenido en su cuenta del servidor de correo en Zentyal.
_images/07-usercorner-user.png

Cambiar contraseña en el rincón de usuario