Dani Gutiérrez Porset [email_address] openldap
Índice Introducción Servicios de directorio Protocolo LDAP openldap Software Licencia de uso
Servicios de Directorio Es una aplicación o servicio que hace de interface a un repositorio o backend de almacenamiento de datos estructurados según un modelo específico de directorio. Ejs: NIS, Active Directory, LDAP Características: Operaciones: Alta, borrado, modificación de objetos. Replicación: mejora de rendimiento, seguridad. Distribución: zonas de datos gestionadas por servidores distintos. Delegar autoridad. Seguridad: Autenticación y autorización. ACLs
Servicios de Directorio Diferencias con bases de datos relacionales: No lenguaje SQL. Más optimizados para lectura y menos para escritura. No transaccional. Modelo de datos: Estructuración: Relacional: tablas normalizadas Srv. Directorio: Árbol de objetos + Jerarquía 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 jerárquicos. DIT: Directory Information Tree. “Esquema”: definición de clases y atributos de objetos. Atributos de los objetos: Opcionales u obligatorios Uno o varios valores, ej. teléfono Posibilidad de ACL a nivel de atributo Identificadores: De clases y atributos. OID=nº asignado oficialmente (ITU, ISO, IANA) en notación ASN.1 Lista de OIDs:  http://www.alvestrand.no/objectid/ De objetos: atributo DN (distinguished name)
Servicios de Directorio Usos de información 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 electrónico. Datos de usuario, ej. guía telefónica.
Protocolo LDAP LDAP =  L ightweight  D irectory  A ccess  P rotocol. Protocolo para acceder a un directorio de servicio a través de tcp/ip. Puertos por defecto: No seguro: tcp 389 Seguro (ssl/tls): tcp 636 Posibilidad de acceder vía URLs: ldap://host:port/DN?attributes?scope?filter?extensions Origen: Protocolo X.500 (DAP): X.500 sólo corría en máquinas 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 =  L DAP  D ata  I nterchange  F ormat: Formato de fichero de texto para intercambio Estandar muy usado ej. exportación/importación de contactos entre programas de correo electrónico
Protocolo LDAP Operaciones: Sobre objetos: Añadir, borrar objetos. Añadir, 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. Comprobación de credenciales de usuario (“bind”)
Protocolo LDAP Replicación entre servidor maestro y servidores esclavos. Seguridad: ACLs a nivel de atributo Autenticación. Hay dos modos: Simple (usuario anónimo o usuario+clave) SASL= S imple  A uthentication and  S ecurity  L ayer SSL
Protocolo LDAP Modelo de datos: Esquemas: Especificación de atributos OID, Nombre y descripción: OID, NAME, DESC Reglas varias: EQUALITY, SUBSTR, ORDERING, SYNTAX ... Especificación de clases OID, Nombre y descripción: OID, NAME, DESC Clase madre: SUP. Puede haber más 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 Implementación libre del protocolo (Univ. de Michigan). Ref:  http://www.openldap.org/doc/ Backends posibles: Típicos: bdb, ldbm Otros: config, dnssrv, hdb, ldap, ldif, sql,... Opciones de Rendimiento Índices Opciones específicas a cada backend (ej. bloqueos)
openldap Comandos de servidor: slapd: demonio gestor principal del LDAP slurpd: demonio para replicación. Importación/exportación de ldif: slapadd, slapcat Seguridad: slapauth: chequea autenticaciones/autorizaciones de un identificador slapacl: verifica el acceso a una lista de atributos slappasswd: genera passwords según distintos tipos de hash Otros: slaptest: comprueba un fichero slapd.conf slapindex: regeneración de índices slapdn: verificación de cadenas dn
openldap Ficheros del servidor: Configuración: /etc/ldap/slapd.conf: configuración del servidor. Las directivas se agrupan en: Globales Específicas a cada tipo de backend Específicas a cada base de datos. /etc/default/slapd: valores por defecto /etc/ldap/schema/: esquemas. Runtime: /var/lib/ldap/: ficheros de backend y réplica de log
openldap Comandos de cliente: Gestión de objetos:  Búsquedas y comparaciones: ldapsearch, ldapcompare. Alta, baja y modificación: ldapadd, ldapdelete, ldapmodify, ldapmodrdn. Seguridad: ldappasswd: cambiar la password de una entrada del árbol ldapwhoami: operación whoami, útil para verificar autenticación/autorización Ficheros de configuración del cliente: /etc/ldap/ldap.conf
Software apt-cache search ldap| grep -i ldap Principales: slapd: servidor libldap2, libldap-2.3-0: librerías de runtime ldap-utils: comandos de shell Módulos 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 Librerías para lenguajes: C, php, perl, python, ruby, mono, haskell, ocaml Gestores de LDAP (comandos, GUI). Ej: phpldapadmin, JXplorer (no en Ubuntu) Herramientas de gestión de cuentas basadas en LDAP
Licencia de uso http://creativecommons.org/licenses/by-sa/3.0/

openldap

  • 1.
    Dani Gutiérrez Porset[email_address] openldap
  • 2.
    Índice Introducción Serviciosde directorio Protocolo LDAP openldap Software Licencia de uso
  • 3.
    Servicios de DirectorioEs una aplicación o servicio que hace de interface a un repositorio o backend de almacenamiento de datos estructurados según un modelo específico de directorio. Ejs: NIS, Active Directory, LDAP Características: Operaciones: Alta, borrado, modificación de objetos. Replicación: mejora de rendimiento, seguridad. Distribución: zonas de datos gestionadas por servidores distintos. Delegar autoridad. Seguridad: Autenticación y autorización. ACLs
  • 4.
    Servicios de DirectorioDiferencias con bases de datos relacionales: No lenguaje SQL. Más optimizados para lectura y menos para escritura. No transaccional. Modelo de datos: Estructuración: Relacional: tablas normalizadas Srv. Directorio: Árbol de objetos + Jerarquía de clases Atributos multi-valor No tablas intermedias ACLs a nivel de atributo.
  • 5.
    Servicios de DirectorioModelo de datos de directorio: Objetos estructurados en árboles jerárquicos. DIT: Directory Information Tree. “Esquema”: definición de clases y atributos de objetos. Atributos de los objetos: Opcionales u obligatorios Uno o varios valores, ej. teléfono Posibilidad de ACL a nivel de atributo Identificadores: De clases y atributos. OID=nº asignado oficialmente (ITU, ISO, IANA) en notación ASN.1 Lista de OIDs: http://www.alvestrand.no/objectid/ De objetos: atributo DN (distinguished name)
  • 6.
    Servicios de DirectorioUsos de información 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 electrónico. Datos de usuario, ej. guía telefónica.
  • 7.
    Protocolo LDAP LDAP= L ightweight D irectory A ccess P rotocol. Protocolo para acceder a un directorio de servicio a través de tcp/ip. Puertos por defecto: No seguro: tcp 389 Seguro (ssl/tls): tcp 636 Posibilidad de acceder vía URLs: ldap://host:port/DN?attributes?scope?filter?extensions Origen: Protocolo X.500 (DAP): X.500 sólo corría en máquinas potentes Era necesario un protocolo para acceder desde PCs
  • 8.
    Protocolo LDAP LDAPy DNS: semejantes, pero no lo reemplaza: Es un superconjunto. DNS: UDP LDIF = L DAP D ata I nterchange F ormat: Formato de fichero de texto para intercambio Estandar muy usado ej. exportación/importación de contactos entre programas de correo electrónico
  • 9.
    Protocolo LDAP Operaciones:Sobre objetos: Añadir, borrar objetos. Añadir, 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. Comprobación de credenciales de usuario (“bind”)
  • 10.
    Protocolo LDAP Replicaciónentre servidor maestro y servidores esclavos. Seguridad: ACLs a nivel de atributo Autenticación. Hay dos modos: Simple (usuario anónimo o usuario+clave) SASL= S imple A uthentication and S ecurity L ayer SSL
  • 11.
    Protocolo LDAP Modelode datos: Esquemas: Especificación de atributos OID, Nombre y descripción: OID, NAME, DESC Reglas varias: EQUALITY, SUBSTR, ORDERING, SYNTAX ... Especificación de clases OID, Nombre y descripción: OID, NAME, DESC Clase madre: SUP. Puede haber más 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
  • 12.
    openldap Implementación libredel protocolo (Univ. de Michigan). Ref: http://www.openldap.org/doc/ Backends posibles: Típicos: bdb, ldbm Otros: config, dnssrv, hdb, ldap, ldif, sql,... Opciones de Rendimiento Índices Opciones específicas a cada backend (ej. bloqueos)
  • 13.
    openldap Comandos deservidor: slapd: demonio gestor principal del LDAP slurpd: demonio para replicación. Importación/exportación de ldif: slapadd, slapcat Seguridad: slapauth: chequea autenticaciones/autorizaciones de un identificador slapacl: verifica el acceso a una lista de atributos slappasswd: genera passwords según distintos tipos de hash Otros: slaptest: comprueba un fichero slapd.conf slapindex: regeneración de índices slapdn: verificación de cadenas dn
  • 14.
    openldap Ficheros delservidor: Configuración: /etc/ldap/slapd.conf: configuración del servidor. Las directivas se agrupan en: Globales Específicas a cada tipo de backend Específicas a cada base de datos. /etc/default/slapd: valores por defecto /etc/ldap/schema/: esquemas. Runtime: /var/lib/ldap/: ficheros de backend y réplica de log
  • 15.
    openldap Comandos decliente: Gestión de objetos: Búsquedas y comparaciones: ldapsearch, ldapcompare. Alta, baja y modificación: ldapadd, ldapdelete, ldapmodify, ldapmodrdn. Seguridad: ldappasswd: cambiar la password de una entrada del árbol ldapwhoami: operación whoami, útil para verificar autenticación/autorización Ficheros de configuración del cliente: /etc/ldap/ldap.conf
  • 16.
    Software apt-cache searchldap| grep -i ldap Principales: slapd: servidor libldap2, libldap-2.3-0: librerías de runtime ldap-utils: comandos de shell Módulos 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
  • 17.
    Software Librerías paralenguajes: C, php, perl, python, ruby, mono, haskell, ocaml Gestores de LDAP (comandos, GUI). Ej: phpldapadmin, JXplorer (no en Ubuntu) Herramientas de gestión de cuentas basadas en LDAP
  • 18.
    Licencia de usohttp://creativecommons.org/licenses/by-sa/3.0/