openldap

download openldap

If you can't read please download the document

Transcript of openldap

Dani Gutirrez [email protected]

openldap

ndice

Introduccin

Servicios de directorio

Protocolo LDAP

openldap

Software

Licencia de uso

Servicios de Directorio

Es una aplicacin o servicio que hace de interface a un repositorio o backend de almacenamiento de datos estructurados segn un modelo especfico de directorio.

Ejs: NIS, Active Directory, LDAP

Caractersticas:

Operaciones: Alta, borrado, modificacin de objetos.

Replicacin: mejora de rendimiento, seguridad.

Distribucin: zonas de datos gestionadas por servidores distintos. Delegar autoridad.

Seguridad: Autenticacin y autorizacin. ACLs

Servicios de Directorio

Diferencias con bases de datos relacionales:

No lenguaje SQL.

Ms optimizados para lectura y menos para escritura.

No transaccional.

Modelo de datos:

Estructuracin:

Relacional: tablas normalizadas

Srv. Directorio:

rbol de objetos + Jerarqua de clases

Atributos multi-valor

No tablas intermedias

ACLs a nivel de atributo.

Servicios de Directorio

Modelo de datos de directorio:

Objetos estructurados en rboles jerrquicos. DIT: Directory Information Tree.

Esquema: definicin de clases y atributos de objetos.

Atributos de los objetos:

Opcionales u obligatorios

Uno o varios valores, ej. telfono

Posibilidad de ACL a nivel de atributo

Identificadores:

De clases y atributos. OID=n asignado oficialmente (ITU, ISO, IANA) en notacin ASN.1

Lista de OIDs: http://www.alvestrand.no/objectid/

De objetos: atributo DN (distinguished name)

Servicios de Directorio

Usos de informacin de directorio:

Interface para otros servicios, ej.

S.O:

Cuentas y claves de usuario del S.O.

Equipos de una red

smtp, http, samba,...

A medida:

Emails para programas de correo electrnico.

Datos de usuario, ej. gua telefnica.

Protocolo LDAP

LDAP = Lightweight Directory Access Protocol.

Protocolo para acceder a un directorio de servicio a travs de tcp/ip.

Puertos por defecto:

No seguro: tcp 389

Seguro (ssl/tls): tcp 636

Posibilidad de acceder va URLs:

ldap://host:port/DN?attributes?scope?filter?extensions

Origen: Protocolo X.500 (DAP):

X.500 slo corra en mquinas potentes

Era necesario un protocolo para acceder desde PCs

Protocolo LDAP

LDAP y DNS: semejantes, pero no lo reemplaza:

Es un superconjunto.

DNS: UDP

LDIF = LDAP Data Interchange Format:

Formato de fichero de texto para intercambio

Estandar muy usado ej. exportacin/importacin de contactos entre programas de correo electrnico

Protocolo LDAP

Operaciones:

Sobre objetos:

Aadir, borrar objetos.

Aadir, borrar, modificar atributos (DN incluido) de un objeto.

Buscar objetos en base a valores de atributos.

Comparar el valor de un atributo con un valor dado.

Comprobacin de credenciales de usuario (bind)

Protocolo LDAP

Replicacin entre servidor maestro y servidores esclavos.

Seguridad:

ACLs a nivel de atributo

Autenticacin. Hay dos modos:

Simple (usuario annimo o usuario+clave)

SASL=Simple Authentication and Security Layer

SSL

Protocolo LDAP

Modelo de datos:

Esquemas:

Especificacin de atributos

OID, Nombre y descripcin: OID, NAME, DESC

Reglas varias: EQUALITY, SUBSTR, ORDERING, SYNTAX

...

Especificacin de clases

OID, Nombre y descripcin: OID, NAME, DESC

Clase madre: SUP. Puede haber ms de una.

Tipo de clase: STRUCTURAL, AUXILIARY, ABSTRACT

Atributos obligatorios, opcionales: MUST, MAY...

Admite alias a objetos

Ref: http://www.zytrax.com/books/ldap/ch3/index.html

openldap

Implementacin libre del protocolo (Univ. de Michigan).

Ref: http://www.openldap.org/doc/

Backends posibles:

Tpicos: bdb, ldbm

Otros: config, dnssrv, hdb, ldap, ldif, sql,...

Opciones de Rendimiento

ndices

Opciones especficas a cada backend (ej. bloqueos)

openldap

Comandos de servidor:

slapd: demonio gestor principal del LDAP

slurpd: demonio para replicacin.

Importacin/exportacin de ldif: slapadd, slapcat

Seguridad:

slapauth: chequea autenticaciones/autorizaciones de un identificador

slapacl: verifica el acceso a una lista de atributos

slappasswd: genera passwords segn distintos tipos de hash

Otros:

slaptest: comprueba un fichero slapd.conf

slapindex: regeneracin de ndices

slapdn: verificacin de cadenas dn

openldap

Ficheros del servidor:

Configuracin:

/etc/ldap/slapd.conf: configuracin del servidor. Las directivas se agrupan en:

Globales

Especficas a cada tipo de backend

Especficas a cada base de datos.

/etc/default/slapd: valores por defecto

/etc/ldap/schema/: esquemas.

Runtime: /var/lib/ldap/: ficheros de backend y rplica de log

openldap

Comandos de cliente:

Gestin de objetos:

Bsquedas y comparaciones: ldapsearch, ldapcompare.

Alta, baja y modificacin: ldapadd, ldapdelete, ldapmodify, ldapmodrdn.

Seguridad:

ldappasswd: cambiar la password de una entrada del rbol

ldapwhoami: operacin whoami, til para verificar autenticacin/autorizacin

Ficheros de configuracin del cliente:

/etc/ldap/ldap.conf

Software

apt-cache search ldap| grep -i ldap

Principales:

slapd: servidor

libldap2, libldap-2.3-0: libreras de runtime

ldap-utils: comandos de shell

Mdulos para:

Sistema Operativo: libnss-ldap, libpam-ldap, libsasl2-modules-ldap, sudo-ldap, autofs-ldap

Otras aplicaciones:

apache, ftp, samba, dns, finger, radius, courier, postfix y varios de correo

aolserver, sope, zope, phpgroupware, egroupware, gforge

Software

Libreras para lenguajes: C, php, perl, python, ruby, mono, haskell, ocaml

Gestores de LDAP (comandos, GUI). Ej: phpldapadmin, JXplorer (no en Ubuntu)

Herramientas de gestin de cuentas basadas en LDAP

Licencia de uso

http://creativecommons.org/licenses/by-sa/3.0/

Pulse para editar el formato del texto de ttulo

Pulse para editar los formatos del texto del esquema

Segundo nivel del esquema

Tercer nivel del esquema

Cuarto nivel del esquema

Quinto nivel del esquema

Sexto nivel del esquema

Sptimo nivel del esquema

Octavo nivel del esquema

Noveno nivel del esquema