Single Sign LDAP con Open LDAP Armando Carvajal

  • Slides: 55
Download presentation
Single Sign LDAP con Open LDAP Armando Carvajal – Ing Sistemas Unincca Especialista en

Single Sign LDAP con Open LDAP Armando Carvajal – Ing Sistemas Unincca Especialista en software para redes Uniandes Gerente Técnico Unixgroup Octubre 15 de 2004, Bogotá, Colombia E-mail: armando. carvajal@unixgroup. com. co website: http: //www. unixgroup. com. co Encontrando el camino hacia el software libre – ACIS Octubre de 2004

El problema de la Administración de Identidades Encontrando el camino hacia el software libre

El problema de la Administración de Identidades Encontrando el camino hacia el software libre – ACIS Octubre de 2004

El problema de Administración de Identidades Cada Usuario tiene múltiples identidades en la empresa

El problema de Administración de Identidades Cada Usuario tiene múltiples identidades en la empresa l Múltiples administradores para cada usuario l No existe un método seguro para compartir las identidades de usuarios entre ambientes linux, UNIX® y Windows® l No existe un único punto de administración para cada usuario l Encontrando el camino hacia el software libre – ACIS Octubre de 2004

Costos en Seguridad y Mesa de Ayuda Un usuario promedio utiliza 5+ claves l

Costos en Seguridad y Mesa de Ayuda Un usuario promedio utiliza 5+ claves l 55% de los usuarios escribe la clave en papel al menos una vez l 9% de todos los usuarios escriben en papel todas las claves l 51% de todos los usuarios requieren ayuda de TI porque olvidaron su clave l 25% de todas las consultas a las mesas de ayuda están relacionadas con claves l Fuente: Rainbow e. Security, 2003 Gartner Research, 2003 Encontrando el camino hacia el software libre – ACIS Octubre de 2004

Proceso Tradicional de Manejo de Identidades Username: brucem Password: hockey 1 Solaris Username: brucem

Proceso Tradicional de Manejo de Identidades Username: brucem Password: hockey 1 Solaris Username: brucem Pass: hockey 1 AIX Encontrando el camino hacia el software libre – ACIS Octubre de 2004 Username: bmackay Password: hockey 1 Windows Username: bmackay Password: hockey 1 Linux

Proceso tradicional de Manejo de Identidades Username: bruce Password: hockey 1 Solaris Username: brucem

Proceso tradicional de Manejo de Identidades Username: bruce Password: hockey 1 Solaris Username: brucem Pass: hockey 1 Username: bmackay Password: hockey 1 Windows Username: bmackay Password: hockey 1 Problema: UNIX Linux • 4 nombres de usuarios diferentes • 4 Herramientas de Admin. diferentes • 4 lugares diferentes donde se guardan las claves Encontrando el camino hacia el software libre – ACIS Octubre de 2004

Autenticación Tradicional l /etc/passwd l NIS l PAM/NSS Encontrando el camino hacia el software

Autenticación Tradicional l /etc/passwd l NIS l PAM/NSS Encontrando el camino hacia el software libre – ACIS Octubre de 2004

Autenticación /etc/passwd login: juana Password: *** /etc/passwd /etc/shadow getpwnam(“juana”) juana: w 8 f{2 rs:

Autenticación /etc/passwd login: juana Password: *** /etc/passwd /etc/shadow getpwnam(“juana”) juana: w 8 f{2 rs: 1253: Juana la loca: /home/juana: /bin/bash crypt() strcmp() Falla o llama el shell del usuario Encontrando el camino hacia el software libre – ACIS Octubre de 2004

/etc/passwd Pros/Contras l Ventajas: l l Muy simple Desventajas: l l Diseñado para autenticación

/etc/passwd Pros/Contras l Ventajas: l l Muy simple Desventajas: l l Diseñado para autenticación local Cada máquina debe tener el archivo /etc/passwd El mismo archivo debe replicarse para las cuentas comúnes /etc/passwd no es extensible Encontrando el camino hacia el software libre – ACIS Octubre de 2004

Network Information System NIS /etc/passwd login: juana Password: *** NIS Server getpwnam(“juana”) juana: s

Network Information System NIS /etc/passwd login: juana Password: *** NIS Server getpwnam(“juana”) juana: s 8 f{2 rs: 1253: Juana: /home/juana: /bin/bash crypt() strcmp() Falla o llama el shell Encontrando el camino hacia el software libre – ACIS Octubre de 2004

NIS Pros/Contras Ventajas: l l Permite distribuir el archivo maestro /etc/passwd y /etc/shadow entre

NIS Pros/Contras Ventajas: l l Permite distribuir el archivo maestro /etc/passwd y /etc/shadow entre diferentes servidores Compatible con la mayoría de Unix/linux Desventajas: l l Muchos huecos de seguridad Cambios en herramientas administrativas Incompatible con sistemas diferentes a UNIX No trabaja en modo desconectado Encontrando el camino hacia el software libre – ACIS Octubre de 2004

Name Service Switch (NSS) login: juana Password: *** getpwnam() /etc/passwd /etc/nsswitch. conf NIS LDAP

Name Service Switch (NSS) login: juana Password: *** getpwnam() /etc/passwd /etc/nsswitch. conf NIS LDAP jdoe: s 8 f{2 rs: 1253: Juana: /home/juana: /bin/bash SQL Encontrando el camino hacia el software libre – ACIS Octubre de 2004

NSS Pros/Contras Ventajas: Permite que una entrada de /etc/passwd se obtenga de cualquier fuente

NSS Pros/Contras Ventajas: Permite que una entrada de /etc/passwd se obtenga de cualquier fuente l 100% transparente a las aplicaciones l Desventajas: No disponible en todos los Unix/Linux l Cuando se busca en multiples fuentes de datos la sincronizacion es un problema l Encontrando el camino hacia el software libre – ACIS Octubre de 2004

Pluggable Authentication Modules PAM unix login: juana Password: *** pam_authenticate() /etc/pam. d/login /etc/passwd ldap

Pluggable Authentication Modules PAM unix login: juana Password: *** pam_authenticate() /etc/pam. d/login /etc/passwd ldap LDAP Exito o fracaso krb 5 Kerberos Encontrando el camino hacia el software libre – ACIS Octubre de 2004

PAM Pros/Contras Ventajas: l l l Permite autenticar directamente contra cualquier fuente de datos

PAM Pros/Contras Ventajas: l l l Permite autenticar directamente contra cualquier fuente de datos Facilmente configurable según /etc/pam. d Aplicaciones PAM no necesitan “mecanismos especificos” de código para autenticarse Desventajas: l Las utilidades y servicios para autenticarse deben ser “PAM enabled” (es decir escritos en PAM API) Encontrando el camino hacia el software libre – ACIS Octubre de 2004

RFC 2307 Propuesta con Open. LDAP y PAM_LDAP Encontrando el camino hacia el software

RFC 2307 Propuesta con Open. LDAP y PAM_LDAP Encontrando el camino hacia el software libre – ACIS Octubre de 2004

Propuesta con Open. LDAP Linux con Open. LDAP Solaris Windows Módulos: nss_ldap, pam_ldap AIX

Propuesta con Open. LDAP Linux con Open. LDAP Solaris Windows Módulos: nss_ldap, pam_ldap AIX Username: bmackay Password: hockey 1 Linux ¡Problema Solucionado! • 1 identidad de usuario • 1 herramienta de Admin. • 1 almacenamiento de claves Encontrando el camino hacia el software libre – ACIS Octubre de 2004

Ambientes Ideales l Utilización de un ambiente mixto UNIX y Windows l Busqueda de

Ambientes Ideales l Utilización de un ambiente mixto UNIX y Windows l Busqueda de un ambiente heterogéneo seguro l Cambios o rotación de personal l Manejo de 50+ usuarios UNIX/Linux Encontrando el camino hacia el software libre – ACIS Octubre de 2004

Mensajes Claves l l l Establece una única identidad para usuarios UNIX, Linux, y

Mensajes Claves l l l Establece una única identidad para usuarios UNIX, Linux, y Windows Provee alto nivel de seguridad en la red (SSL y Kerberos) Centraliza la administración de identidades de usuarios UNIX, Linux, y Windows Brinda soporte para múltiples plataformas Se integra en forma transparente en las estaciones de trabajo de los usuarios Encontrando el camino hacia el software libre – ACIS Octubre de 2004

Casos de Exito l l l Guardia di Finanza: 3, 000 usuarios UK Ministry

Casos de Exito l l l Guardia di Finanza: 3, 000 usuarios UK Ministry Of Defense: 1, 600 usuarios que acceden a varias aplicaciones, incluyendo una de estadísticas de tripulación aérea Dynatronics - EEUU: Autenticando 40 usuarios que acceden aplicaciones contables en Linux ETB - Bogotá Ministerio de Defensa - Bogotá Encontrando el camino hacia el software libre – ACIS Octubre de 2004

l LDAP Encontrando el camino hacia el software libre – ACIS Octubre de 2004

l LDAP Encontrando el camino hacia el software libre – ACIS Octubre de 2004

Qué es LDAP 1 de 2 Es un protocolo liviano de acceso a directorios

Qué es LDAP 1 de 2 Es un protocolo liviano de acceso a directorios que permite gestionar información jerarquica para mantenerla actualizada y disponible en la red l LDAP = Lightweight Directory Access Protocol l Es una versión simplifada del pesado X. 500 DAP protocol del modelo OSI de 1990 l Encontrando el camino hacia el software libre – ACIS Octubre de 2004

Qué es LDAP 2 de 2 l LDAP ver 1 nació en julio de

Qué es LDAP 2 de 2 l LDAP ver 1 nació en julio de 1993 con el RFC 1487 l La información se guarda en una BD de tipo jerarquica l El promedio de lectura en la BD es mayor a la de escritura Encontrando el camino hacia el software libre – ACIS Octubre de 2004

Para que sirve LDAP 1 de 2 l. Si usted es un administrador: Se

Para que sirve LDAP 1 de 2 l. Si usted es un administrador: Se puede administrar en forma centralizada usuarios, grupos, dispositivos l. Usted pueden aislar las aplicaciones de los directorios ej: correo electrónico l. Si usted es un IT manager: Le permite renunciar a estar amarrado a un solo proveedor y/o sistema operativo l. Disminuye costos. Baja el TCO al reducir el total de distintos directorios que se necesitan administrar Encontrando el camino hacia el software libre – ACIS Octubre de 2004

Para que sirve LDAP 2 de 2 l. Si usted es un desarrollador: l.

Para que sirve LDAP 2 de 2 l. Si usted es un desarrollador: l. Le permite renunciar a estar amarrado a un solo proveedor y/o sistema operativo l. Ahorra tiempo de desarrollo ya que no debe desarrollar otravez su propio sistema de directoros para usuarios, grupos, objetos, etc Encontrando el camino hacia el software libre – ACIS Octubre de 2004

Arquitectura 1 de 2 Se basa en la arquitectura cliente servidor de dos niveles

Arquitectura 1 de 2 Se basa en la arquitectura cliente servidor de dos niveles l Es un protocolo orientado a mensajes l Hay dos clases de directorios los estáticos y los dinámicos l Offline directories: Cambian muy poco, ayudan a la gente a encontrar cosas. Ej. Directorio telefónico, páginas amarillas, guía de televisión, catálogos de compras, librerías, bibliotecas, etc l Encontrando el camino hacia el software libre – ACIS Octubre de 2004

Arquitectura 2 de 2 Online directories: l Cambian en forma dinámica, deben ser flexibles,

Arquitectura 2 de 2 Online directories: l Cambian en forma dinámica, deben ser flexibles, deben ser seguros, y deben personalizarse al gusto del usuario l Debe ser actualizado por el usuario dueño de la información l Ej: Directorio de empleados en una empresa para localizarlos cuando cambien sus datos de tel, fax, etc, directorio de hoteles por los que pasa un funcionario, etc l Encontrando el camino hacia el software libre – ACIS Octubre de 2004

Productos Comerciales l l l l l Netscape´s Directory Server Innosoft Distributed Directory Server

Productos Comerciales l l l l l Netscape´s Directory Server Innosoft Distributed Directory Server Lucent Technologies Internet Directory Server Sun Microsystem´s Directory services IBM´s DSSeries LDAP Directory Microsoft Active Directory server Novell Suse Open Exchange - Mail SCOoffice Server - Mail Tarantella – Broker de aplicaciones Encontrando el camino hacia el software libre – ACIS Octubre de 2004

Competidores de respeto l i. Planet de Netscape l e. Directory de Novell l

Competidores de respeto l i. Planet de Netscape l e. Directory de Novell l Novell directory l Active directory de Microsoft Encontrando el camino hacia el software libre – ACIS Octubre de 2004

Website: www. openldap. org l Software en formato rpm o fuente se puede obtener

Website: www. openldap. org l Software en formato rpm o fuente se puede obtener de www. openldap. org: l Es heredado de la versión 3. 3 de la Univ. Michigan l A julio de 2004 la version actual es la Open. LDAP 2. 2. 14 Encontrando el camino hacia el software libre – ACIS Octubre de 2004

API para desarrollar en C l Para compilar en C se debe incluir el

API para desarrollar en C l Para compilar en C se debe incluir el API l # include <ldap. h> l Algunos comandos asincronicos: ldap_search(), ldap_compare(), ldap_bind(), ldap_unbind(), ldap_modify(), ldap_add(), ldap_delete(), ldap_rename(), ldap_result(). l # man ldap l # man slapd Encontrando el camino hacia el software libre – ACIS Octubre de 2004

Formato de presentación 1 de 2 LDIF: Formato de representación de datos l Código

Formato de presentación 1 de 2 LDIF: Formato de representación de datos l Código ASCII que se puede pasar como mensajes de e-mail (8 bit clean) l Una entrada LDIF está formada por varias lineas l Inicia con la palabra “DN”, seguido del nombre único que identifica la línea ó entrada en la BD l Encontrando el camino hacia el software libre – ACIS Octubre de 2004

Formato de presentacion 2 de 2 l El registro DN debe ocupar una sola

Formato de presentacion 2 de 2 l El registro DN debe ocupar una sola línea l Luego siguen los atributos de la entrada l Cada atributo debe ir en una línea diferente l Cada atributo de estar seguido por el signo “: ” y acontinuación su valor Encontrando el camino hacia el software libre – ACIS Octubre de 2004

Ejemplo l dn: o=Acis, c=CO l o: Acis l objectclass: organization l dn: cn=Juana

Ejemplo l dn: o=Acis, c=CO l o: Acis l objectclass: organization l dn: cn=Juana La Loca, o=Acis, c=CO l cn: Juana La Loca l sn: La Loca l telephone. Number: 781 784 7547 l objectclass: inet. Org. Person Encontrando el camino hacia el software libre – ACIS Octubre de 2004

Explicación l Dn: significa distinguished (Distinguido) l Object. Class: (Tipo de objeto) l Cn:

Explicación l Dn: significa distinguished (Distinguido) l Object. Class: (Tipo de objeto) l Cn: significa Common name (Nombre Comun) l Sn: significa surname (Apellido) l Telephonenumber: (Número de tel) l Uid: Cuenta del usuario l user. Password: Clave del usuario l Mail: (e-mail del usuario) Encontrando el camino hacia el software libre – ACIS Octubre de 2004

Explicación l Description: (Descripción del objeto) l O: Significa organization (Nombre de la empresa)

Explicación l Description: (Descripción del objeto) l O: Significa organization (Nombre de la empresa) l C: significa country (pais) l Es decir primero se tiene un tipo de atributo y en seguida el valor del atributo l Más información ver archivo slapd. conf Encontrando el camino hacia el software libre – ACIS Octubre de 2004

Explicación l El significado de cada atributo está definido en los archivos de tipo

Explicación l El significado de cada atributo está definido en los archivos de tipo “schema” residentes en el directorio: /etc/openldap/schema/core. schema, /etc/openldap/schema/cosine. schema, /etc/openldap/schema/inetorgperson. sch ema Encontrando el camino hacia el software libre – ACIS Octubre de 2004

!!!. CONCURSO MILLONARIO. !!! Que significan las letras LDAP? 1. Gen en espiral de

!!!. CONCURSO MILLONARIO. !!! Que significan las letras LDAP? 1. Gen en espiral de los seres humanos 2. Protocolo liviano para acceso a directorios 3. Marca de las botas de jojoy 4. Nuevo carnaval en Barranquilla 5. Mondongo Le Dio A Burundanga… Encontrando el camino hacia el software libre – ACIS Octubre de 2004

l. Archivos de configuración Encontrando el camino hacia el software libre – ACIS Octubre

l. Archivos de configuración Encontrando el camino hacia el software libre – ACIS Octubre de 2004

Archivos de configuración: Proceso servidor slapd l. El proceso servidor en binario de ldap

Archivos de configuración: Proceso servidor slapd l. El proceso servidor en binario de ldap se llama: slapd l. Escucha por el puerto tcp 389 lslapd significa: Stand-alone LDAP Daemon l. En tiempo de boot se arranca por /etc/init. d/ldap Encontrando el camino hacia el software libre – ACIS Octubre de 2004

Configuración l. El shell de arranque /etc/init. d/ldap llama al servicio ó demonio slapd

Configuración l. El shell de arranque /etc/init. d/ldap llama al servicio ó demonio slapd y este a su vez busca el archivo de configuración /etc/openldap/slapd. conf l. Ambiente por defecto /etc/openldap/ldap. conf l. Directorio de datos: /var/lib/openldap Encontrando el camino hacia el software libre – ACIS Octubre de 2004

Archivos de configuración: slapd. conf l l l # Indica los atributos y objetos

Archivos de configuración: slapd. conf l l l # Indica los atributos y objetos que LDAP puede manejar por cada registro Include /etc/openldap/schema/core. schema Include /etc/openldap/schema/cosine. schema Include /etc / openldap / schema / inetorgperson. schema # Permite compatibilidad con la antigua versión 2 – Falla en RH 9. x allow bind_v 2 Encontrando el camino hacia el software libre – ACIS Octubre de 2004

Archivos de configuración: slapd. conf # Tipo de cifrado en los passwords de los

Archivos de configuración: slapd. conf # Tipo de cifrado en los passwords de los usuarios l password-hash {SSHA} l # Donde formato puede ser algún algoritmo de cifrado simétrico como: {SSHA}, {SHA}, {SMD 5}, {CRYPT}, {CLEARTEXT} l Encontrando el camino hacia el software libre – ACIS Octubre de 2004

Slapd. conf l l l # Indica el formato de la base de datos

Slapd. conf l l l # Indica el formato de la base de datos database ldbm # Esta es la base de la llave principal suffix o=Acis, c=CO # Es el directorio donde residen los archivos de la base de datos LDAP directory /var/lib/ldap Encontrando el camino hacia el software libre – ACIS Octubre de 2004

Slapd. conf # Este es la base del registro para el administrador l rootdn

Slapd. conf # Este es la base del registro para el administrador l rootdn cn=root, o=Acis, c=CO l # Este es el password del administrador l rootpw {SSHA}msya. U 45 hc. Xmiq 8 ahe 9 Okew. OCKKA 4 A 5 EY l Encontrando el camino hacia el software libre – ACIS Octubre de 2004

Slapd. conf La clave del usuario administrador se puede cifrar con el comando: #

Slapd. conf La clave del usuario administrador se puede cifrar con el comando: # slappasswd –h Formato > archivo Donde Formato puede ser algún algoritmo de cifrado simétrico: {SSHA}, {SMD 5}, {CRYPT}, {CLEARTEXT} Encontrando el camino hacia el software libre – ACIS Octubre de 2004

Slapd. conf Nota: Jamás utilice {CLEARTEXT} dado que si un intruso ve el archivo

Slapd. conf Nota: Jamás utilice {CLEARTEXT} dado que si un intruso ve el archivo plano entonces ya conocerá la clave del administrador l Se recomienda en cambio el algoritmo más fuerte {SSHA} l Encontrando el camino hacia el software libre – ACIS Octubre de 2004

/etc/openldap/ldap. conf El archivo cliente /etc/openldap/ldap. conf debería estar configurado de la siguiente forma:

/etc/openldap/ldap. conf El archivo cliente /etc/openldap/ldap. conf debería estar configurado de la siguiente forma: l HOST 127. 0. 0. 1 l BASE o=Acis, c=CO l PORT 389 l Encontrando el camino hacia el software libre – ACIS Octubre de 2004

Archivo de de datos: ldif l dn: o=Acis, c=CO o: Acis postal. Address: Calle

Archivo de de datos: ldif l dn: o=Acis, c=CO o: Acis postal. Address: Calle 93 con 13 A objectclass: organization dn: cn=Juana La Loca, o=Acis, c=CO cn: Juana La Loca sn: La Loca description: Soporte en Windows l uid: l user. Password: {SSHA}msya. U 45 hc. Xmiq 8 ahe 9 Okew. OCKKA 4 A 5 EY displayname: Armando Carvajal - sistemas mail: acarvaja@acis. org. co car. License: 77036182 home. Phone: 571 528 3101 objectclass: inet. Org. Person l l l acarvaja Encontrando el camino hacia el software libre – ACIS Octubre de 2004

Comandos: l l l Consultar si “openldap” esta instalado: # rpm –q openldap Hacer

Comandos: l l l Consultar si “openldap” esta instalado: # rpm –q openldap Hacer backup de la base de datos en formato LDIF: # slapcat –l backup. ldif Subir los datos hechos por un backup en formato LDIF: # slapadd –l backup. ldif Encontrando el camino hacia el software libre – ACIS Octubre de 2004

Comandos: Para generar un password cifrado de tipo hash que pueda llevar hacia un

Comandos: Para generar un password cifrado de tipo hash que pueda llevar hacia un archivo, digite: l # slappasswd –h metodo de cifrado l Para cifrar el password del cliente al servidor, digite: l # stunnel –c –d 389 –r localhost: 636 l Encontrando el camino hacia el software libre – ACIS Octubre de 2004

Otros comandos: l l l Para ver todos los registros de la BD: #ldapsearch

Otros comandos: l l l Para ver todos los registros de la BD: #ldapsearch –x –b ´o=Acis, c=CO´ ´objectclass=*´ Para ver los usuarios de la BD: #ldapsearch –x –b ´o=Acis, c=CO´ ´uid=*´ Para adicionar registros desde el archivo bd. ldif: #ldapadd –x –D ´uid=acarvaja, o=Acis, c=CO´ -W –f bd. ldif Encontrando el camino hacia el software libre – ACIS Octubre de 2004

!!! CONCURSO MILLONARIO. !! Cual es el archivo de configuración más importante para el

!!! CONCURSO MILLONARIO. !! Cual es el archivo de configuración más importante para el servidor ldap ? 1. /etc/openldap/ldap. conf 2. /etc/sysconfig/daemons/ldap 3. /etc/rc. d/rc 2. d/K 55 ldap 4. /etc/openldap/slapd. conf 5. /etc/rc. d/rc 5. d/S 99 ldap Encontrando el camino hacia el software libre – ACIS Octubre de 2004

Bibliografía Understanding And Deploying LDAP Directory Services, Timothy A. Howes Ph. D, New Riders,

Bibliografía Understanding And Deploying LDAP Directory Services, Timothy A. Howes Ph. D, New Riders, 1999, Netscape Communications Corporation, First Edition l Implementing LDAP, Marck Wilcox, Editorial Wrox l www. ldapguru. com l www. openldap. org l Encontrando el camino hacia el software libre – ACIS Octubre de 2004

Encontrando el camino hacia el software libre – ACIS Octubre de 2004

Encontrando el camino hacia el software libre – ACIS Octubre de 2004