PDF de programación - Instalación y configuración de OpenLDAP

Imágen de pdf Instalación y configuración de OpenLDAP

Instalación y configuración de OpenLDAPgráfica de visualizaciones

Actualizado el 24 de Marzo del 2020 (Publicado el 15 de Abril del 2017)
807 visualizaciones desde el 15 de Abril del 2017
59,9 KB
7 paginas
Creado hace 21a (30/05/2002)
Bisoños Usuarios de Linux de Mallorca y Alrededores | Bergantells Usuaris de Linux de Mallorca i

Afegitons

Instalación y configuración de OpenLDAP

Por golan (http://www.roncero.org) creado el << 30/05/2002 18:48 >> y modificado por última vez el << 30/05/2002 18:48 >>

OpenLDAP es un servicio de directorio que, entre otras cosas, nos permite contener los
datos (logins, claves) de una serie de usuarios y realizar la autentificación en máquinas
clientes a través de un único servidor OpenLDAP.
En este artículo veremos como instalar un servidor OpenLDAP para realizar este tipo de
autentificación y en un próximo artículo veremos cómo configurar los clientes.

Disclaimer Todo esto ha sido fruto de lo que he aprendido durante mis prácticas en empresa en la Escuela
de Ingenieros en Informática de Sevilla, http://www.eii.us.es, dónde tuvimos que implementar un sistema de
autentificación basado en OpenLDAP para que los clientes, rembo, windows y linux, utilizasen el directorio
LDAP y no sus ficheros locales. Ya que OpenLDAP es extenso y dado que tuvimos que dedicarnos a solventar
varios tipos de problemas en la implementación, este artículo es una recopilación de todo lo que
averiguamos durante las prácticas, más que nada para tener constancia de todo lo que hicimos y para
ayudar a otra gente que se encuentre con el mismo problema.
No soy un experto en OpenLDAP y puede que, para cuando leas este artículo, ya me haya olvidado de muchas
cosas sobre OpenLDAP ;-). Así que aquí queda esto como pequeña guía rápida.

Introducción al sistema de directorio

Un directorio es, básicamente, una base de datos que está optimizada para lecturas, dónde se van a producir
pocas escrituras. Un directorio es, por ejemplo, el DNS, dónde el número de consultas es mucho mayor que el
de adiciones o modificaciones. Los típicos usos que se le dan incluyen el almacenamiento de la información
del usuario, claves, direcciones de correo, etc...
El protocolo DAP , X.500, es el protocolo de acceso a directorio de la pila OSI. El LDAP, del inglés
Lightweight Directory Access Protocol, es un protocolo que está implementado sobre la pila TCP/IP y que
surge como versión ligera al DAP, ya que este último requiere bastantes más recursos que LDAP.
Tenemos varias alternativas a la hora de elegir un servidor LDAP, entre ellos los creados por la Universidad
de Michigan y el servidor LDAP de Netscape. OpenLDAP es la versión libre de este tipo de servidores.

En este artículo veremos como hacer una instalación simple de LDAP y cómo configurarlo para que use
transmisiones seguras gracias a las librerías OpenSSL. Si quires más información sobre LDAP, puedes
consultar el RFC2251.

Entrada en materia.

La información que se suele guardar en un directorio está formada por entradas. Cada entrada es un conjunto
de atributos (información) que se identifica a traves de un nombre distinguido, DN, Distished name en inglés.
Cada uno de estos atributos es de un tipo concreto y puede tener uno o varios valores. Estos atributos suelen
ser nemónicos como por ejemplo cn (common name) o mail que indicaría el nombre o email de una entrada en
el directorio.

La información se almacena en el directorio en forma de árbol jerarquico. Tradicionalmente se almacenaban
utilizando como raíz los distintos paises, siendo los hijos las distintas provincias, e hijos de estos las distintas
organizaciones o compañias que podía haber en una provicia.
También se puede utilizar la jerarquía de internet para definir la estructura de un directorio LDAP utilizando,
por ejemplo, los nombres de dominio. Así, la raíz podría ser net, un hijo, bulmalug y dentro de este los
diversos usuarios que pudiera tener, etc.

LDAP posee un atributo, objectClass, que permite definir que datos van a ser obligatorios y cuales opcionales
a través de los esquemas (schemas). O sea, los esquemas van a ser como definiciones de los datos que va a
contener el directorio. OpenLDAP incluye varios esquemas, pero podremos añadir o modificar los ya
existentes para cumplir con nuestras necesidades.

El acceso a la información del directorio, se hace a través de los nombres distinguidos, DN, y de los RND,
nombres distinguidos relativos. Estos se construyen a partir de una entrada, concatenandole el DN de todos sus
padres. Por ejemplo, para el ejemplo de bulma, imaginemos que tenemos un autor que tiene de uid autor1, su
DN sería "uid=autor1, ou=autores, dc=bulmalug, dc=net". Para encontrar más información sobre el formato
DN, puedes consultar el RFC2253.

OpenLDAP permite, además, definir ACL (access control lists) para el acceso a los datos, a parte de que
permite transmitir los datos sobre una capa segura como OpenSSL. Así mismo, OpenLDAP permite la
replicación de los datos entre varios servidores OpenLDAP para descongestionar los servidores.

Descarga, compilación e instalación de OpenLDAP

Aunque en debian podemos hacer un apt-get directamente, vamos a explicar aquí como instalar a partir de los
fuentes, ya que para utilizar la capa segura deberemos recompilar el OpenLDAP con soporte OpenSSL.

Lo primero que haremos es apuntar a http://www.openldap.org/software/download/ y descargaremos la última
versión que tengamos disponible de uno de sus mirrors. A fecha del artículo, trabajaremos con la versión
2.0.23.

Descomprimiremos el fichero con las fuentes en un directorio con la orden

$ tar xvfz openldap-2.0.23.tgz

Para configurar el ldap haremos el típico configure, make y make install. El configure lo haremos con las
siguientes opciones:

$ ./configure --with-tls --enable-debug --enable-cache --enable-referrals --with-threads
--enable-slapd --enable-slurpd

--with-tls nos permitirá tener soporte seguro a través de OpenSSL, por lo que deberemos tener instaladas las
bibliotecas de OpenSSL en nuestro sistema.
--enable-slapd y --enable-slurpd nos crearán los ejecutables para el servidor OpenLDAP y para el encargado
de la replicación. Aunque este último no lo trataremos en este artículo, nos puede venir bien tenerlo para un
futuro próximo.
Puedes ver la documentación para otros tipos de opciones, pero yo creo que con esta es suficiente para lo que
tenemos pensado montar.

Despues haremos :

$ make depend
$ make
$ cd tests
$ make tests
$ cd ..
$ su
# make install

para compilar el software, testearlo e instalarlo en el sistema. Si todo ha ido bien y no ha fallado ni la
compilación ni los testeos, tendremos instalados los binarios en /usr/local/libexec y los ficheros de
configuración en /usr/local/etc/openldap.

Procedemos ahora a configurar el fichero de configuracion del openLDAP, que es
/usr/local/etc/openldap/slapd.conf. Este fichero está estructurado en dos partes, una primera con las opciones
globales del OpenLDAP y otra con las definiciones de cada base de datos (directorio) que queramos tener.
Hay que resaltar que las opciones de este fichero deben comenzar en la primera columna del fichero, ya
que si no lo hacen así, serán considerados continuaciones de la linea anterior .

Veamos pues un fichero slapd.conf de ejemplo para definir un directorio que contendrá una base de datos de
usuario para un sistema de autentificación:

# See slapd.conf(5) for details on configuration options.
# This file should NOT be world readable.
include /usr/local/etc/openldap/schema/core.schema
include /usr/local/etc/openldap/schema/cosine.schema
include /usr/local/etc/openldap/schema/inetorgperson.schema
include /usr/local/etc/openldap/schema/nis.schema
#include /usr/local/etc/openldap/schema/redhat/autofs.schema
#include /usr/local/etc/openldap/schema/redhat/rfc822-MailMember.schema
#include /usr/local/etc/openldap/schema/redhat/kerberosobject.schema
#################################################################

#Los siguientes valores indican la ruta de los pid y los args.

pidfile /var/run/slapd.pid
argsfile /var/run/slapd.args

# permisos para nuestra base de datos

access to attr=userpassword
by self write
by * read

access to *
by self write
by dn=".+" read
by * read

####################################################################
# DEFINICION DE LAS BASES DE DATOS (DIRECTORIOS)
####################################################################

# Base de datos por defecto a usar ldbm
database ldbm

# Sufijo o raiz(root) del directorio. Es el nodo raiz superior
# de nuestro directorio ldap
suffix "dc=bulmalug, dc=net"

# El nombre distinguido del directorio manager
rootdn "cn=Manager, dc=bulmalug, dc=net"

# No es muy buena idea guardar la contraseña en texto llano,
# pero la dejaremos asi al principio hasta que controlemos mas sobre LDAP
rootpw secret

# Aqui es donde se guardara los datos del directorio
directory /var/lib/ldap

Veamos lo que definimos con este fichero de configuración. Primeramente, la parte de configuración global,
donde le indicamos los schemas que queremos que siga OpenLDAP por medio de la orden include. Definimos
los ficheros dónde se guardarán el pid y los argumentos con qué se ha llamado al programa con pidfile y
argsfile y por último, en la sección global, definimos los ACLs para la clave.
A continuación tenemos la definición de la base de datos que vamos a usar. Si queremos tener más de una
base de datos podemos añadir más sentencias como estas que vienen a continuación. Veámoslas:

database ldbm: Con esto definimos, a parte del inicio de la configuración de la base de datos, el tipo de
base de datos que queremos usar. Lo normal es usar ldbm, pero otras opciones son passwd y shell.
suffix "dc=bulmalug, dc=net": Con esto definimos la jerarquía que usaremos, o sea, bulmalug.net.
rootdn "cn=Manager, dc=bulmalug, dc=net": Aquí definiremos quién va a ser el usuario
administrador de esta base de datos, es como el root de un sistema unix.
rootpw secret: Aquí definimos cual va a ser la clave de root, secret en este caso. Vemos que aquí la
clave está en modo texto plano, totalmente des
  • Links de descarga
http://lwp-l.com/pdf2926

Comentarios de: Instalación y configuración de OpenLDAP (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad