tutorial ldap

17
UNIVERSIDAD NACIONAL DE LOJA ´ Area de la Energ´ ıa, las Industrias y los Recursos Naturales no Renovables Carrera de Ingenier´ ıa en Sistemas TUTOR: Ing. Luis Chamba TEMA: LDAP NOMBRE: Gabriela Espinoza Magali Jim´ enez Pablo Ortega Carolina Palacios Junior S´ anchez MODULO: 9no Paralelo ”B” Loja - Ecuador 1

Upload: jrtoocool

Post on 07-Aug-2015

86 views

Category:

Documents


0 download

DESCRIPTION

Instalación y configuración de servidor LDAP en UBUNTU

TRANSCRIPT

Page 1: Tutorial LDAP

UNIVERSIDAD NACIONAL DE LOJA

Area de la Energıa, las Industrias y los RecursosNaturales no Renovables

Carrera de Ingenierıa en Sistemas

TUTOR:

Ing. Luis Chamba

TEMA:

LDAP

NOMBRE:

Gabriela EspinozaMagali JimenezPablo OrtegaCarolina PalaciosJunior Sanchez

MODULO:

9no Paralelo ”B”

Loja - Ecuador

1

Page 2: Tutorial LDAP

1. DEFINICION DE LDAP.

LDAP significa Protocolo Ligero para Acceder al Servicio de Directorio,esta implementacion se basa en el estandar X.500, el cual es un conjunto deestandares de redes de computadoras de la ITU-T sobre el servicio de directo-rios.

LDAP se ejecuta sobre TCP/IP o sobre otros servicios de transferencia ori-entado a conexion; que permite el acceso a la data de un directorio ordenadoy distribuido para buscar informacion ademas LDAP es una base de datos es-pecializada, LDAP esta optimizada para hacer busquedas es decir leer datos ylas lecturas de estos datos se realizan de manera mucho mas frecuente que lasescrituras ya que toda la informacion es almacenada en una estructura de arbol.

2. FUNCIONAMIENTO DE LDAP.

El servicio de directorio LDAP se basa en un modelo cliente-servidor. Uno omas servidores LDAP contienen los datos que conforman el arbol del directorioLDAP o base de datos troncal. el cliente ldap se conecta con el servidor LDAPy le hace una consulta. El servidor contesta con la respuesta correspondiente, obien con una indicacion de donde puede el cliente hallar mas informacion quenormalmente es otro servidor LDAP. No importa con que servidor LDAP seconecte el cliente pero siempre observara la misma vista del directorio; el nom-bre que se le presenta a un servidor LDAP hace referencia a la misma entradaa la que hara referencia en otro servidor LDAP.

3. VENTAJAS DE LDAP.

Evita la duplicacion de datos, la estructura de datos obliga a que no existael mismo dato en dos lugares diferentes del esquema.

Permite la distribucion de la administracion, al igual que el servicio deDNS, la responsabilidad en la administracion de los datos de un arbol sepuede separar entre distintos equipos si es necesario.

Acepta niveles de acceso bien detallados, pudiendo definir polıticas deseguridad por cada nodo.

4. ¿COMO SE ALMACENA LA INFORMA-CION EN LDAP?

La informacion es ordenada en el modelo de LDAP en entradas, una entradaes una coleccion de atributos que tienen un unico Nombre Global Distinguido(DN). El DN se utiliza para referirse a una entrada sin ambiguedades. Cadaatributo de una entrada posee un tipo y uno o mas valores.

2

Page 3: Tutorial LDAP

Los tipos son normalmente palabras nemotecnicas, como “cn” para com-mon name, o “mail” para una direccion de correo. La sintaxis de los atributosdepende del tipo de atributo. Por ejemplo, un atributo cn puede contener elvalor “Carolina Palacios”. Un atributo email puede contener un valor “[email protected]”.

5. SLDAP (Servidor LDAP) en Ubuntu.

5.1. Pasos para la Instalacion de SLAPD.

1. Se ejecuta el siguiente comando:

# install slapd ldap-utils

2. Se confirma la ejecucion del comando.

3. Se introduce la clave del administrador del LDAP.

4. Se confirma la clave.

5.2. Reconfiguracion del Paquete SLAPD.

1. Se ejecuta el siguiente comando:

# dpkg-reconfigure slapd

El objetivo es reconfigurar el LDAP. No se puede omitir esta seccion.

2. Se configura el dominio.

3

Page 4: Tutorial LDAP

3. Se configura el nombre de la organizacion.

4. Se configura el password del administrador en LDAP.

5. Se confirma el password del administrador.

6. Se elige la base de datos.

7. Se selecciona que no se remueva la base de datos cuando se desinstale elSLAPD.

4

Page 5: Tutorial LDAP

8. Como se esta reconfigurando el SLAPD se hace una copia de la base dedatos anterior.

9. No se da soporte para la version 2 de LDAP.

Y con esto se termina la instalacion del LDAP.

6. Administracion de Usuarios.

En este apartado se mostrara como agregar un usuario al LDAP utilizandopara ello los ldif (LDAP Data Interchange Format). A continuacion se mostrara cuales la estructura de los ldif.

ldif para la creacion de una unidad organizacional “personas”. El nombredel archivo es personas.ldif.

dn: ou=personas,dc=unl,dc=edu,dc=ecou: personasobjectclass: organizationalUnit

6.1. Creacion de los Archivos ldif.

1. ldif para la creacion de una unidad organizacional “grupos”. El nombredel archivo es grupos.ldif

dn: ou=grupos,dc=unl,dc=edu,dc=ec

5

Page 6: Tutorial LDAP

ou: grupos

objectclass: organizationalUnit

2. ldif para la creacion de un grupo “usuarios”. El nombre del archivo esusuarios.ldif

dn: cn=usuarios,ou=grupos,dc=unl,dc=edu,dc=ec

objectclass: posixGroup

objectclass: top

cn: usuarios

userPassword: crypt*

gidNumber: 100

6.2. Agregar los Contenidos de los ldif.

Para agregar los contenidos de los ldif al LDAP se ejecutan los siguientescomandos.

#dapadd -x -W -D “cn=admin,dc=unl,dc=edu,dc=ec” -f personas.ldif#ldapadd -x -W -D “cn=admin,dc=unl,dc=edu,dc=ec” -f grupos.ldif#ldapadd -x -W -D “cn=admin,dc=unl,dc=edu,dc=ec” -f usuarios.ldif

Al ejecutar estos comandos se pedira el password del administrador LDAP.

Para revisar el resultado de la insercion se ejecuta el siguiente comando:

#ldapsearch -x -b “dc=unl,dc=edu,dc=ec”

6

Page 7: Tutorial LDAP

Se puede confirmar en la salida del comando anterior que la insercion de losanteriores ldif estan presentes en la estructura del arbol del LDAP.

6.3. Agregar Usuarios.

Se debe crear un ldif como se muestra a continuacion:

Nombre del archivo ldif espinozag.ldif

dn: uid=espinozag,ou=usuarios,dc=unl,dc=edu,dc=ecuid: espinozagcn: Gabriela EspinozaobjectClass: accountobjectClass: posixAccountobjectClass: topobjectClass: shadowAccountuserPassword: 12345678loginShell: /bin/bashuidNumber: 1001gidNumber: 100homeDirectory: /home/espinozag

Para agregar el nuevo usuario al nuevo arbol de LDAP se debe ejecutar elsiguiente comando:

#ldapadd -x -W -D “cn=admin,dc=unl,dc=edu,dc=ec” -fespinozag.ldif

7

Page 8: Tutorial LDAP

Para revisar el resultado de la insercion se ejecuta el siguiente comando:

#ldapsearch -x -b “dc=unl,dc=edu,dc=ec”

6.4. Eliminar Usuarios.

Para eliminar un usuario del arbol del directorio se debe crear un archivodel tipo ldif como se muestra a continuacion:

dn: uid=espinozag,ou=usuarios,dc=unl,dc=edu,dc=ecchangetype: delete

Se ejecuta el siguiente comando para eliminar un usuario del arbol LDAP:

#ldapmodify -x -D “cn=admin,dc=unl,dc=edu,dc=ec” -W -fborrar.ldif

Para revisar el resultado de la eliminacion se ejecuta el siguiente comando::

#ldapsearch -x -b “dc=unl,dc=edu,dc=ec”

6.5. Agregar Atributos.

Para agregar un atributo se debe crear un ldif como se muestra a contin-uacion. El nombre del ldif es add.ldif.

dn: uid=espinozag,ou=usuarios,dc=unl,dc=edu,dc=ecchangetype: addobjectclass: topobjectclass: personobjectclass: organizationalPersonobjectclass: inetOrgPerson

8

Page 9: Tutorial LDAP

cn: Gabriela Espinozasn: espinozagtelephonenumber: 0985847804

Se ejecuta la siguiente sintaxis:

#ldapmodify -x -D “cn=admin,dc=unl,dc=edu,dc=ec” -W -fadd.ldif

Para verificar el resultado se ejecuta la siguiente sintaxis:

#ldapsearch -x -b “dc=unl,dc=edu,dc=ec”

6.6. Modificar Atributos.

Para modificar un atributo se debe crear un ldif como se muestra a contin-uacion. El nombre ldif es modify.ldif.

dn: uid=espinozag,ou=usuarios,dc=unl,dc=edu,dc=ecchangetype: modifyreplace: telephonenumbertelephonenumber: 0993121694

Se ejecuta la siguiente sintaxis:

#ldapmodify -x -D “cn=admin,dc=unl,dc=edu,dc=ec” -W -fmodify.ldif

Para verificar el resultado se ejecuta la siguiente sintaxis:

#ldapsearch -x -b “dc=unl,dc=edu,dc=ec”

6.7. Eliminar Atributos.

Se debe crear un ldif como el que se muestra a continuacion, el nombre delarchivo ldif es del.ldif.

dn: uid=espinozag,ou=usuarios,dc=unl,dc=edu,dc=ecchangetype: modifydelete: telephonenumber

Se ejecuta la siguiente sintaxis:

#ldapmodify -x -D “cn=admin,dc=unl,dc=edu,dc=ec” -W -fdel.ldif

Para verificar el resultado se ejecuta la siguiente sintaxis:

#ldapsearch -x -b “dc=unl,dc=edu,dc=ec”

9

Page 10: Tutorial LDAP

6.8. Manejo de Contrasenas.

Primero se debe construir un password, para ello se utiliza el comando slap-passwd, el resultado se inserta en un archivo del tipo ldif para modificar elatributo password llamado change password.ldif.

#slappasswd -h CRYPT

El fichero change password.ldif contiene:

dn: uid=espinozag,ou=usuarios,dc=unl,dc=edu,dc=ecchangetype: modifyreplace: userPassworduserPassword: CRYPTMfvpC3Qt5OkmQ

Se ejecuta la siguiente sintaxis:

#ldapmodify -x -D “cn=admin,dc=unl,dc=edu,dc=ec” -W -fdel.ldif

7. Autenticacion de Clientes en LDAP.

Configurar la autentificacion del inicio de sesion para que conectecon el servidor LDAP.

Para que esto sea posible se debe instalar el paquete libnss-ldap:

sudo apt-get instalL libnss-ldap

Aparece la configuracion del paquete y se la realiza de la siguiente forma:

10

Page 11: Tutorial LDAP

11

Page 12: Tutorial LDAP

Despues se modifica el archivo /etc/nsswitch.conf anadiendo la palabraldap a continuacion de passwd, group y shadow :

Ya esta todo listo en el cliente para que la autentificacion sea posible. Ahorase debe modificar algunos archivos en el servidor.

Se debe modificar el archivo /etc/pam.d/common-auth insertando antesde la siguiente lınea:

auth [success=1 default=ignore] pam unix.so nullok secure

Esta otra lınea:

auth sufficient pam ldap.so use first pass

Quedarıa ası:

El siguiente fichero que se debe modificar es /etc/pam.d/common-accountinsertando antes de la siguiente lınea:

account [success=1 new authtok reqd=done default=ignore]pam unix.so

12

Page 13: Tutorial LDAP

Esta otra lınea:

account sufficient pam ldap.so nullok secure

El siguiente fichero ha modificar es /etc/pam.d/common-session inser-tando antes de la siguiente lınea:

session required pam unix.so

Esta otra:

session sufficient pam ldap.so

El ultimo archivo a modificar es /etc/pam.d/common-password anadi-endo antes de la siguiente lınea:

password [succes=1 default=ignore] pam unix.so obscure sha512

Esta otra:

password sufficient pam ldap.so

A continuacion reiniciamos servidor y cliente y ya esta configurada la aut-entificacion de inicio.

8. Configuracion de la Autenticacion en Moo-dle.

8.1. Configuracion del Servidor LDAP en Moodle.

Se inicia sesion como usuario “admin” y se ingresa en Administracion, luegoen Usuarios y finalmente en Autenticacion . En la lista desplegable titulada“Escoger un metodo de autenticacion:” se habilita la opcion “Usar un servidorLDAP”. Se obtiene una pagina donde se deben modificar los siguientes paramet-ros:

13

Page 14: Tutorial LDAP

14

Page 15: Tutorial LDAP

15

Page 16: Tutorial LDAP

Al final se guardan los cambios realizados.

16

Page 17: Tutorial LDAP

8.2. Carga de los Usuarios de LDAP a Moodle.

Se ejecuta en la consola del sistema el siguiente comando:

C:\xampp\php\php.exe -fC:\xampp\htdocs\moodle\auth\ldap\auth ldap sync users.php

Con lo cual se mostrara si los usuarios se han agregado correctamente:

Con esto se cargara el perfil de los usuarios que tengamos dados de alta ennuestro servidor LDAP.

9. Errores.

Warning: The PHP LDAP module does not seem to be present.Please ensure it is installed and enabled.

Esto normalmente significa que el dll ldap o uno de los dlls de soporte falta.

Se comienza con el dll principal(LDAP), para lo cual se usa el archivo de con-figuracion php.ini. Si no se sabe que php.ini se esta utilizando, se debe escribir enel navegador la siguiente direccion: http://(moodleserver)/admin/phpinfo.phpEj: http://localhost/moodle/admin/phpinfo.php

Luego se busca la ruta del php.ini y se lo abre. Se busca en el archivo lalınea ’extension=php ldap.dll’ y se quita el punto y coma en caso que este. Conel archivo todavıa abierto se busca ’extension dir’ (normalmente esta al iniciodel documento).

Se abre dicha carpeta y se debe asegurar que el archivo php ldap.dll esta pre-sente. Si no esta se debe copiarlo ahı. Para ver que dlls faltan se habre la consoladel sistema, se navega hasta el directorio de php y se ejecuta la lınea ’php -m’.Esto debe devolver un lista de los dlls que faltan o tienen problema.

Se busca los dll que esten en la lista y se los copia para el directorio de php.Se ejecuta el comando ’php -m’ otra vez y no debe devolver ningun error.

17