En esta entrega de Owncloud, os explicaré paso a paso como habilitar la autenticación de Active Directory en Owncloud. Con lo cual en lugar de crear usuarios independientes en vuestro servidor owncloud, podréis usar los ya existentes de vuestro entorno ampliándole funcionalidades a vuestro sistema y facilitándole la vida a vuestros usuarios.

Para habilitar la autenticación de usuarios en el Active Directory, necesitas un controlador de dominio con el rol de DNS activado y el propio servidor owncloud, que aunque podría instalarse en el mismo servidor que el controlador de dominio, no lo recomiendo porque necesitarás abrir como mínimo un puerto de conexión con el exterior y esto podría comprometer todo tu entorno si alguien consiguiera acceder de forma ilícita.

Active Directory en Owncloud - lab

Preparando el entorno:

Lo primero que hay que hacer, sino lo tienes hecho ya, es crear un registro A en vuestro DNS para el servidor owncloud. Para crearlo seguimos los siguientes pasos:

1. Abre la consola DNS y despliega tu nombre de zona directa de tu Active Directory.

2. Pulsa el botón derecho del ratón  encima del nombre de zona directa y selecciona New Host (A or AAAA)…

3. Rellena el campo Name, con el nombre de tu servidor owncloud y el campo IP address con la IP de tu servidor owncloud. Cuando estés listo pulsa Add Host. A continuación cierra la ventana.

Active Directory en Owncloud - registro a

4. En tu servidor owncloud, tienes que configurar la dirección IP de tu servidor DNS. Para ello abre un terminal y escribe:

Active Directory en Owncloud - cliente dns

5. Guarda el fichero y reinicia el servidor. A continuación comprueba con un ping si tu servidor owncloud resuelve el nombre de tu controlador de dominio.

Active Directory en Owncloud - ping ad

Configuración de Active Directory:

La siguiente configuración es opcional, pero mi recomendación es crear un grupo de seguridad en el Active Directory y añadir como miembros los usuarios a los quieres que usen el servidor owncloud más que nada para localizarlos rápidamente y poder controlar sus cuotas. Quizás esta opción también sea interesante si quieres delegar a un operador u otro técnico con menos privilegios o conocimientos, la administración de cuotas de owncloud. De esta manera solo podrá ver los usuarios de este grupo y no todos los usuarios del dominio. Para ello tendrías que crear un usuario independiente, es decir, un usuario en owncloud y darle permisos para sólo administrar el grupo que crees en Active Directory.

Active Directory en Owncloud - helpdesk

Actualmente aún no he encontrado una formula para restringir el acceso de los usuarios del dominio a owncloud. En principio una vez conectes el Active Directory con owncloud, cualquier usuario podría acceder a él y usarlo.

Active Directory en Owncloud - usuarios owncloud

También recomiendo crear una cuenta especifica y con los permisos para hacer consultas ldap. En principio cualquier usuario del dominio tiene esos permisos, pero te recomiendo crear uno especifico para esta tarea para evitar problemas con el cambio de contraseñas.

Configurando autenticación de Active Directory en Owncloud:

Sigue los siguientes pasos:

1. Abre un terminal en tu servidor owncloud:

2. Instala el módulo ldap para php:

3. Abre el navegador e inicia sesión en tu servidor Owncloud. Una vez abierto, despliega el menú Archivos de la izquierda y selecciona Aplicaciones.

Active Directory en Owncloud - aplicaciones

4. En el menú de la izquierda, selecciona No habilitado y usando el scroll hacía abajo, busca LDAP user and group backend. Pulsa Activar.

Active Directory en Owncloud - activacion ldap

5. Vete al menú Administración y busca el área LDAP que ha aparecido como una nueva opción.

Active Directory en Owncloud - ldap menu

6. En el campo Servidor, introduce el nombre dns de tu controlador de dominio o su IP. En el campo Puerto, introduce el puerto ldap de tu controlador de dominio, por defecto es el 389. En el campo DN usuario, introduce el nombre DN del usuario con permisos de consultas ldap que usarás con owncloud. En el campo Contraseña, introduce la contraseña del usuario. En el campo Un DN Base por línea, introduce el nombre DN de tu dominio. Cuando tengas todos los campos rellenados pulsa los botones Detectar Base DN y Probar Base DN para comprobar que tu configuración es correcta. Si lo es, aparecerá una bola verde indicando que la configuración es correcta. Pulsa Continuar.

Active Directory en Owncloud - conexion ldap

7. Pulsa Editar consulta LDAP y añade (objectClass=person). A continuación pulsa Continuar.

Active Directory en Owncloud - ldap person

8. Pulsa Editar consulta LDAP y asegúrate de que pone esto: (&(objectClass=person)(samaccountname=%uid)). Pulsa Continuar.

Active Directory en Owncloud - inicio ldap

9. Pulsa Editar consulta LDAP y escribe objectClass=group. Para continuar con la configuración pulsa el botón Avanzado.

Active Directory en Owncloud - grupo ldap

10. Despliega la sección Configuración de directorio. En el campo Campo nombre de usuario a mostrar escribe, samaccountname. En el campo Árbol base de usuario, escribe la ruta DN de tu dominio. En el campo Campo de nombre de grupo a mostrar, escribe samaccountname y en el campo Árbol base de grupo, escribe la ruta DN de tu dominio. Cuando lo tengas todo, ves al panel de Usuarios. Consulta la imagen del ejemplo.

Active Directory en Owncloud - conexion ldap avanzada

11. Ahora puedes ver todos los usuarios y grupos del dominio que están dentro de la OU Usuarios. Que veas aquí, dependerá de como configures los árboles base para usuarios y grupos. Yo no he conseguido que funcione configurando una OU personalizada fuera de la OU Usuarios, pero si alguien lo consigue que me avise explicando como lo ha hecho.

Active Directory en Owncloud - usuarios dominio

Yo he creado un usuario propio de owncloud con nombre helpdesk y le he asignado los permisos para administrar el grupo OwnCloudUsers del dominio. Si inicio sesión en owncloud con el usuario helpdesk y voy a usuarios, solo veré los usuarios del grupo helpdesk:

Active Directory en Owncloud - usuarios_helpdesk

 

¡Amigos, esto es todo por hoy!

Si te parece interesante el artículo, te animo a que lo compartas con tu colegas y te suscribas a la newsletter para no perderte ninguna novedad.

¡Un saludo y hasta el próximo artículo!

 

escrito por Javier Peral