IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Introducció

Lightweight Directory Access Protocol (LDAP) és un protocol de xarxa que permet l'accés a un servei de directori per tal de compartir informació en una xarxa.

Habitualment s'utilitza per emmagatzemar la informació dels usuaris d'un domini (entre altre informació l'usuari i la contrasenya).

El seu objectiu principal és permetrà l'autenticació en xarxa als recursos de xarxa. També es possible emmagatzemar altre informació com les dades de contacte dels usuaris (directori d'una empresa ) o també s'utilitza sovint per inventariar recursos (inventari de màquines, impressores, servidors, i altres recursos de xarxa).

LDAP NO és una bases de dades. Realment és una interfície per accedir a una base de dades. Ldap és un servei de directori que ens permet accedir a un repositori de dades anomenat directori.

L'estructura de la base de dades (estructura jeràrquica) difereix força de l'estructura relacional (taules i registres) de les bases de dades "tradicionals".

Serveis de directori

És un programari o conjunt d'aplicacions que emmagatzema i organitza informació sobre una xarxa de computadores.

Típicament són utilitzats pels administradors de xarxa per tal de controlar l'accés als recursos per part dels usuaris.

Com a bases de dades estan optimitzats per a les operacions de lectura i permeten fer cerques ràpides utilitzant diferents atributs dels objectes emmagatzemats.

Les dades que es guarden a la base de dades estan definides per un esquema (schema).

Els serveis de directori normalment permeten utilitzar un model distribuït per emmagatzemar la informació mitjançant replicacions entre servidors. Múltiples “bases de dades” distribuïdes --> 1 servei de directori.

Per què LDAP?

És àmpliament utilitzat i suportat per múltiples aplicacions:

  • Autenticació:
  • Llenguatges de programació
  • Estàndard Obert (amb implementacions tancades).
  • Hi han múltiples eines (tant lliures com privades) per treballar amb LDAP.

Avantatges

  • Gran facilitat d'implemetar i la coherència amb les seves API.
  • Rapidessa en operacions de lectura.
  • Fàcils de ser distribuïdes (de repartir la càrrega). Molt escalable.

Inconvenients

  • Més lentes en operacions d'escriptura, afegir i/o modificació.
  • No utilitzades per fer transaccions.

X.500

X.500 és una sèrie de protocols de xarxa per oferir serveis de directori.

  • Va ser creat per la ITU-T (ara CCITT) i adoptat per la OSI (ISO/IEC 9594).
  • X.500 implementava els següents protocols
  • DAP (Directory Access Protocol)
  • DSP (Directory System Protocol)
  • DISP (Directory Information Shadowing Protocol)
  • DOP (Directory Operational Bindings Management Protocol)
  • Antecessor de LDAP. LDAP és més simple i més adaptat a les necessitats actuals (suporta TCP/IP).
  • Actualment s'utilitzen els certificats X.509 en criptografia de clau pública.

Arbre LDAP

L'organització del directori segueix una estructura d'arbre invertit

  • El model és l'establert per X.500. Un directori és un arbre d'entrades de directori (nodes de l'arbre)
  • Cada entrada és pot considerar com un objecte amb un conjunt d'atributs.
  • Els atributs tenen un nom, una descripció i un o més valors.
  • Cada entrada té un identificador únic anomenat Distinguished Name (DN).
  • Cada entrada té un RDN (Relative Distinguished Name) que la distingeix de la resta d'entrades del mateix node de l'arbre.

Resum de conceptes

  • DN (Distinguished Name): fent una similitud amb un sistema de fitxers és el camí absolut al fitxer.
  • RDN (Relative Distinguished Name): és el camí relatiu a un fitxer.

Objectes i esquemes comuns

  • La majoria de servidors ldap tenen un esquema anomenat core.schema amb objectes bàsics:
  • dcObject: qualsevol part del nom d'un domini
  • Molts objectes comuns comparteixen atributs:
  • Atribut cn (common name): nom comú de l'objecte
  • Atribut uid (user identifier): identificador de l'usuari.
  • Els directoris poden seguir altres models (organització per països i estats):
  • Atribut c(countryName): nom del país.
  • Atribut st(stateOrProvinceName): nom de l'estat o provincia.

Model DNS

Model Territorial

Objectes

  • Objectes amb common name, persones (cn)
  • person
  • organizationalPerson
  • organizationalRole
  • groupOfNames
  • applicationProcess
  • applicationEntity
  • posixAccount
  • device
  • Objectes organitzatius
  • organization (atribut o)
  • organization unit (atribut ou)
  • InetOrgPerson (paràmetres)
  • gn (givenName)
  • sn (surName)
  • postalCode, Street...
  • homePhone, mail, mobile, pager, etc.

OID

OID, identificador numèric de l'objecte de l'atribut, són els números de referencia numèrica utilitzades per al mecanisme intern de la base de dades del directori LDAP.

Es pot demanar un OID a:

PEN Private Enterprise Number:  http://pen.iana.org/pen/PenApplication.page

L'adreça de contacte: [email protected] envia un correu.

Podeu veure el PEN assignat a:

http://www.iana.org/assignments/enterprise-numbers

Exemple de l'Institut de l'Ebre (que correspon a l'OID 1.3.6.1.4.1.37589):

37589
  Institut de l'Ebre
    Sergi Tur Badenas
      stur&iesebre.com

Esquemes

(Captura core.schema pàg. 20)

Protocol LDAP

LDAP és un protocol Client-Servidor.

(Captura)

  • El client es connecta al servidor Ldap (normalment utilitzant el port 389) iniciant una sessió LDAP.
$ cat /etc/services | grep ldap
  • Els missatges del protocol estan en format binari BER (Basic Encoding Rules) seguint l'estàndard Abstract Syntax Notation One (ASN.1).

Implementacions

IMPORTANT: LDAP és una especificació amb múltiples implementacions.

Active Directory

  • Juntament amb altres protocols (DNS, DHCP, Kerberos...) és el que utilitza Microsoft per a la seva implementació d'una xarxa distribuïda.

OpenLDAP

  • Implementació lliure àmpliament utilitzada.

Novell Directory Services

  • Utilitzat en sistemes operatius de xarxa Novell.
  • iPlanet
  • Red Hat Directory Server

OpenLDAP

OpenLDAP és una implementació de codi obert i gratuïta de l'estàndard (LDAP).

  • Instal·lació:
$ sudo apt-get install slapd
  • Client:
$ sudo apt-get install ldap-utils

Configuració de SLAPD

$ sudo dpkg reconfigure slapd

Apache Directory Studio

Vegeu també

Enllaços externs