Publicado el 13 de Agosto del 2017
2.813 visualizaciones desde el 13 de Agosto del 2017
2,0 MB
50 paginas
Creado hace 11a (03/02/2014)
CapÃtulo 6
Servicios de directorio, LDAP
Introducción
Un servicio de directorio es una aplicación o un conjunto de aplicaciones que almacena y
organiza la información sobre los usuarios de una red de ordenadores, sobre recursos de red, y
permite a los administradores gestionar el acceso de usuarios a los recursos sobre dicha red.
Además, los servicios de directorio actúan como una capa de abstracción entre los usuarios y los
recursos compartidos.
LDAP (Lightweight Directory Access Protocol o Protocolo Ligero de Acceso a Directorios)
es un protocolo a nivel de aplicación que permite el acceso a un servicio de directorio ordenado y
distribuido para buscar diversa información en un entorno de red. LDAP también se considera una
base de datos (aunque su sistema de almacenamiento puede ser diferente) a la que pueden
realizarse consultas.
Gracias a los servicios de directorio podemos centralizar la autenticación de usuarios
sobre un servidor: para la validación de los usuarios del sistema o de servicios como usuarios ftp,
moodle o un proxy. Otra de las cosas que se puede implementar gracias a los servicios de
directorio son los perfiles móviles (carga de los ficheros de un usuario independiente desde el
ordenador de donde nos conectemos).
Historia del LDAP
En la década de los 80 comenzaron a utilizarse los servicios de directorio como X.500,
sobre todo por las companÃas de telefonÃa para almacenar los datos de sus clientes, algo parecido
a lo que podemos conocer como páginas amarillas.
Los servicios de X.500 se accedÃa mediante el protocolo DAP (Directory Access Protocol)
que utilizaba la pila de protocolos OSI, lo que hacÃa que los clientes y servidores se comunicasen
mediante utilizando el protocolo OSI lo que hacÃa que fuese muy pesado.
LDAP en lugar de utilizar todo el modelo OSI utilizó el modelo TCP/IP, en concreto el
puerto 389/TCP lo que hizo que fuese más ligero.
LDAP frente a NIS
NIS (Network Information Service o Servicio de Información de Red) es un servicio que fue
desarrollado por Sun Microsystems para sistemas Linux y se utiliza para la resolución de nombres
y la distribución de los datos de configuración en sistemas distribuidos tales como nombres de
usuarios y nobres de equipos. NIS permite distribuir la información contenida en los archivos
/etc/passwd y /etc/groups de un servidor a todos los demás equipos de la red, haciendo que la
misma parezca transparente para los usuarios; es decir, que toda la red se comporte como si
fuera un solo equipo. Antiguamente se llamaba páginas amarillas que tubo que dejarse de utilizar
por ser una marca registrada por British Telecom. Fue desarrollado exclusivamente para
plataformas Unix.
LDAP además de Unix está dirigido a otras plataformas como Windows (a partir de la
versión Windows 2000 server admite LDAP como servicio de directorio) y Novell.
Funciones de LDAP
Estas son algunas de las funciones que podemos aplicar con LDAP:
• Empleo como sustituto para el servicio NIS.
• Autenticación de usuarios de aplicaciones web.
• Autenticación de usuarios de sistemas operativos.
• Autenticación de usuarios con NFS en redes Unix.
• Autenticación de usuarios con Samba en redes heterogéneas.
• Encaminamiento de correo (postfix, sendmail).
•
• Administración de descripciones de zona para un servidor de nombres BIND9.
Libretas de direcciones para clientes de correo como Mozilla, Evolution y Outlook.
Implementaciones de LDAP
LDAP se ha implementado en diferenets aplicaciones reales, las más conocidas y
utilizadas son Active Directory y OpenLDAP.
Active Directory: Nombre utilizado por Microsoft, desde Windows Server 2000, para el
almacenamiento centralizado de información. Es un servicio de directorio donde se almacena
información de usuarios, recursos de la red, polÃticas de seguridad, configuración, asignación de
permisos, etc.
OpenLDAP: Implementación del protocolo con licencia libre que incluye entre otros
elementos un servidor y diferentes utilidades y herramientas para los clientes.
Además se ha implementado en otras aplicaciones como: Red Hat Directory Server,
Apache Directory Server, Open DS, iPlanet (ahora Sun ONE Directory Server).
El formato LDIF
LDIF (LDAP Data Interchange Format) es un formato que se utiliza para la importación y
exportación de datos independientemente del servidor LDAP que se esté utilizando. Este formato
es útil tanto para realizar copias de seguridad de los datos de un servidor LDAP, como para
importar pequeños cambios que se necesiten realizar manualmente en los datos, siempre
manteniendo la independencia de la implementación LDAP y de la plataforma donde esté
instalada.
El formato LDIF es simplemente un formato de texto ASCII para entradas LDAP, que tiene
la siguiente forma:
dn: <nombre distinguido>
<nombre_atributo>: <valor>
<nombre_atributo>: <valor>
<nombre_atributo>: <valor>
Ejemplo de una entrada para describir una cuenta de usuario en un servidor:
dn: uid=aitorla,ou=users,dc=profesordeinformatica,dc=com
uid: aitorla
cn: Aitor Lopez de Aberasturi
objectclass: account
objectclass: posixAccount
objectclass: top
loginshell: /bin/bash
uidnumber: 1001
gidnumber: 1001
homedirectory: /home/aitorla
gecos: Aitor Lopez de Aberasturi,,,,
userpassword: {crypt}eDgcded67Ddcawc
Estas son algunas de las reglas que hay que tener en cuenta en los LDIF:
•
•
La primera entrada es siempre es el DN o nombre distinguido.
Los atributos van a la iquierda y los valores a la derecha y están separados por :
(dos puntos).
• El primer valor de DN debe estar en una lÃnea posteror de la entrada en el ldif.
• El atributo debe tener su correspondiente entrada de atributo llamado objectClass
que define el atributo y está relacionado con el schema.
• No se distinguen mayúsculas y minúsculas.
• El signo igual no tiene que tener espacios ni por delante ni por detrás.
•
• En un archivo LDIF puede haber mas de una entrada definida, cada entrada se
Los caracteres especiales se tienen que escapar (carácter \).
separa de las demás por una lÃnea en blanco.
Los atributos LDIF
Los atributos del LDAP puden tener múltiples valores y pueden estar repetidos en el LDIF.
Por ejemplo si tenemos varios números de teléfonos podrÃamos tener varios atributos
telephoneNumber. Sin embargo algunos atributos solo pueden tener un único valor, esto lo define
el esquema o schema. Como ejemplo de atributos con un único valor tendrÃamos uidNumber o
userPassword.
El esquema o schema va a definir los atributos que podenos introducir en cada entrada
LDAP y cuales se pueden repetir. En el directorio /etc/ldap/schema/ tenemos unos esquemas
predefinidos.
El atributo objectClass es uno de los atributos obligatorios y tiene que existir por lo
menos uno en cada entrada. Cada atributo objectClass hace referenca al esquema y nos indica
que atributos podemos introducir en cada entrada. En el ejemplo anterior el valor posixAccount
hace referencia a usuarios Linux y por ello tenemos atributos como el directorio home, el uid,etc.
Estructura del Arbol de Directorio (DIT)
DIT (Directory Information Tree ó Arbol de Información del Directorio) es la estructura de
un servidor LDAP. Donde las ramas de arbol pueden ser contenedores o hojas.
Los contenedores pueden a su vez contener otros objetos. Tales clases de objetos son
root (el elemento raÃz del árbol de directorios, que no existe realmente), c (paÃs), ou (unidad
organizativa) y dc (componente de dominio). Este modelo es comparable con los directorios
(carpetas) de un sistema de archivos.
Las hojas contienen la parte final de una rama y no contienen objetos. Algunos ejemplos
serÃan person, InetOrgPerson o groupofNames.
Las clases de objeto que vamos a tener en nuestro arbol van a ser:
dcObject: Objeto domainComponent o componentes del nombre del dominio. Atributo
obligatorio: dc
organizationalUnit: Unidad organizativa. Atributo ou.
InetOrgPerson: Datos relacionados con la persona para la intranet o Internet. Atributos sn
y cn.
Cada entrada en el arbol posee un identificador único llamado Distinguished Name o DN.
El primer paso para diseñar el DIT es definir el Base DN, el Base DN es el nivel más alto en el
arbol de directorio, es decir, la base o raÃz del directorio.
qEn nuestro caso el Base DN será definido utilizando los llamados DC ó Domain Components,
similar a la estrucura del Sistema de Nombres de Dominio (DNS).
En la figura de arriba de define:
dc=profesordeinformatica,dc=com: RaÃz del directorio
ou=Users: Contenedor para almacenar cuentas de usuario para sistemas Linux/Unix y
Windows
ou=Computers: Contenedor para las cuentas de Ordenadores para sistemas Windows
(los de Linux serÃan Hosts).
ou=Groups: Contenedor para alamacenar Grupos de sistema para sistemas Unix y
Windows
Funcionamiento del LDAP
Este es el funcionamiento del LDAP:
1. El cliente establece una sesión con el servidor LDAP. El cliente indica el servidor y el puerto en
el que el servidor LDAP está escuchando, por defectro el 389. El cliente puede proporcionar
información de autenticación o establecer una sesión anónima con los accesos por defecto.
2. El cliente efectúa las operaciones sobre los datos. LDAP proporciona capacidades de
búsqueda, lectura y actualización.
3. Una vez finalizadas las operaciones, el cliente cierra la sesión.
Práctica: Instalación LDAP
1.- Instalamos LDAP
$ sudo apt-get update
$ sudo apt-get install slapd ldap-utils
2.- Introducimos el password y confirmamos
En nuestro caso vamos a poner egibide
3.- Modificamos el fichero de configuración /etc/ldap/ldap.conf
Descomentamos o añadimos la base y la URI: En la URI se puede poner el dominio o la direccón
IP.
BASE dc=profesordeinformatica,dc=com
URI ldap://ldap.profesordeinformatica.com ldap://ldap-master.profesordeinformatica.com:666
4.-
Comentarios de: CapÃtulo 6 - Servicios de directorio, LDAP (0)
No hay comentarios