Universidad Tecnológica del Sur
                     de Sonora



Fundamentos de LDAP
Introducción a los Servicios de Directorio




    José Manuel Acosta Rendón
    Enero 2011
Qué es un Directorio ? (General)

Un directorio es un conjunto de objetos con atributos organizados en una
manera lógica y jerárquica. El ejemplo más común es el directorio telefónico,
que consiste en una serie de nombres (personas u organizaciones) que están
ordenados alfabéticamente, con cada nombre teniendo una dirección y un
número de teléfono adjuntos.

 Qué es un Directorio ? (Específico)

 El Directorio es una aplicación distribuida definida dentro de la arquitectura
 de sistemas abiertos (OSI) para dar soporte a la asignación de nombres,
 almacenamiento, búsqueda, catálogo y gestión de información relacionada
 con objetos OSI. En particular, un objeto OSI puede ser un usuario humano,
 un proceso de aplicación, un nodo de red, etc.
Qué es un Directorio ?

Un directorio es similar a 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.
Qué es un Directorio ?

Los directorios están optimizados para proporcionar una respuesta
rápida a operaciones de búsqueda o consulta.

Pueden tener capacidad de replicar información de forma amplia, con el fin
de aumentar la disponibilidad y fiabilidad, y a la vez reducir tiempo de
respuesta. Cuando se duplica la información de un directorio, pueden
aceptarse inconsistencias temporales entre la información que hay en las
réplicas, siempre que finalmente exista una sincronización.
Qué es un Directorio ?

Hay muchas formas de proporcionar un servicio de directorio. Los diferentes
métodos permiten almacenar en el directorio diferentes tipos de información,
establecer requisitos diferentes para hacer referencias a la información,
consultarla y actualizarla, la forma en que protege al directorio de accesos no
autorizados. Algunos servicios de directorios son locales, proporcionando
servicios a      un contexto restringido. Otros servicios son globales,
proporcionando servicio en un contexto mucho más amplio.
¿Un directorio LDAP es una base de datos?

El sistema gestor de una base de datos (Database Management System ó
DBMS) de Sybase, Oracle, Informix ó Microsoft es usado para procesar
peticiones (queries) ó actualizaciones a una base de datos relacional. Estas
bases de datos pueden recibir cientos o miles de órdenes de inserción,
modificación o borrado por segundo. Un servidor LDAP es usado para
procesar peticiones (queries) a un directorio LDAP. Pero LDAP procesa las
órdenes de borrado y actualización de un modo muy lento.

En otras palabras, LDAP es un tipo de base de datos, pero no es una base de
datos relacional. No está diseñada para procesar cientos o miles de cambios
por minuto como los sistemas relacionales, sino para realizar lecturas de
datos de forma muy eficiente.
Funcionamiento de LDAP

El servicio de directorio LDAP se basa en un modelo cliente- servidor.

Uno o más servidores LDAP contienen los datos que conforman el árbol de
directorio LDAP o base de datos troncal, el cliente LDAP se conecta con el
servidor LDAP y le hace una consulta. El servidor contesta con la respuesta
correspondiente, o bien con una indicación de donde puede el cliente hallar
más información. No importa con que servidor LDAP se conecte el cliente ya
que siempre observará la misma vista del directorio; el nombre que se le
presenta a un servidor LDAP hace referencia a la misma entrada a la que
haría referencia en otro servidor LDAP.
Arquitectura Cliente-Servidor del servicio de
Directorio.
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.
   Usa un sistema jerárquico de almacenamiento de información.
   Permite múltiples directorios independientes
   Funciona sobre TCP/IP y SSL
   La mayoría de aplicaciones disponen de soporte para LDAP
   La mayoría de servidores LDAP son fáciles de instalar, mantener y
    optimizar.
Usos empresariales

Directorios de información.

Por ejemplo bases de datos de empleados organizados por departamentos
(siguiendo la estructura organizativa de la empresa) ó cualquier tipo de
páginas amarillas.

Sistemas de autenticación/autorización centralizada.

Grandes sistemas donde se guarda gran cantidad de registros y se requiere
un uso constante de los mismos. Por ejemplo:

•   Active Directory Server de Microsoft, para gestionar todas las cuentas
    de acceso a una red corporativa y mantener centralizada la gestión del
    acceso a los recursos.

•   Sistemas de autenticación para páginas Web, algunos de los gestores
    de contenidos más conocidos disponen de sistemas de autenticación a
    través de LDAP.

•   Sistemas de control de entradas a edificios, oficinas….
Usos empresariales

Sistemas de correo electrónico, Grandes sistemas formados por más de
un servidor que accedan a un repositorio de datos común.

Sistemas de alojamiento de páginas web y FTP, con el repositorio de
datos de usuario compartido.

Grandes sistemas de autenticación basados en RADIUS, para el control
de accesos de los usuarios a una red de conexión o ISP.

Servidores de certificados públicos y llaves de seguridad

Autenticación única ó      “single sign-on”, para la personalización de
aplicaciones.

Perfiles de usuarios centralizados, para permitir itinerancia ó “Roaming”

Libretas de direcciones compartidas.
¿Cuándo resulta interesante usar LDAP?

Como hemos visto LDAP es una base de datos optimizada para entornos
donde se realizan muchas lecturas de datos y pocas modificaciones o
borrados.

Por lo tanto es muy importante saber elegir dónde es conveniente usarlo. No
será conveniente como base de datos para sitios que realicen constantes
modificaciones de datos (por ejemplo en entornos de e-commerce).

Normalmente el tipo de preguntas que debes hacerte para
saber si LDAP es conveniente para tus aplicaciones son:

• ¿Me gustaría que los datos fueran disponibles desde distintos tipos de
plataforma?

• ¿necesito acceso a estos datos desde un número muy elevado de servidores
y/o aplicaciones?

• Los datos que almaceno ¿son actualizados muchas veces?, o por el
contrario ¿son sólo actualizados unas pocas veces?

• ¿Tiene sentido almacenar este tipo de datos en una base de datos
relacional? Si no tiene sentido, ¿puedo almacenar todos los datos necesarios
en un solo registro?
¿Cuándo resulta interesante usar LDAP?

Como hemos visto LDAP es una base de datos optimizada para entornos
donde se realizan muchas lecturas de datos y pocas modificaciones o
borrados.

Por lo tanto es muy importante saber elegir dónde es conveniente usarlo. No
será conveniente como base de datos para sitios que realicen constantes
modificaciones de datos (por ejemplo en entornos de e-commerce).

Normalmente el tipo de preguntas que debes hacerte para
saber si LDAP es conveniente para tus aplicaciones son:

• ¿Me gustaría que los datos fueran disponibles desde distintos tipos de
plataforma?

• ¿necesito acceso a estos datos desde un número muy elevado de servidores
y/o aplicaciones?

• Los datos que almaceno ¿son actualizados muchas veces?, o por el
contrario ¿son sólo actualizados unas pocas veces?

• ¿Tiene sentido almacenar este tipo de datos en una base de datos
relacional? Si no tiene sentido, ¿puedo almacenar todos los datos necesarios
en un solo registro?
Casos de Uso

Sistema de correo electrónico

Cada usuario se identifica por su dirección de correo electrónico, los atributos
que se guardan de cada usuario son su contraseña, su límite de
almacenamiento (quota), la ruta del disco duro donde se almacenan los
mensajes (buzón) y posiblemente atributos adicionales para activar sistemas
anti-spam o anti-virus.

Como se puede ver este sistema LDAP recibirá cientos de consultas cada día
(una por cada email recibido y una cada vez que el usuario se conecta
mediante POP3 o webmail). No obstante el número de modificaciones diarias
es muy bajo, ya que solo se puede cambiar la contraseña o dar de baja al
usuario, operaciones ambas que no se realizan de forma frecuente.
Casos de Uso

Sistema de autenticación a una red

Cada usuario se identifica por un nombre de usuario y los atributos asignados
son la contraseña, los permisos de acceso, los grupos de trabajo a los que
pertenece, la fecha de caducidad de la contraseña…

Este sistema recibirá una consulta cada vez que el usuario acceda a la red y
una más cada vez que acceda a los recursos del grupo de trabajo (directorios
compartidos, impresoras…) para comprobar los permisos del usuario.

Frente a estos cientos de consultas solo unas pocas veces se cambia la
contraseña de un usuario o se le incluye en un nuevo grupo de trabajo.
Diferencias con una base de datos relacional

Las características de una base de datos relacional (RDBMS o Relation
Database Management Systems) son:

- Realizan operaciones de escritura intensivas: las bases de datos
relacionales estás preparadas para hacer un uso constante de operaciones
orientadas a transacciones, que implican la modificación o borrado constante
de los datos almacenados.

- Esquema específico para cada aplicación: las bases de datos
relacionales son creadas para cada aplicación específica, siendo complicado
adaptar los esquemas a nuevas aplicaciones.

- Modelo de datos complejo: permiten manejar complejos modelos de
datos que requieren muchas tablas, foreign keys, operaciones de unión (join)
complejas…
Diferencias con una base de datos relacional

- Integridad de datos: todos sus componentes están desarrollados para
mantener la consistencia de la información en todo momento. Esto incluye
operaciones de rollback, integridad referencial y operaciones orientadas a
transacciones.

- Además las transacciones se efectúan siempre aisladas de otras
transacciones. De tal forma que si dos transacciones están ejecutándose de
forma concurrente los efectos de la transacción A son invisibles a       la
transacción B y viceversa, hasta que ambas transacciones han sido
completadas.

- Disponen de operaciones de roll-back (vuelta atrás). Hasta el final de
la transacción ninguna de las acciones llevadas a cabo pasa a un estado final.
Si el sistema falla antes de finalizar una transacción todos los cambios
realizados son eliminados (roll-back)
Diferencias con una base de datos relacional

Las características de un servidor LDAP son:

- Operaciones de lectura muy rápidas. Debido a la naturaleza de los
datos almacenados en los directorios las lecturas son más comunes que las
escrituras.

- Datos relativamente estáticos. Los datos almacenados en los
directorios no suelen actualizarse con mucha frecuencia.

- Entorno distribuido, fácil replicación.
Diferencias con una base de datos relacional

- Estructura jerárquica. Los directorios almacenan la información de forma
jerárquica de forma nativa.

- Orientadas a objetos. El directorio representa a elementos y a objetos.
Los objetos son creados como entradas, que representan a una colección de
atributos.

- Esquema Standard. Los directorios utilizan un sistema standard que
pueden usar fácilmente diversas aplicaciones.

- Atributos multi-valor. Los atributos pueden almacenar un valor único o
varios.

- Replicación multi-master. Muchos de los servidores LDAP permiten que
se realicen escrituras o actualizaciones en múltiples servidores.
Qué es LDAP

LDAP son las siglas de Lightweight Directory Access Protocol (en español
Protocolo Ligero de Acceso a Directorios) que hacen referencia a un protocolo
a nivel de aplicación el cual permite el acceso a un servicio de directorio
ordenado y distribuido para buscar diversa información en un entorno de red.
LDAP también es considerado una base de datos, aunque su sistema de
almacenamiento puede ser diferente, a la que pueden realizarse consultas.


 El Servicio de Directorio como infraestructura

Un servicio de directorio accesible por multitud de aplicaciones, se convierte
en una parte vital del sistema, al proporcionar un acceso uniforme a las
personas, recursos y otros objetos del sistema, es decir, el directorio se ve
como un todo uniforme, en lugar de un conjunto de partes independientes. La
utilización del servicio de directorio en la aplicaciones puede facilitar su
desarrollo y ampliar su funcionalidad.
Conceptos y Arquitectura

En 1988, la CCITT creó el estándar X.500, sobre servicios de directorio. En
1990 este estándar fue adoptado por la ISO, como ISO 9594, Data
Communications Network Directory, Recommendations X.500-X.521.

X.500 organiza las entradas en el directorio de manera jerárquica, capaz de
almacenar gran cantidad de datos, con grandes capacidades de búsqueda y
fácilmente escalable. X.500 especifica que la comunicación entre el cliente y
el servidor de directorio debe emplear el Directory Access Protocol (DAP).
Pero DAP es un protocolo a nivel de aplicación, por lo que, tanto el cliente
como el servidor debían implementar completamente la torre de protocolos
OSI.
Conceptos y Arquitectura

LDAP (Lightweight Directory Access Protocol) surge como una alternativa a DAP.
Las claves del éxito de LDAP en comparación con DAP de X.500 son:


1. LDAP utiliza TCP/IP en lugar de los protocolos OSI. TCP/IP requiere menos
   recursos y está más disponible, especialmente en ordenadores de sobremesa.

2. El modelo funcional de LDAP es más simple y ha eliminado opciones
   raramente utilizadas en X.500. LDAP es más fácil de comprender e
   implementar.

3. LDAP representa la información mediante cadenas de caracteres en lugar de
   complicadas estructuras ASN.1.
Modelos de LDAP.

Además de definir el protocolo de acceso al directorio, el estándar LDAP
define cuatro modelos que permiten entender mejor el servicio de directorio.

1. Modelo de información, describe la estructura de la información
   almacenada en el directorio LDAP.

2. Modelo de nombrado, describe como se organiza e identifica la
   información en el directorio LDAP.

3. Modelo funcional, describe que operaciones pueden ser realizadas sobre
   la información almacenada en el directorio LDAP.

4. Modelo de seguridad, describe como puede protegerse la información
   contenida en el directorio LDAP frente a accesos no autorizados.
Servidores LDAP disponibles en el mercado

Active Directory
http://www.microsoft.com/windowsserver2003/technologies/directory/actived
irectory/default.mspx

Novell Directory Services
http://www.novell.com/products/edirectory/

iPlanet - Sun ONE Directory Server
http://www.oracle.com/us/products/middleware/identity-management/oracle-
directory-services/index.html

OpenLDAP
http://www.openldap.org/

Red Hat Directory Server
http://www.redhat.com/directory_server/

Apache Directory Server
http://directory.apache.org/

Open DS
http://www.opends.org/
¿ Dudas ?
¡¡ Gracias ¡¡

José Manuel Acosta R.
Enero 2011

Más contenido relacionado

ODP
Presentación sobre criptografía
PDF
Presentación: Sistema de Archivos Distribuido (DFS)
PPTX
Seguridad En Base De Datos
PPT
Modos de Direccionamiento
PPTX
Seguridad de la base de datos
PPTX
Seguridad y proteccion
PPTX
INGENIERIA SOCIAL
PDF
Rangos de IPs Públicas y Privadas
Presentación sobre criptografía
Presentación: Sistema de Archivos Distribuido (DFS)
Seguridad En Base De Datos
Modos de Direccionamiento
Seguridad de la base de datos
Seguridad y proteccion
INGENIERIA SOCIAL
Rangos de IPs Públicas y Privadas

La actualidad más candente (20)

DOCX
Etapas del Proceso de la Ingeniería del Software
PDF
Evolución de los sgbd
PPTX
Powerpoint dela seguridad y proteccion de los sistemas operativos
PPT
Arquitectura de sistemas distribuidos
PPTX
Protección y Seguridad de los sistemas operativos
PDF
Ingenieria social.pptx
PDF
Procedimientos almacenados en MySQL
PPTX
VLSM y CIDR (características, implementación torres gamarra
PPT
Presentacion sobre seguridad informatica
PPT
Unidad 3 Modelamiento De Datos Conceptual
DOCX
Investigacion unidad 3
PPTX
Tipos de usuarios de base de datos diapositivas
PDF
Tema 1. Introducción a la Seguridad Informática
PPTX
Pentesting
PPTX
ADMINISTRACION DE MEMORIA
PPTX
estructura de datos archivos (3).pptx
PDF
Ejercicio seguridad en redes
PPTX
Fundamentos de las bases de datos
PDF
Base de datos con Netbeans
PPTX
NORMALIZACIÓN
Etapas del Proceso de la Ingeniería del Software
Evolución de los sgbd
Powerpoint dela seguridad y proteccion de los sistemas operativos
Arquitectura de sistemas distribuidos
Protección y Seguridad de los sistemas operativos
Ingenieria social.pptx
Procedimientos almacenados en MySQL
VLSM y CIDR (características, implementación torres gamarra
Presentacion sobre seguridad informatica
Unidad 3 Modelamiento De Datos Conceptual
Investigacion unidad 3
Tipos de usuarios de base de datos diapositivas
Tema 1. Introducción a la Seguridad Informática
Pentesting
ADMINISTRACION DE MEMORIA
estructura de datos archivos (3).pptx
Ejercicio seguridad en redes
Fundamentos de las bases de datos
Base de datos con Netbeans
NORMALIZACIÓN
Publicidad

Similar a Introducción a LDAP (20)

PDF
Introduccion LDAP
PDF
Introducción a LDAP y los Servicios de Directorio
PDF
Taller ldap
PPT
Ldap
PPTX
Bases de datos
PPT
LDAP Presentation
PPTX
PDF
sena
PPTX
Presentación1
PPTX
PPTX
Active directory
PPTX
LDAP Lightweight Directory Access Protocol
PPTX
Sistema operativo-de-red
PPTX
Active directory
PPT
Active directory
PPTX
Base de datos.
PPT
Ldap
PPTX
Active directory
Introduccion LDAP
Introducción a LDAP y los Servicios de Directorio
Taller ldap
Ldap
Bases de datos
LDAP Presentation
sena
Presentación1
Active directory
LDAP Lightweight Directory Access Protocol
Sistema operativo-de-red
Active directory
Active directory
Base de datos.
Ldap
Active directory
Publicidad

Más de OpenCourseWare México (20)

PDF
LaGuerraEnNumeros-TResearch-HOMICIDIOS-MX (1).pdf
PPTX
Presentacion tutores ingles 7 de junio 2012
PDF
Herramientas de Seguridad en Linux
PDF
Sistemas de Cableado Estructurado
PDF
Temario Redes Convergentes UTS
PDF
Instalación de phpLDAPadmin
PDF
Ejercicios LDAP
PDF
Administración de LDAP
PDF
Temario Administración de Usuarios UTS
PDF
Arquitectura de Redes Orientadas a Servicios
PDF
Introducción a las Redes Convergentes
PDF
Diseño de Redes
PDF
12 servicios webftp_windowsasoitson
PDF
21 dns linux_asoitsonp
PDF
20 dhcp linux_asoitsonp
PDF
19 usuarios gruposlinuxasoitsonp
PDF
18 permisos linuxasoitsonp
PDF
17 comandos basicoslinuxasoitsonp
PDF
16 fhsasoitsonp
LaGuerraEnNumeros-TResearch-HOMICIDIOS-MX (1).pdf
Presentacion tutores ingles 7 de junio 2012
Herramientas de Seguridad en Linux
Sistemas de Cableado Estructurado
Temario Redes Convergentes UTS
Instalación de phpLDAPadmin
Ejercicios LDAP
Administración de LDAP
Temario Administración de Usuarios UTS
Arquitectura de Redes Orientadas a Servicios
Introducción a las Redes Convergentes
Diseño de Redes
12 servicios webftp_windowsasoitson
21 dns linux_asoitsonp
20 dhcp linux_asoitsonp
19 usuarios gruposlinuxasoitsonp
18 permisos linuxasoitsonp
17 comandos basicoslinuxasoitsonp
16 fhsasoitsonp

Último (20)

PDF
50000 mil words en inglés más usados.pdf
PDF
VATICANO Y LOS GRANDES GENOCIDIOS DEL SIGLO XX.pdf
PDF
_Piaget - Psicología del niño-1.pdf NIÑOS
PDF
PLANEACIÓN_Uso de plataformas y Redes virtuales_LGE_ 2025.pdf
PDF
Tu Naciste Rico- Bob Proctor Ccesa007.pdf
PDF
TDAH en la familia y los alumnos, simplificada
PDF
Fundamentos de Integridad Académica y plagio académico
PDF
PLANEACIÓN Introducción a la Educación a Distancia_EMK_ 2025.pdf
DOCX
Programa Analítico Matemáticas 1° Editorial MD.docx
DOCX
PROGRAMA ANALITICO ESCUela en san luis potosi 25-26.docx
PDF
El Seminario 23. El sinthome [Jacques Lacan].pdf
PPTX
higiene-y-seguridad-industrial salud ocupacional.pptx
PDF
Mindfulness en la Vida Cotidiana JKZ Ccesa007.pdf
PDF
Ciencias Sociales para Primer Ciclo de la Media
PDF
ACTUALIZADO 3RO CONTENIDOS, PDA Y PROYECTOS[1].pdf
PDF
cuyes_lara.pdf - libro de información para el área de Arqueológica
PDF
Temas a elegir para desarrollar oralmente 2do cuatri 2025.pdf
PDF
Acompanamiento-de-familias-en-la-construccion-de-proyectos-de-vida.pdf
PDF
ACERTIJO CANTO Y TRABALENGUAS DEL GALLO PIRIPICHO. Por JAVIER SOLIS NOYOLA
PDF
ACERTIJO EL NÚMERO PI Y EL ROMPECABEZAS DE ECUACIONES. Por JAVIER SOLIS NOYOLA
50000 mil words en inglés más usados.pdf
VATICANO Y LOS GRANDES GENOCIDIOS DEL SIGLO XX.pdf
_Piaget - Psicología del niño-1.pdf NIÑOS
PLANEACIÓN_Uso de plataformas y Redes virtuales_LGE_ 2025.pdf
Tu Naciste Rico- Bob Proctor Ccesa007.pdf
TDAH en la familia y los alumnos, simplificada
Fundamentos de Integridad Académica y plagio académico
PLANEACIÓN Introducción a la Educación a Distancia_EMK_ 2025.pdf
Programa Analítico Matemáticas 1° Editorial MD.docx
PROGRAMA ANALITICO ESCUela en san luis potosi 25-26.docx
El Seminario 23. El sinthome [Jacques Lacan].pdf
higiene-y-seguridad-industrial salud ocupacional.pptx
Mindfulness en la Vida Cotidiana JKZ Ccesa007.pdf
Ciencias Sociales para Primer Ciclo de la Media
ACTUALIZADO 3RO CONTENIDOS, PDA Y PROYECTOS[1].pdf
cuyes_lara.pdf - libro de información para el área de Arqueológica
Temas a elegir para desarrollar oralmente 2do cuatri 2025.pdf
Acompanamiento-de-familias-en-la-construccion-de-proyectos-de-vida.pdf
ACERTIJO CANTO Y TRABALENGUAS DEL GALLO PIRIPICHO. Por JAVIER SOLIS NOYOLA
ACERTIJO EL NÚMERO PI Y EL ROMPECABEZAS DE ECUACIONES. Por JAVIER SOLIS NOYOLA

Introducción a LDAP

  • 1. Universidad Tecnológica del Sur de Sonora Fundamentos de LDAP Introducción a los Servicios de Directorio José Manuel Acosta Rendón Enero 2011
  • 2. Qué es un Directorio ? (General) Un directorio es un conjunto de objetos con atributos organizados en una manera lógica y jerárquica. El ejemplo más común es el directorio telefónico, que consiste en una serie de nombres (personas u organizaciones) que están ordenados alfabéticamente, con cada nombre teniendo una dirección y un número de teléfono adjuntos. Qué es un Directorio ? (Específico) El Directorio es una aplicación distribuida definida dentro de la arquitectura de sistemas abiertos (OSI) para dar soporte a la asignación de nombres, almacenamiento, búsqueda, catálogo y gestión de información relacionada con objetos OSI. En particular, un objeto OSI puede ser un usuario humano, un proceso de aplicación, un nodo de red, etc.
  • 3. Qué es un Directorio ? Un directorio es similar a 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.
  • 4. Qué es un Directorio ? Los directorios están optimizados para proporcionar una respuesta rápida a operaciones de búsqueda o consulta. Pueden tener capacidad de replicar información de forma amplia, con el fin de aumentar la disponibilidad y fiabilidad, y a la vez reducir tiempo de respuesta. Cuando se duplica la información de un directorio, pueden aceptarse inconsistencias temporales entre la información que hay en las réplicas, siempre que finalmente exista una sincronización.
  • 5. Qué es un Directorio ? Hay muchas formas de proporcionar un servicio de directorio. Los diferentes métodos permiten almacenar en el directorio diferentes tipos de información, establecer requisitos diferentes para hacer referencias a la información, consultarla y actualizarla, la forma en que protege al directorio de accesos no autorizados. Algunos servicios de directorios son locales, proporcionando servicios a un contexto restringido. Otros servicios son globales, proporcionando servicio en un contexto mucho más amplio.
  • 6. ¿Un directorio LDAP es una base de datos? El sistema gestor de una base de datos (Database Management System ó DBMS) de Sybase, Oracle, Informix ó Microsoft es usado para procesar peticiones (queries) ó actualizaciones a una base de datos relacional. Estas bases de datos pueden recibir cientos o miles de órdenes de inserción, modificación o borrado por segundo. Un servidor LDAP es usado para procesar peticiones (queries) a un directorio LDAP. Pero LDAP procesa las órdenes de borrado y actualización de un modo muy lento. En otras palabras, LDAP es un tipo de base de datos, pero no es una base de datos relacional. No está diseñada para procesar cientos o miles de cambios por minuto como los sistemas relacionales, sino para realizar lecturas de datos de forma muy eficiente.
  • 7. Funcionamiento de LDAP El servicio de directorio LDAP se basa en un modelo cliente- servidor. Uno o más servidores LDAP contienen los datos que conforman el árbol de directorio LDAP o base de datos troncal, el cliente LDAP se conecta con el servidor LDAP y le hace una consulta. El servidor contesta con la respuesta correspondiente, o bien con una indicación de donde puede el cliente hallar más información. No importa con que servidor LDAP se conecte el cliente ya que siempre observará la misma vista del directorio; el nombre que se le presenta a un servidor LDAP hace referencia a la misma entrada a la que haría referencia en otro servidor LDAP.
  • 8. Arquitectura Cliente-Servidor del servicio de Directorio.
  • 9. 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.  Usa un sistema jerárquico de almacenamiento de información.  Permite múltiples directorios independientes  Funciona sobre TCP/IP y SSL  La mayoría de aplicaciones disponen de soporte para LDAP  La mayoría de servidores LDAP son fáciles de instalar, mantener y optimizar.
  • 10. Usos empresariales Directorios de información. Por ejemplo bases de datos de empleados organizados por departamentos (siguiendo la estructura organizativa de la empresa) ó cualquier tipo de páginas amarillas. Sistemas de autenticación/autorización centralizada. Grandes sistemas donde se guarda gran cantidad de registros y se requiere un uso constante de los mismos. Por ejemplo: • Active Directory Server de Microsoft, para gestionar todas las cuentas de acceso a una red corporativa y mantener centralizada la gestión del acceso a los recursos. • Sistemas de autenticación para páginas Web, algunos de los gestores de contenidos más conocidos disponen de sistemas de autenticación a través de LDAP. • Sistemas de control de entradas a edificios, oficinas….
  • 11. Usos empresariales Sistemas de correo electrónico, Grandes sistemas formados por más de un servidor que accedan a un repositorio de datos común. Sistemas de alojamiento de páginas web y FTP, con el repositorio de datos de usuario compartido. Grandes sistemas de autenticación basados en RADIUS, para el control de accesos de los usuarios a una red de conexión o ISP. Servidores de certificados públicos y llaves de seguridad Autenticación única ó “single sign-on”, para la personalización de aplicaciones. Perfiles de usuarios centralizados, para permitir itinerancia ó “Roaming” Libretas de direcciones compartidas.
  • 12. ¿Cuándo resulta interesante usar LDAP? Como hemos visto LDAP es una base de datos optimizada para entornos donde se realizan muchas lecturas de datos y pocas modificaciones o borrados. Por lo tanto es muy importante saber elegir dónde es conveniente usarlo. No será conveniente como base de datos para sitios que realicen constantes modificaciones de datos (por ejemplo en entornos de e-commerce). Normalmente el tipo de preguntas que debes hacerte para saber si LDAP es conveniente para tus aplicaciones son: • ¿Me gustaría que los datos fueran disponibles desde distintos tipos de plataforma? • ¿necesito acceso a estos datos desde un número muy elevado de servidores y/o aplicaciones? • Los datos que almaceno ¿son actualizados muchas veces?, o por el contrario ¿son sólo actualizados unas pocas veces? • ¿Tiene sentido almacenar este tipo de datos en una base de datos relacional? Si no tiene sentido, ¿puedo almacenar todos los datos necesarios en un solo registro?
  • 13. ¿Cuándo resulta interesante usar LDAP? Como hemos visto LDAP es una base de datos optimizada para entornos donde se realizan muchas lecturas de datos y pocas modificaciones o borrados. Por lo tanto es muy importante saber elegir dónde es conveniente usarlo. No será conveniente como base de datos para sitios que realicen constantes modificaciones de datos (por ejemplo en entornos de e-commerce). Normalmente el tipo de preguntas que debes hacerte para saber si LDAP es conveniente para tus aplicaciones son: • ¿Me gustaría que los datos fueran disponibles desde distintos tipos de plataforma? • ¿necesito acceso a estos datos desde un número muy elevado de servidores y/o aplicaciones? • Los datos que almaceno ¿son actualizados muchas veces?, o por el contrario ¿son sólo actualizados unas pocas veces? • ¿Tiene sentido almacenar este tipo de datos en una base de datos relacional? Si no tiene sentido, ¿puedo almacenar todos los datos necesarios en un solo registro?
  • 14. Casos de Uso Sistema de correo electrónico Cada usuario se identifica por su dirección de correo electrónico, los atributos que se guardan de cada usuario son su contraseña, su límite de almacenamiento (quota), la ruta del disco duro donde se almacenan los mensajes (buzón) y posiblemente atributos adicionales para activar sistemas anti-spam o anti-virus. Como se puede ver este sistema LDAP recibirá cientos de consultas cada día (una por cada email recibido y una cada vez que el usuario se conecta mediante POP3 o webmail). No obstante el número de modificaciones diarias es muy bajo, ya que solo se puede cambiar la contraseña o dar de baja al usuario, operaciones ambas que no se realizan de forma frecuente.
  • 15. Casos de Uso Sistema de autenticación a una red Cada usuario se identifica por un nombre de usuario y los atributos asignados son la contraseña, los permisos de acceso, los grupos de trabajo a los que pertenece, la fecha de caducidad de la contraseña… Este sistema recibirá una consulta cada vez que el usuario acceda a la red y una más cada vez que acceda a los recursos del grupo de trabajo (directorios compartidos, impresoras…) para comprobar los permisos del usuario. Frente a estos cientos de consultas solo unas pocas veces se cambia la contraseña de un usuario o se le incluye en un nuevo grupo de trabajo.
  • 16. Diferencias con una base de datos relacional Las características de una base de datos relacional (RDBMS o Relation Database Management Systems) son: - Realizan operaciones de escritura intensivas: las bases de datos relacionales estás preparadas para hacer un uso constante de operaciones orientadas a transacciones, que implican la modificación o borrado constante de los datos almacenados. - Esquema específico para cada aplicación: las bases de datos relacionales son creadas para cada aplicación específica, siendo complicado adaptar los esquemas a nuevas aplicaciones. - Modelo de datos complejo: permiten manejar complejos modelos de datos que requieren muchas tablas, foreign keys, operaciones de unión (join) complejas…
  • 17. Diferencias con una base de datos relacional - Integridad de datos: todos sus componentes están desarrollados para mantener la consistencia de la información en todo momento. Esto incluye operaciones de rollback, integridad referencial y operaciones orientadas a transacciones. - Además las transacciones se efectúan siempre aisladas de otras transacciones. De tal forma que si dos transacciones están ejecutándose de forma concurrente los efectos de la transacción A son invisibles a la transacción B y viceversa, hasta que ambas transacciones han sido completadas. - Disponen de operaciones de roll-back (vuelta atrás). Hasta el final de la transacción ninguna de las acciones llevadas a cabo pasa a un estado final. Si el sistema falla antes de finalizar una transacción todos los cambios realizados son eliminados (roll-back)
  • 18. Diferencias con una base de datos relacional Las características de un servidor LDAP son: - Operaciones de lectura muy rápidas. Debido a la naturaleza de los datos almacenados en los directorios las lecturas son más comunes que las escrituras. - Datos relativamente estáticos. Los datos almacenados en los directorios no suelen actualizarse con mucha frecuencia. - Entorno distribuido, fácil replicación.
  • 19. Diferencias con una base de datos relacional - Estructura jerárquica. Los directorios almacenan la información de forma jerárquica de forma nativa. - Orientadas a objetos. El directorio representa a elementos y a objetos. Los objetos son creados como entradas, que representan a una colección de atributos. - Esquema Standard. Los directorios utilizan un sistema standard que pueden usar fácilmente diversas aplicaciones. - Atributos multi-valor. Los atributos pueden almacenar un valor único o varios. - Replicación multi-master. Muchos de los servidores LDAP permiten que se realicen escrituras o actualizaciones en múltiples servidores.
  • 20. Qué es LDAP LDAP son las siglas de Lightweight Directory Access Protocol (en español Protocolo Ligero de Acceso a Directorios) que hacen referencia a un protocolo a nivel de aplicación el cual permite el acceso a un servicio de directorio ordenado y distribuido para buscar diversa información en un entorno de red. LDAP también es considerado una base de datos, aunque su sistema de almacenamiento puede ser diferente, a la que pueden realizarse consultas. El Servicio de Directorio como infraestructura Un servicio de directorio accesible por multitud de aplicaciones, se convierte en una parte vital del sistema, al proporcionar un acceso uniforme a las personas, recursos y otros objetos del sistema, es decir, el directorio se ve como un todo uniforme, en lugar de un conjunto de partes independientes. La utilización del servicio de directorio en la aplicaciones puede facilitar su desarrollo y ampliar su funcionalidad.
  • 21. Conceptos y Arquitectura En 1988, la CCITT creó el estándar X.500, sobre servicios de directorio. En 1990 este estándar fue adoptado por la ISO, como ISO 9594, Data Communications Network Directory, Recommendations X.500-X.521. X.500 organiza las entradas en el directorio de manera jerárquica, capaz de almacenar gran cantidad de datos, con grandes capacidades de búsqueda y fácilmente escalable. X.500 especifica que la comunicación entre el cliente y el servidor de directorio debe emplear el Directory Access Protocol (DAP). Pero DAP es un protocolo a nivel de aplicación, por lo que, tanto el cliente como el servidor debían implementar completamente la torre de protocolos OSI.
  • 22. Conceptos y Arquitectura LDAP (Lightweight Directory Access Protocol) surge como una alternativa a DAP. Las claves del éxito de LDAP en comparación con DAP de X.500 son: 1. LDAP utiliza TCP/IP en lugar de los protocolos OSI. TCP/IP requiere menos recursos y está más disponible, especialmente en ordenadores de sobremesa. 2. El modelo funcional de LDAP es más simple y ha eliminado opciones raramente utilizadas en X.500. LDAP es más fácil de comprender e implementar. 3. LDAP representa la información mediante cadenas de caracteres en lugar de complicadas estructuras ASN.1.
  • 23. Modelos de LDAP. Además de definir el protocolo de acceso al directorio, el estándar LDAP define cuatro modelos que permiten entender mejor el servicio de directorio. 1. Modelo de información, describe la estructura de la información almacenada en el directorio LDAP. 2. Modelo de nombrado, describe como se organiza e identifica la información en el directorio LDAP. 3. Modelo funcional, describe que operaciones pueden ser realizadas sobre la información almacenada en el directorio LDAP. 4. Modelo de seguridad, describe como puede protegerse la información contenida en el directorio LDAP frente a accesos no autorizados.
  • 24. Servidores LDAP disponibles en el mercado Active Directory http://www.microsoft.com/windowsserver2003/technologies/directory/actived irectory/default.mspx Novell Directory Services http://www.novell.com/products/edirectory/ iPlanet - Sun ONE Directory Server http://www.oracle.com/us/products/middleware/identity-management/oracle- directory-services/index.html OpenLDAP http://www.openldap.org/ Red Hat Directory Server http://www.redhat.com/directory_server/ Apache Directory Server http://directory.apache.org/ Open DS http://www.opends.org/
  • 26. ¡¡ Gracias ¡¡ José Manuel Acosta R. Enero 2011