1

EAGLES: user management system based on LDAP


Platform Managers have a recurring problem every time I get to choose how they will handle the management of users in their work environments. The problem usually is increased when several applications are part of a project, and need to unify the authentication of users to enhance the user experience.

To solve this problem have been developed extensions and plugins for major web applications like MediaWiki, Plone, WordPress, Drupal, TRAC, among others, that allow you to replace your own authentication system based on an external LDAP or Active Directory . Unfortunately, most of these extensions lack the flexibility and functionality as a Platform Manager needs to efficiently manage users of your applications. In fact, most have serious problems with reading and writing formats of entries, not to mention that there is no common pattern between said extensions, requiring additional work fitness for all applications speak the same language. There is, so far, and direct a comprehensive solution to the problem.

That's why today I present the first stable version of Eagles (1.0.1), an application in which I have been working to solve the problem of user management in the Technology Platform Project Canaima . Eagles is an "Application for User Management with LDAP Interface Friendly and Safe "is written in PHP, based on the principles of simplicity, usability, and elegance.

As a Platform Manager, you can have a centralized database with all users of your platform, which can connect all the services you need to read the list of users, with the reassurance that only Eagles will be writing your users, so semantically correct and compatible with most applications that have LDAP authentication.

Eagles with your users will be able to:

  • Create user accounts in an LDAP server.
  • View or modify user attributes in an account.
  • Change or reset the password for an account
  • Forgot your username if you forget.
  • Deleting a user account.
  • List all registered users.
  • Search for users within the database.

Are you interested? Read on!


Aguilas is developed under the principles and ethical values ​​of Free Software. The source code is licensed under GPL-3, ie it is public to use, distribute, and modify you study. The Eagles Draft is available from Gitorious , Github , and Google Code , where you can find even more information.

Aguilas has an extensive documentation (for now only in English), focused on encouraging the formation of a community of developers who can improve their contributions. It is an application that intends to develop a scheme under international collaborative and distributed in most major GNU / Linux.

Features

In technical terms, we can say that Eagles has the following features:

  • Pleasant, modern web interface.
  • Assisted Setup.
  • Enhanced security against SQL injection attacks.
  • Blocking spam robots and using captchas.
  • Allows use of MySQL servers / local or remote LDAP.
  • Allows adaptation and creation of new visual themes. The default is to include a theme and a style Canaima Debian way.
  • Support for password encryption with MD5, SHA, and CRYPT.
  • Support for TLS connections for LDAP authentication.

Installation of dependencies

Eagles requires the prior installation of certain applications to function properly. Depending on the configuration that best suits your needs, you may need to install additional applications. For example, Eagles need a MySQL server, an LDAP Server and a Mail Transport Agent (MTA). You should install them along with Eagles only if you plan to use the same computer as the local server. That is, if you plan to use remote servers, you need not install them.

If you're using Debian or some derivative distribution as Canaima or Ubuntu, you can install the dependencies through a root terminal the following command:

 aptitude install apache2 php5 php5-gd php5-ldap php5-mcrypt php5-mysql php5-suhosin php5-cli que bash gettext python-sphinx icoutils python-docutils libmagickcore-extra imagemagick apache2 mysql-server postfix slapd

Si deseas encontrar mayor información acerca de como configurar Postfix (MTA), puedes echar un vistazo aquí .

Una vez satisfechas las dependencias, Aguilas se puede instalar de varias formas.

Instalar a través de un paquete debian

 dpkg -i / RUTA / AL / PAQUETE.DEB
  • Responde las preguntas que se realizan con respecto a la ubicación de los servidores y las contraseñas de las cuentas administrativas.

Instalar desde el código fuente

  • Descomprime el archivo con tu programa favorito. Para este ejemplo utilizaremos la aplicación “tar” desde un terminal de usuario:
 tar -xvf / RUTA / AL / PAQUETE.ORIG.TAR.GZ
  • En un terminal de usuario, accede a la carpeta recién descomprimida:
 cd / RUTA / A / LA / CARPETA
  • Luego, debemos configurar las fuentes con el siguiente comando:
 make 

A continuación se harán las siguientes preguntas para configurar automáticamente:

  1. Nombre de la aplicación, por ejemplo: Gestión de Usuarios de la Plataforma Tecnológica
  2. La persona o grupo responsable de la gestión de la aplicación, por ejemplo: Administradores de Canaima
  3. La dirección de correo electrónico que aparecerá como remitente en todas las operaciones de e-mails a usuarios registrados, por ejemplo: aguilas@debian.org
  4. La dirección de correo electrónico que desea utilizar para enviar informes de errores, por ejemplo: admins@debian.org
  5. El idioma que desea ver en su solicitud (debe estar disponible en la carpeta “locale/”), por ejemplo: es_ES
  6. El tema se aplica a la solicitud (debe estar disponible en la carpeta de temas), por ejemplo: debian
  7. La dirección pública de la aplicación, por ejemplo: aguilas.debian.org
  8. IP o el dominio del servidor donde se encuentra la base de datos MySQL, por ejemplo: localhost
  9. Nombre de la base de datos MySQL (se creará si no existe), por ejemplo: aguilas
  10. El usuario con permisos para leer y crear tablas en la base de datos, por ejemplo: root
  11. Contraseña para el usuario de MySQL, por ejemplo: 123456
  12. IP o el dominio del servidor donde se encuentra el servicio LDAP, por ejemplo: localhost
  13. DN con privilegios de lectura y escritura en el servidor LDAP, por ejemplo: cn=admin,dc=nodomain
  14. Contraseña para el DN escritor, por ejemplo: 123456
  15. DN base para realizar búsquedas e incluir nuevos usuarios, por ejemplo: dc=nodomain

Si necesitas modificar alguno de estos parámetros en el futuro, puedes editar el archivo /usr/share/aguilas/setup/config.php en cualquier momento.

  • Finalmente, obtenemos privilegios de superusuario, e instalamos Aguilas:
 sudo make install 

Contribuir

Nos apasiona ayudar a los usuarios de Aguilas a dar el salto para convertirse en miembros activos de la comunidad, así que hay muchas maneras en que puedes ayudar al desarrollo de Aguilas:

  • Informa de los errores y solicita funcionalidades en nuestro sistema de tickets .
  • Envia parches o pull requests.
  • Únete a la lista de correo de Aguilas y comparte tus ideas sobre cómo mejorar Águilas. Estamos siempre abiertos a sugerencias.
  • Mejora la documentación mediante la redacción de artículos nuevos o corrección los existentes.
  • Traduce Aguilas a tu idioma local, al unirse a nuestro equipo de traducción .

Eso es todo lo que necesitas saber si te gustaría unirse a la comunidad el desarrollo de Águilas. El resto de la información la puedes leer en la documentación .

Soporte

Si necesitas ayuda, puedes recurrir a alguno de los siguientes medios:

Capturas de Pantalla

 



ACCIONES

Si deseas encontrar mayor información acerca de como configurar Postfix (MTA), puedes echar un vistazo aquí .

Una vez satisfechas las dependencias, Aguilas se puede instalar de varias formas.

Instalar a través de un paquete debian

 dpkg -i / RUTA / AL / PAQUETE.DEB
  • Responde las preguntas que se realizan con respecto a la ubicación de los servidores y las contraseñas de las cuentas administrativas.

Instalar desde el código fuente

  • Descomprime el archivo con tu programa favorito. Para este ejemplo utilizaremos la aplicación “tar” desde un terminal de usuario:
 tar -xvf / RUTA / AL / PAQUETE.ORIG.TAR.GZ
  • En un terminal de usuario, accede a la carpeta recién descomprimida:
 cd / RUTA / A / LA / CARPETA
  • Luego, debemos configurar las fuentes con el siguiente comando:
 make 

A continuación se harán las siguientes preguntas para configurar automáticamente:

  1. Nombre de la aplicación, por ejemplo: Gestión de Usuarios de la Plataforma Tecnológica
  2. La persona o grupo responsable de la gestión de la aplicación, por ejemplo: Administradores de Canaima
  3. La dirección de correo electrónico que aparecerá como remitente en todas las operaciones de e-mails a usuarios registrados, por ejemplo: aguilas@debian.org
  4. La dirección de correo electrónico que desea utilizar para enviar informes de errores, por ejemplo: admins@debian.org
  5. El idioma que desea ver en su solicitud (debe estar disponible en la carpeta “locale/”), por ejemplo: es_ES
  6. El tema se aplica a la solicitud (debe estar disponible en la carpeta de temas), por ejemplo: debian
  7. La dirección pública de la aplicación, por ejemplo: aguilas.debian.org
  8. IP o el dominio del servidor donde se encuentra la base de datos MySQL, por ejemplo: localhost
  9. Nombre de la base de datos MySQL (se creará si no existe), por ejemplo: aguilas
  10. El usuario con permisos para leer y crear tablas en la base de datos, por ejemplo: root
  11. Contraseña para el usuario de MySQL, por ejemplo: 123456
  12. IP o el dominio del servidor donde se encuentra el servicio LDAP, por ejemplo: localhost
  13. DN con privilegios de lectura y escritura en el servidor LDAP, por ejemplo: cn=admin,dc=nodomain
  14. Contraseña para el DN escritor, por ejemplo: 123456
  15. DN base para realizar búsquedas e incluir nuevos usuarios, por ejemplo: dc=nodomain

Si necesitas modificar alguno de estos parámetros en el futuro, puedes editar el archivo /usr/share/aguilas/setup/config.php en cualquier momento.

  • Finalmente, obtenemos privilegios de superusuario, e instalamos Aguilas:
 sudo make install 

Contribuir

Nos apasiona ayudar a los usuarios de Aguilas a dar el salto para convertirse en miembros activos de la comunidad, así que hay muchas maneras en que puedes ayudar al desarrollo de Aguilas:

  • Informa de los errores y solicita funcionalidades en nuestro sistema de tickets .
  • Envia parches o pull requests.
  • Únete a la lista de correo de Aguilas y comparte tus ideas sobre cómo mejorar Águilas. Estamos siempre abiertos a sugerencias.
  • Mejora la documentación mediante la redacción de artículos nuevos o corrección los existentes.
  • Traduce Aguilas a tu idioma local, al unirse a nuestro equipo de traducción .

Eso es todo lo que necesitas saber si te gustaría unirse a la comunidad el desarrollo de Águilas. El resto de la información la puedes leer en la documentación .

Soporte

Si necesitas ayuda, puedes recurrir a alguno de los siguientes medios:

Capturas de Pantalla

 



ACCIONES

Soy un joven venezolano al que le gusta mucho leer y escribir. Ingeniero de Telecomunicaciones, amante de la tecnología, y el Software Libre. Comencé a trabajar como desarrollador de Canaima GNU/Linux en 2009, y ahora se ha convertido en uno de mis pasatiempos más entretenidos. Si te gusta lo que escribo por acá, te invito a seguirme en twitter , facebook , o las actualizaciones por RSS .

ACERCA DE LUIS ALEJANDRO

Artículos Relacionados

  • En Hunting Bears no se ha escrito nada parecido a ésto antes.

Existen 1 opiniones acerca de esta entrada.

  1. bureado dice:

    Excelente trabajo. Ya lo estoy corriendo en Debian 6 y cargué un par de issues que conseguí con el captcha. Voy a pasar algunos feature requests también. Me parece una pieza que faltaba en el complejo escenario de administración de OpenLDAP. Una acotación, no existe autenticación LDAP “y Active Directory”, Active Directory es un producto que, en capa de autenticación, permite el acceso (si está correctamente configurado) por LDAP, por SMB y por Kerberos, así como autenticación nativa para aplicaciones que corren en el entorno gráfico. La única razón por la que Águilas no podría as-is conectarse a Active Directory es por el modelo de usuarios, que cambia entre distintos productos, tanto los basados en OpenLDAP (389, FDS…) como en los propietarios (que son muchos, no solo AD)

Puedes emitir tus opiniones en el siguiente Formulario.


 




El campo "Página Web" es opcional. Tu correo no será publicado.