viernes, 18 de noviembre de 2011

Instalacion y administracion de OpenLDAP




OpenLDAP es una implementación libre y de código abierto del protocolo Lightweight Directory Access Protocol (Protocolo de directorio de acceso ligero) desarrollada por el proyecto OpenLDAP. Está liberada bajo su propia licencia OpenLDAP Public License. LDAPLDAP. Este software también corre en plataformas BSD, AIX, HP-UX, Mac OS X, Solaris, Microsoft Windows (NT y derivados, incluyendo 2000, XP, Vista), y z/OS. es un protocolo de comunicación independiente de la plataforma. Muchas distribuciones GNU/Linux incluyen el software OpenLDAP para el soporte


Se usó inicialmente como un Front-end o interfaz final para x.500, pero también puede usarse con servidores de directorio únicos y con otros tipos de servidores de directorio


¿Qué es un directorio?


Un directorio es como una base de datos, pero en general contiene información más descriptiva y más basada en atributos.


La información contenida en un directorio normalmente se lee mucho más de lo que se escribe. Como consecuencia los directorios no implementan normalmente los complicados esquemas para transacciones o esquemas de reducción que las bases de datos utilizan para llevar a cabo actualizaciones complejas de grandes volúmenes de datos, Las actualizaciones en un directorio son usualmente cambios
sencillos de todo o nada, si es que permiten algo.


Ventajas en el uso de LDAP


Un directorio LDAP destaca sobre los demás tipos de bases de datos por las siguientes características:


- es muy rápido en la lectura de registros
- permite replicar el servidor de forma muy sencilla y económica
- muchas aplicaciones de todo tipo tienen interfaces de conexión a LDAP y se pueden integrar fácilmente
- Dispone de un modelo de nombres globales que asegura  que todas las entradas son únicas


Instalacion:


Lo primero que haremos sera descargar los paquetes nesecerios para OpenLDAP estos son:

openldap-servers 

openldap-clients.


Renombrar sldap.conf.bak


Ahora que ya tenemos instalados nuestros paquetes OpenLDAP procedere a renombrar el archivo de configuracion de OpenLDAP, me explico, yo estoy usando CentOS en su versión 6.0, en donde su archivo de configuracion es sldap.conf.bak para un correcto funcionamiento renombraremos este archivo de configuracion y lo llamaremos sldap.conf. Este proceso lo hacemos con la ayuda del comando mv


mv /etc/openldap/slap.conf.bak /etc/openldap/slapd.conf




instalar editor nano (opcional)


ahora que tenemos nuestro archivo de configuración con el nombre correcto ingresaremos a el para configurarlo. yo normalmente uso nano para editar los archivos pero CentOS 6.0 no trae este editor, viene por defecto con otros editores como vim y gedit. asi que instalare nano




editar slapd.conf


Ahora con mi editor de preferencia instalado editaremos el archivo de configuración del OpenLDAP el cual se encuentra dentro del directorio OpenLDAP


nano /etcopenldap/slapd.conf



nos encontramos con un archivo de configuracion con unos parametros por defecto, este archivo lo editaremos y cambiaremos esos parametros de acuerdo con nuestras especificaciones:

database: bdb
El nombre de la base de datos


suffix: "dc=ABCx,dc=com"
El dominio


rootdn: "cn=Redes,dc=ABCx,dc=com"
El root o administrador de dominio

rootpw: {SSHA}**********************
Password enctriptado


Guardamos esta configuración con Ctrl + O y salimos con Ctrl + X. Antes de seguir quiero explicarles como encripte la contraseña anterior  


Proceso de encriptacion o cifrado


para cifrar una contraseña ingresamos el comando sldappasswd e ingresamos el password que vamos a encriptar, el resultado sera la contraseña cifrada la cual copiaremos en la linea rootpw del archivo de configuración slapd.conf




Copiado de plantilla de base de datos

en el sistema viene un ejemplo de un archivo de base de datos, esta es una plantilla llamada DB_CONFIG con la ayuda del comando find  ubicaremos este archivo y lo copiaremos a /var/lib/ldap/ ademas de esto tendremos que cambiar de propietario a este directorio, ahora el propietario sera ldap y pertenecerá al grupo ldap

buscar el archivo:
find / -iname db_config.example


Copiar archivo a /var/lib/ldap
cp /usr/share/doc/openldap-servers-2.4.19/DB_CONFIG.example /var/lib/ldap/


cambiar de propietario
chown -R ldap:ldap /var/lib/ldap


editar ldap.conf

ahora editaremos el archivo ldap.conf el cual se encuentra dentro de /etc/openldap alli añadiremos en BASE nuestro dominio y en URI copiaremos ldap://seguida de la direccion ip del servidor 


Creacion de unidades organizativas

dentro de /etc/openldap/ creacermos un archivo .ldif con un nombre X, yo lo llame Direccion general en este archivo crearemos nuestro dominio (ABCx.com) y algunas unidades organizaticas (Direccion general, Sistemas, Logistica, compras etc)


les explicare en que consiste el anterior archivo de configuracion

dn: dc=gABCx,dc=com 
Dominio

ObjectClass: Object
ObjectClass: Organization
Son los tipos de objeto que utilizaremos.

dc: ABCx
Es el nombre distinguido de la entrada padre.

description:
o:
Son Objetos pertenecientes al ObjectClass organization.

Creacion de usuarios

Ahora que ya tenemos el dominio y las unidades organizativas vamos a añadirle usuarios a estas para ello crearemos otro archivo .ldif con nombre X dentro de /etc/openldap yo lo llame UserDireccionGeneral.ldif y alli estaran los usuarios que pertenecen a la unidad organizativa direccion general

Usuario Tiesto perteneciente a la unidad organizativa Direccion General


Usuario Hardwell perteneciente a la unidad organizativa Compras 



Asi como los ejemplos anteriores podemos crear tantos usuarios como queramos y ubicarlos en la unidad organizatica que sea necesario

Ingresar Dominio, unidades organizativas y usuarios a la base de datos (ldapadd) 

Ahora que ya tenemos un dominio con algunas unidades organizativas y unos usarios incorporados a ellas podemos montar esta informacion a nuestra base de datos esto lo haremos con ayuda del comando ldapadd con la siguiente sintaxis

ldapadd -x -D 'cn=Redes,dc=ABCx,dc=com' -W -f /etc/openldap/UserCompras.ldif

Opciones

-x: Usar autenticacion simple
-D: Usar el nombre distinguido de administrador ldap
-W: Requerir contraseña
-f: Asignar el archivo .ldif de donde se copiara la informacion



Luego de insertar la linea anterior y copiar la contraseña del Administrador OpenLDAP (Redes) si el resultado fue satisfactorio la respuesta sera adding new entry 'uid=Hardwell,ou=compras,ou=Direccion general,dc=ABCx,dc=com'

Esto quiere decir que se agrego la entrada con el usuario Hardwell a la unidad organizativa compras que se encuentra dentro de dirección general perteneciente al dominio ABCx.com

Busqueda de entradas (ldapsearch) 

las entradas fueron ingresadas correctamente. ¿Pero como buscarlas? para eso utilizamos el comando ldapsearch el cual nos sirve para relizar diversas busquedas, podemos buscar por unidades organizativas, por dominio, por usuario y cada uno de sus atributos etc

en este caso veremos la busqueda de la unidad organizativa Direccion general para esto usaremos la sintaxis

ldapsearch -x -b 'dirección general,dc=ABCx,dc=com'


nos despliega la unidad organizativa Dirección general ademas de Sistemas ya que esta se encuentra dentro de Dirección General

Realizare una busqueda por usuario. Buscare el usuario DavidGuetta para esto la sintaxis sera la siguiente

ldapsearch -x '(uidDavidGuetta)'



El resultado es que el usuario DavidGuetta se encuentra dentro de la unidad organizativa Logistica la cual se encuentra dentro de Dirección general perteneciente al dominio ABCx.com

Asi termina esta entrada sobre instalación y administración de OpenLDAP con la asignación correcta de entradas en una base de datos y búsquedas exitosas

FIN !

No hay comentarios:

Publicar un comentario