openldap
Upcoming SlideShare
Loading in...5
×
 

openldap

on

  • 3,980 views

 

Statistics

Views

Total Views
3,980
Views on SlideShare
3,966
Embed Views
14

Actions

Likes
0
Downloads
111
Comments
0

1 Embed 14

http://www.slideshare.net 14

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    openldap openldap Presentation Transcript

    • 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/