ldap

download ldap

If you can't read please download the document

description

Diapositivas de introduccion a ldap

Transcript of ldap

Introduccin a LDAP

Jaime Andrs Vlez Osorio Ing. de Sistemas U. del Norte Soporte Netware Suramericana de Seguros Soporte Netware/Lotus Notes/Domino Proteccin S.A Consultor/Asesor Nested LTDA Organizador-expositor 1er Flisol Barranquilla Instercom 2007 Organizador 2o Flisol Barranquilla U. Autonoma del Caribe 2008 Ponente Hacklab Instalacin openSUSE configuracin openLDAP usando YaST Agape 2009 Escritor de howtos en openSUSE.org y congotux.blogspot.com Septiembre 8 de 2009

1

Introduccin a LDAPINTRODUCCIN El problema de la Administracin de Identidades

Mltiples administradores para cada usuario No existe un mtodo seguro para compartir las identidades de usuarios entre ambientes GNU/Linux, UNIX y Windows Cada Usuario tiene mltiples identidades en la empresa No existe un nico punto de administracin para cada usuario2

Introduccin a LDAPCostos en Seguridad y Mesa de Ayuda

Un usuario promedio utiliza 5+ claves 55% de los usuarios escribe la clave en papel al menos una vez 9% de todos los usuarios escriben en papel todas las claves 51% de todos los usuarios requieren ayuda de TI porque olvidaron su clave 25% de todas las consultas a las mesas de ayuda estn relacionadas con claves3

Fuente: Gartner Research, 2003

Introduccin a LDAPProceso Tradicional de Manejo de IdentidadesGNU/LINUX SOLARIS Usuario jvelez / Password:123lkHk% Usuario jvelez / Password:x123lkHk% Servicio de Correo Usuario jvelez / password fjfj4%jg Proxy con autenticacin Usuario javobqcol / password gt$gdct Servidor jabber Usuario jaime V/ password mr%&/( AIX Windows Usuario javobqcol / Password:$Qsfjtd12 Usuario jaimeV / Password: 12Jr%H

4

Introduccin a LDAPMtodos de autenticacin tradicional. /etc/passwd NIS PAM/NSS

5

Introduccin a LDAPPropuesta con LDAP y PAM/NSS Que es LDAP

LDAP = Lightweight Directory Access Protocol (Protocolo compacto de acceso a directorios) es un protocolo estndar que permite administrar directorios, esto es, acceder a bases de informacin de usuarios de una red mediante protocolos TCP/IP. Directorio = DIT (Directory Information Tree) es un tipo de base de datos, pero no es una base de datos relacional (Base de datos jerarquica) El protocolo LDAP define el mtodo para acceder a datos en el servidor a nivel cliente pero no la manera en la que se almacena la informacin. Es una versin simplifada del pesado X.500 DAP protocol del modelo OSI Desarrollado en 1993 en la Universidad de Michigan,6

Introduccin a LDAPPropuesta con LDAP y PAM/NSSQue brinda LDAP? LDAP le brinda al usuario mtodos que le permiten: Conectarse Desconectarse Buscar informacin Comparar informacin Insertar entradas Cambiar entradas Eliminar entradas Asimismo, el protocolo LDAP (en versin 3) ofrece mecanismos de cifrado (SSL, etc.) y autenticacin para permitir el acceso seguro a la informacin almacenada en la base.7

Introduccin a LDAPPropuesta con OpenLDAP y PAM/NSS Para que sirve LDAP Administradores: Centralizar informacin de usuarios, grupos, dispositivos (1 identidad de usuario 1 herramienta de Admin. 1 almacenamiento de claves) IT managers: No estar amarrado a un solo proveedor y/o sistema operativo, disminuye costos. Baja el TCO (directorios que se necesitan administrar) Desarrolladores: Ahorra tiempo de desarrollo no se debe desarrollar otra vez su propio sistema de directorios para usuarios, grupos, objetos, etc

8

Introduccin a LDAPVentajas en el uso de LDAP Es muy rpido en la lectura de registros Permite replicar el servidor de forma muy sencilla y econmica Muchas aplicaciones de todo tipo tienen interfaces de conexin a LDAP y se pueden integrar fcilmente Dispone de un modelo de nombres globales que asegura que todas las entradas son nicas Usa un sistema jerrquico de almacenamiento de informacin. Permite mltiples directorios independientes Funciona sobre TCP/IP y SSL La mayora de aplicaciones disponen de soporte para LDAP La mayora de servidores LDAP son fciles de instalar, mantener y optimizar. Desventajas en el uso de LDAP LDAP resulta complicado de configurar ya que es un sistema complejo. Protocolo de manejo de datos poco intuitivo, pero existen mltiples herramientas que facilitan su uso.9

Introduccin a LDAPUsos prcticos de LDAP

Directorios de informacin. Sistemas de autenticacin/autorizacin centralizada. . Sistemas de autenticacin para pginas Web Sistemas de control de entradas a edificios, oficinas. Sistemas de correo electrnico. Sistemas de alojamiento de pginas web y FTP Grandes sistemas de autenticacin basados en RADIUS Servidores de certificados pblicos y llaves de seguridad. Autenticacin nica single sign-on Perfiles de usuarios centralizados Roaming Libretas de direcciones compartidas.10

Introduccin a LDAPEstructura de rbol de la informacin (DIT)LDAP presenta la informacin bajo la forma de una estructura jerrquica de rbol denominada DIT (Como DNS o directorios de ficheros UNIX). Como con los nombres de host en DNS, un registro Nombre Distinguido (Distinguished Name en ingles, DN en corto) de un directorio LDAP se lee desde su entrada individual, recursivamente a travs del rbol, hasta el nivel ms alto.

11

Introduccin a LDAPEstructura de rbol de la informacin (DIT)

Los nodos del rbol se llaman entradas Las entradas representan objetos abstractos o del mundo real Cada entrada tiene una serie de atributos con informacin del objeto que representa (persona, grupo, dispositivo), cada atributo toma la forma Atributo:valor El atributo mas importante de un nodo o entrada se llama DN Nombre Distinguido (Distinguished Name en ingles), el DN identifica de manera inequvoca cada entrada en el rbol ej: dn:uid=jperez,ou=people,dc=antiquitera,dc=site El nivel superior de un directorio LDAP es la base, conocido como el "DN base".El DN base toma una de estas tres formas dn:o="antiquitera", c=CO dn:o=antiquitera.site dn:dc=Antiquitera,dc=site

12

Introduccin a LDAPEjemplo de el DN base (Entrada LDIF)dn: dc=fedepanela,dc=site dc: fedepanela o: fedepanela objectClass: organization objectClass: dcObject structuralObjectClass: organization entryUUID: ad7690d2-09e1-102e-81b2-1fc02f54a5d9 creatorsName: cn=Administrator,dc=fedepanela,dc=site createTimestamp: 20090721012928Z entryCSN: 20090721012928.621019Z#000000#000#000000 modifiersName: cn=Administrator,dc=fedepanela,dc=site modifyTimestamp: 20090721012928Z

Atributosdn = Nombre distinguido dc = Contenedor de dominio o = Organizacin objectclass = Tipo de objeto define que tipos de atributos contiene el contenedor Las clases se definen en los archivos de esquemas (schemes)

13

Introduccin a LDAPCmo organizar los datos en un rbol de directorio

Debajo del DN base se crean contenedores que separen lgicamente los datos La mayora de los directorios configuran estas separaciones lgicas como entradas OU. OU vienen de "Unidades Organizacionales" (Organizational Units, en ingles). Actualmente las implementaciones de LDAP han mantenido la convencin del nombre ou=, separando las cosas por categoras amplias como ou=gente (ou=people), ou=grupos (ou=groups), ou=dispositivos (ou=devices)

14

Introduccin a LDAPCmo organizar los datos en un rbol de directorio (estructura tpica)

15

Introduccin a LDAPCmo organizar los datos en un rbol de directorio (Objetos de usuario y grupo)Entrada de usuario (entrada LDIF) dn: uid=pperez,ou=people,dc=antiquitera,dc=site cn: Pedro Perez gidNumber: 100 givenName: Pedro homeDirectory: /home/pperez loginShell: /bin/bash objectClass: top objectClass: posixAccount objectClass: inetOrgPerson sn: Perez uid: pperez uidNumber: 1004 userPassword:: e3NzaGF9dnQwdXNjUTk1SVUxa structuralObjectClass: inetOrgPerson entryUUID: 15fc008c-30fd-102e-99f6-41ff2ec75b86 creatorsName: cn=administrator,dc=Antiquitera,dc=site createTimestamp: 20090908195355Z entryCSN: 20090908195355.738598Z#000000#000#000000 ModifiersName:cn=administrator,dc=antiquitera,dc=site

Entrada de grupo (entrada LDIF) dn: cn=tesoreria,ou=group,dc=antiquitera,dc=site cn: tesoreria gidNumber: 1000 member: uid=pperez,ou=people,dc=antiquitera,dc=site objectClass: posixGroup objectClass: top objectClass: groupOfNames structuralObjectClass: groupOfNames entryUUID: 44bf2a3a-3106-102e-99f741ff2ec75b86 creatorsName: cn=administrator,dc=antiquitera,dc=site createTimestamp: 20090908205939Z entryCSN: 20090908205939.663376Z#000000#000#000000 modifiersName: cn=administrator,dc=antiquitera,dc=site modifyTimestamp: 20090908205939Z

modifyTimestamp: 20090908195355Z

16

Introduccin a LDAPSeguridad y control de accesos (openLDAP) Estructura de una Acl

::= access to [by ]+ ::= * | [dn[.]= | dn.=] [filter=] [attrs=] ::= regex | exact ::= base | one | subtree | children ::= [val[.]=] | , ::= | entry | children ::= * | [anonymous | users | self | dn[.]= | dn.=] [dnattr=] [group[/[/][.]]=] [peername[.]=] [sockname[.]=] [domain[.]=] [sockurl[.]=] [set=] [aci=] ::= [self]{|} ::= none | auth | compare | search | read | write ::= {=|+|-}{w|r|s|c|x|0}+ ::= [stop | continue | break]

17

Introduccin a LDAPSeguridad y control de accesos (openLDAP) Ejemplo Estructura de una Acl (versiones openldap anteriores a la 2.4) Access to dn=".*,dc=antiquitera,dc=site" attr=userPassword by dn="cn=Administrator,dc=antiquitera,dc=site" write by self write by * auth Estructura de una Acl (versin openldap >= 2.4) olcAccess: to * by self write by anonymous auth by * read

18

Introduccin a LDAPHerramientas de usuario (linea de comandos) Descripcionesldapadd:abre una conexin a un servidor LDAP, enlaza y aade entradas. ldapcompare: abre una conexin a un servidor LDAP, enlaza y hace una comparacin usando los parmetros especificados. ldapdelete: abre una conexin a un servidor LDAP, enlaza y borra una o mas entradas. ldapmodify: abre una conexin a un servidor LDAP, enlaza y modifica entradas. ldapmodrdn: abre una conexin a un servidor LDAP, enlaza y modifica el RDN de las entradas. ldappasswd: es una herramienta para establecer la contrasea de un usuario LDAP. ldapsearch: abre una conexin a un servidor LDAP, enlaza y hace una bsqueda usando los parmetros especificados. ldapwhoami: abre una conexin a un servidor LDAP, enlaza y realiza una operacin whoami. slapadd: se usa para aadir entradas especificadas en el formato Intercambio de Directorio de LDAP (LDIF) en una base de datos slapd. slapcat: Se usa para generar una salida LDAP LDIF basada en el contenido de una base de datos slapd. slapd: es el servidor LDAP independiente. slapindex: se usa para regenerar ndices slapd basados en el contenido actual de una base de datos. slappasswd: es una utilidad de contraseas OpenLDAP.19

Introduccin a LDAPHerramientas de usuario (GUI) Cualquier cantidad de herramientas libres y no libres.. algunas GQ, LUMA, GOSA, PHPLDAPADMIN, YaST Softerra LDAP Administrator & Browser Jxplorer.. Implementaciones de LDAP Existen diversas implementaciones y aplicaciones reales del protocolo LDAP OpenLDAP Active Directory Novell Directory Services / eDirectory iPlanet - Sun ONE Directory Server Red Hat Directory Server Apache Directory Server Open DS Ejemplo practico Administracin de openldap via YaST Usuarios del sistema en openLDAP Autenticacin de squid usando openLDAP Autenticacin de openFire usando openLDAP Samba-openLdap

20

Introduccin a LDAPBIOGRAFABreve introduccin a Ldap http://ldapman.org/articles/sp_intro.html La pgina del proyecto openldap http://www.openldap.org/ Understanding LDAP - Design and Implementation http://www.redbooks.ibm.com/abstracts/sg244986.html Single sign On http://www.acis.org.co/memorias/SalonInformatica/XXIVSalonInformatica/05-Ldap.ppt Configurar LDAP usando YaST http://es.opensuse.org/Configurar_LDAP_usando_YaST Ingreso de usuarios y grupos en LDAP usando YaST http://es.opensuse.org/Ingreso_de_usuarios_y_grupos_en_LDAP_usando_YaST Configurar openfire con soporte ldap http://es.opensuse.org/Configurar_openfire_con_soporte_ldap Squid con soporte ldap http://es.opensuse.org/Squid_con_soporte_ldap Y hasta la wikipedia http://es.wikipedia.org/wiki/LDAP21