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

05-Ldap

Embed Size (px)

Citation preview

Page 1: 05-Ldap

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

Armando Carvajal – Ing Sistemas UninccaEspecialista en software para redes Uniandes

Gerente Técnico UnixgroupOctubre 15 de 2004, Bogotá, Colombia

E-mail: [email protected]: http://www.unixgroup.com.co

Single Sign LDAP con Open LDAP

Page 2: 05-Ldap

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

El problema de la Administración de Identidades

Page 3: 05-Ldap

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

Múltiples administradores para cada usuario No existe un método seguro para compartir las identidades de usuarios entre ambientes linux, UNIX®

y Windows® No existe un único punto de administración

para cada usuario

Page 4: 05-Ldap

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

Costos 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 están relacionadas con clavesFuente: Rainbow eSecurity, 2003

Gartner Research, 2003

Page 5: 05-Ldap

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

Proceso Tradicional de Manejo de Identidades

Username: brucemPassword: hockey1

Username: brucemPass: hockey1

Username: bmackayPassword: hockey1

Solaris Windows

AIX

Username: bmackayPassword: hockey1

Linux

Page 6: 05-Ldap

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

Proceso tradicional de Manejo de Identidades

Username: brucePassword: hockey1

Username: brucemPass: hockey1

Username: bmackayPassword: hockey1

Solaris Windows

UNIX

Username: bmackayPassword: hockey1

LinuxProblema: • 4 nombres de usuarios diferentes• 4 Herramientas de Admin. diferentes• 4 lugares diferentes donde se guardan las claves

Problema: • 4 nombres de usuarios diferentes• 4 Herramientas de Admin. diferentes• 4 lugares diferentes donde se guardan las claves

Page 7: 05-Ldap

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

Autenticación Tradicional

/etc/passwdNISPAM/NSS

Page 8: 05-Ldap

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

Autenticación /etc/passwd

login: juanaPassword: ***

getpwnam(“juana”)

crypt()

/etc/passwd/etc/shadow

juana:w8f{2rs:1253:1253:Juana la loca:/home/juana:/bin/bash

strcmp() Falla o llama el shell del usuario

Page 9: 05-Ldap

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

/etc/passwd Pros/Contras

Ventajas: Muy simple

Desventajas: 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

Page 10: 05-Ldap

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

Network Information System NIS

login: juanaPassword: ***

getpwnam(“juana”)

crypt()

/etc/passwd

juana:s8f{2rs:1253:1253:Juana:/home/juana:/bin/bash

strcmp()

NISServer

Falla o llama el shell

Page 11: 05-Ldap

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

NIS Pros/Contras

Ventajas: Permite distribuir el archivo maestro /etc/passwd y

/etc/shadow entre diferentes servidores Compatible con la mayoría de Unix/linux

Desventajas: Muchos huecos de seguridad Cambios en herramientas administrativas Incompatible con sistemas diferentes a UNIX No trabaja en modo desconectado

Page 12: 05-Ldap

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

Name Service Switch (NSS)

login: juanaPassword: ***

getpwnam()

/etc/passwd

/etc/nsswitch.confNIS

LDAP

SQL

jdoe:s8f{2rs:1253:1253:Juana:/home/juana:/bin/bash

Page 13: 05-Ldap

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 fuente100% transparente a las aplicaciones

Desventajas:No disponible en todos los Unix/LinuxCuando se busca en multiples fuentes de

datos la sincronizacion es un problema

Page 14: 05-Ldap

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

Pluggable Authentication Modules PAM

login: juanaPassword: ***

pam_authenticate()

/etc/passwd

/etc/pam.d/login

Exito o fracaso

LDAP

Kerberos

unix

ldap

krb5

Page 15: 05-Ldap

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

PAM Pros/Contras

Ventajas: 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: Las utilidades y servicios para autenticarse

deben ser “PAM enabled” (es decir escritos en PAM API)

Page 16: 05-Ldap

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

RFC2307

Propuesta con OpenLDAP y PAM_LDAP

Page 17: 05-Ldap

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

Propuesta con OpenLDAP

Solaris

Windows

Username: bmackayPassword: hockey1

Linux

Linux con OpenLDAP

Módulos: nss_ldap, pam_ldap

AIX

¡Problema Solucionado!• 1 identidad de usuario• 1 herramienta de Admin.• 1 almacenamiento de claves

¡Problema Solucionado!• 1 identidad de usuario• 1 herramienta de Admin.• 1 almacenamiento de claves

Page 18: 05-Ldap

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

Ambientes Ideales

Utilización de un ambiente mixto UNIX y Windows

Busqueda de un ambiente heterogéneo seguro

Cambios o rotación de personalManejo de 50+ usuarios UNIX/Linux

Page 19: 05-Ldap

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

Mensajes Claves

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

Page 20: 05-Ldap

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

Casos de Exito

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á

Page 21: 05-Ldap

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

LDAP

Page 22: 05-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 que permite gestionar información jerarquica para mantenerla actualizada y disponible en la red

LDAP = Lightweight Directory Access Protocol

Es una versión simplifada del pesado X.500 DAP protocol del modelo OSI de 1990

Page 23: 05-Ldap

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

Qué es LDAP 2 de 2

LDAP ver 1 nació en julio de 1993 con el RFC 1487

La información se guarda en una BD de tipo jerarquica

El promedio de lectura en la BD es mayor a la de escritura

Page 24: 05-Ldap

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

Para que sirve LDAP 1 de 2

Si usted es un administrador: Se puede administrar en forma centralizada usuarios, grupos, dispositivos

Usted pueden aislar las aplicaciones de los directorios ej: correo electrónico

Si usted es un IT manager: Le permite renunciar a estar amarrado a un solo proveedor y/o sistema operativo

Disminuye costos. Baja el TCO al reducir el total de distintos directorios que se necesitan administrar

Page 25: 05-Ldap

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

Para que sirve LDAP 2 de 2

Si usted es un desarrollador: Le permite renunciar a estar

amarrado a un solo proveedor y/o sistema operativo

Ahorra tiempo de desarrollo ya que no debe desarrollar otravez su propio sistema de directoros para usuarios, grupos, objetos, etc

Page 26: 05-Ldap

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

Es un protocolo orientado a mensajes Hay dos clases de directorios los estáticos

y los dinámicos 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

Page 27: 05-Ldap

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

Arquitectura 2 de 2

Online directories: Cambian en forma dinámica, deben ser

flexibles, deben ser seguros, y deben personalizarse al gusto del usuario

Debe ser actualizado por el usuario dueño de la información

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

Page 28: 05-Ldap

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

Productos Comerciales

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

Page 29: 05-Ldap

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

Competidores de respeto

iPlanet de NetscapeeDirectory de NovellNovell directoryActive directory de Microsoft

Page 30: 05-Ldap

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

Website: www.openldap.org

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

Es heredado de la versión 3.3 de la Univ.Michigan

A julio de 2004 la version actual es la OpenLDAP 2.2.14

Page 31: 05-Ldap

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

API para desarrollar en C

Para compilar en C se debe incluir el API# include <ldap.h>Algunos comandos asincronicos:

ldap_search(), ldap_compare(), ldap_bind(), ldap_unbind(), ldap_modify(), ldap_add(), ldap_delete(), ldap_rename(), ldap_result().

# man ldap# man slapd

Page 32: 05-Ldap

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 Código ASCII que se puede pasar como

mensajes de e-mail (8 bit clean) Una entrada LDIF está formada por varias

lineas Inicia con la palabra “DN”, seguido del nombre

único que identifica la línea ó entrada en la BD

Page 33: 05-Ldap

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

Formato de presentacion 2 de 2

El registro DN debe ocupar una sola línea

Luego siguen los atributos de la entradaCada atributo debe ir en una línea

diferenteCada atributo de estar seguido por el

signo “:” y acontinuación su valor

Page 34: 05-Ldap

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

Ejemplo

dn:o=Acis,c=COo:Acisobjectclass:organization dn: cn=Juana La Loca, o=Acis, c=COcn: Juana La Locasn: La LocatelephoneNumber: 781 784 7547objectclass:inetOrgPerson

Page 35: 05-Ldap

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

Explicación

Dn: significa distinguished (Distinguido)ObjectClass: (Tipo de objeto)Cn: significa Common name (Nombre

Comun)Sn: significa surname (Apellido)Telephonenumber: (Número de tel)Uid: Cuenta del usuariouserPassword: Clave del usuarioMail: (e-mail del usuario)

Page 36: 05-Ldap

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

Explicación

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

empresa)C: significa country (pais)Es decir primero se tiene un tipo de

atributo y en seguida el valor del atributoMás información ver archivo slapd.conf

Page 37: 05-Ldap

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

Explicación

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.schema

Page 38: 05-Ldap

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

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…

!!!.CONCURSO MILLONARIO.!!!

Page 39: 05-Ldap

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

Archivos de configuración

Page 40: 05-Ldap

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

Archivos de configuración:Proceso servidor slapd

El proceso servidor en binario de ldap se llama: slapd

Escucha por el puerto tcp 389slapd significa: Stand-alone LDAP

DaemonEn tiempo de boot se arranca por

/etc/init.d/ldap

Page 41: 05-Ldap

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

Configuración

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

Ambiente por defecto /etc/openldap/ldap.conf

Directorio de datos: /var/lib/openldap

Page 42: 05-Ldap

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

Archivos de configuración: slapd.conf

# 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_v2

Page 43: 05-Ldap

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 usuarios

password-hash {SSHA} # Donde formato puede ser algún algoritmo de

cifrado simétrico como: {SSHA}, {SHA}, {SMD5}, {MD5}, {CRYPT}, {CLEARTEXT}

Page 44: 05-Ldap

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

Slapd.conf

# 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

Page 45: 05-Ldap

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

Slapd.conf

# Este es la base del registro para el administrador

rootdn cn=root, o=Acis, c=CO # Este es el password del administrador rootpw

{SSHA}msyaU45hcXmiq8ahe9OkewOCKKA4A5EY

Page 46: 05-Ldap

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

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}, {SHA}, {SMD5}, {MD5}, {CRYPT}, {CLEARTEXT}

Page 47: 05-Ldap

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 plano entonces ya conocerá la clave del administrador

Se recomienda en cambio el algoritmo más fuerte {SSHA}

Page 48: 05-Ldap

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:

HOST 127.0.0.1 BASE o=Acis, c=CO PORT 389

Page 49: 05-Ldap

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

Archivo de de datos: ldif

dn: o=Acis,c=CO o: Acis postalAddress: Calle 93 con 13A objectclass: organization dn: cn=Juana La Loca, o=Acis, c=CO cn: Juana La Loca sn: La Loca description: Soporte en Windows uid: acarvaja userPassword:{SSHA}msyaU45hcXmiq8ahe9OkewOCKKA4A5EY displayname:Armando Carvajal - sistemas mail: [email protected] carLicense: 77036182 homePhone: 571 528 3101 objectclass:inetOrgPerson

Page 50: 05-Ldap

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

Comandos: 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

Page 51: 05-Ldap

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 archivo, digite:

# slappasswd –h metodo de cifrado Para cifrar el password del cliente al servidor,

digite: # stunnel –c –d 389 –r localhost:636

Page 52: 05-Ldap

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

Otros comandos:

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

Page 53: 05-Ldap

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

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/rc2.d/K55ldap

4. /etc/openldap/slapd.conf

5. /etc/rc.d/rc5.d/S99ldap

!!! CONCURSO MILLONARIO.!!

Page 54: 05-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, 1999, Netscape Communications Corporation, First Edition

Implementing LDAP, Marck Wilcox, Editorial Wrox

www.ldapguru.com www.openldap.org

Page 55: 05-Ldap

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