Mini Howto Apache 1.3 + LDAP
Transcripción
Mini Howto Apache 1.3 + LDAP
Mini Howto Apache 1.3 + LDAP Alejandro Valdés Jimenez [email protected] Diciembre 2005 1. Introducción Este artículo pretende entregar una guía para configurar un servidor Apache 1.3 con autenticación con un servidor LDAP. Como muestra la Figura 1, los clientes que intenten conectarse al servidor WEB deben: • Enviar su nombre de usuario y la clave cuando se le solicite. • Una ves enviado estos datos, el servidor WEB debe verificar la existencia de tal usuario y validar la clave en el servidor LDAP. • El servidor LDAP, una ves verificado y autenticado el usuario, le indica al servidor WEB que el usuario puede ver el sitio solicitado. Figura 1. Diagrama Autenticación 2. Apache El servidor HTTP Apache es un servidor HTTP de código abierto para plataformas Unix (BSD, GNU/Linux, etcétera), Windows y otras, que implementa el protocolo HTTP/1.1 (RFC 2616) y la noción 1 Mini Howto Apache 1.3 + LDAP de sitio virtual. Cuando comenzó su desarrollo en 1995 se basó inicialmente en código del popular NCSA HTTPd 1.3, pero más tarde fue reescrito por completo. Su nombre se debe a que originalmente Apache consistía solamente en un conjunto de parches a aplicar al servidor de NCSA. Era, en inglés, a patchy server (un servidor parcheado). El servidor Apache se desarrolla dentro del proyecto HTTP Server (httpd) de la Apache Software Foundation. Apache presenta entre otras características mensajes de error altamente configurables, bases de datos de autenticación y negociado de contenido, pero fue criticado por la falta de una interfaz gráfica que ayude en su configuración. 3. LDAP LDAP (Lightwieght Directory Access Protocol), o Protocolo de Acceso a Directorios Ligeros es un servicio de directorio, muy similar a los directorios del sistema de archivos al que estamos acostumbrados o a la guía de teléfonos que usamos para buscar números de teléfono, o al servicio DNS (Domain Name Service). LDAP es una base de datos especializada. Es muy importante recordar que LDAP no es otra base de datos mas, LDAP etá optimizada para hacer búsquedas (leer datos). Las lecturas en LDAP e realizan de manera mucho mas frecuente que las escrituras. 4. Programas a instalar Esta configuración la estamos realizando en una máquina con sistema operativo GNU/Linux con distribución GNU/Debian (testing/unstable), con kernel 2.6.13. Los programas/versiones utilizados son: • apache 1.3.34-1 • apache-common 1.3.34-1 • libapache-auth-ldap 1.6.0-8 • slapd 2.2.26-5 5. Configuraciones En esta sección veremos la configuración básica para la autenticación. 2 Mini Howto Apache 1.3 + LDAP 5.1. /etc/apache/httpd.conf En este archivo debemos indicar la información del servidor LDAP y la base de búsqueda, todo dentro de una directiva que indique que ruta es la que está restringuida. ... # Da acceso a cualquiera que exista en el servidor LDAP. utiliza el UID para la búsqueda. (1) <Directory /var/www> (2) AuthLDAPURL ldap://servidor.ldap.cl:389/ou=usuarios,dc=midominio,dc=cl?uid?sub?(objectClass=*) (3) require valid-user (4) AuthType Basic (5) AuthName "Autenticando en LDAP" </Directory> ... (1) define el directorio donde aplicar la restricción. (2) indica datos del servidor LDAP y la búsqueda. (3) indica que el usuario debe autenticarse y hacer el enlace (bind), no basta solo con autenticarse. (4) indica el tipo de autenticación para los usuarios. (5) identifica el nombre de la autenticación, para que el usuario sepa que usuario/clave enviar. 6. Enlaces Estos son algunos enlaces que se utilizaron para la implementación de Apache 1.3 + ldap. • The Apache Project Home: http://www.apache.org/ • Modulo LDAP para Apache: http://www.rudedog.org/auth_ldap/1.6/auth_ldap.html 3