Open LDAP

17
0 OPENLDAP CON UBUNTU SERVER ÍNDICE PÁG 1. Objetivo de la práctica ................................................................................. 1 2. Diagrama de la práctica ............................................................................... 1 3. Introducción a OpenLDAP ........................................................................... 2 4. Instalación.................................................................................................... 4 4.1 Configurar el demonio SLAPD ............................................................... 5 4.2 Estructura de directorios .......................................................................6 4.3 Añadir Usuarios y Grupos ...................................................................... 7 5. Instalación de phpLDAPadmin ....................................................................9 6. Configuración del Cliente........................................................................... 11 7. Comprobación ........................................................................................... 14

Transcript of Open LDAP

0

OPENLDAP CON

UBUNTU SERVER

ÍNDICE PÁG

1. Objetivo de la práctica ................................................................................. 1

2. Diagrama de la práctica ............................................................................... 1

3. Introducción a OpenLDAP ........................................................................... 2

4. Instalación.................................................................................................... 4

4.1 Configurar el demonio SLAPD ............................................................... 5

4.2 Estructura de directorios ....................................................................... 6

4.3 Añadir Usuarios y Grupos ...................................................................... 7

5. Instalación de phpLDAPadmin .................................................................... 9

6. Configuración del Cliente ........................................................................... 11

7. Comprobación ........................................................................................... 14

1

1. OBJETIVO DE LA PRÁCTICA

Se pretende implantar un sistema de autenticación centralizada de usuarios para

sistemas Linux. El objetivo es disponer de un directorio de usuarios en un sistema

Linux con distribución orientada a servidor.

Se deberá configurar un cliente Linux con distribución orientada a cliente. El

inicio de sesión en el cliente deberá ser posible con usuarios del directorio

centralizado.

Recursos: implantación LDAP sencilla basada en OpenLDAP

Se presentará un informe de las configuraciones realizadas.

2. DIAGRAMA DE LA PRÁCTICA

Nos hará falta un controlador de dominio (vellido.com). Los clientes en la misma

red se conectarán mediante LDAP.

2

3. INTRODUCCIÓN A OPENLDAP

LDAP es un protocolo que se basa en directorios. Hace la misma utilidad que un

Active Directory, pero en Sistemas Operativos de Linux.

Siempre con algunas diferencias y métodos diferentes de configuración, pero la

función que hace es la misma.

Cada entrada de un directorio representa un objeto. Es decir, puede ser una

persona, una función, un grupo, etc.

Existen los atributos con un valor que permite definir el objeto. Existen dos tipos

de atributos:

Atributos normales: Identifican a un objeto (nombre, apellido, etc).

Atributos operativos: Son los que utiliza el servidor para administrar el

directorio (fecha de creación, tamaño).

Los atributos más importantes:

uid (user id): Identificación única de la entrada en el árbol.

objectClass: Indica el tipo de objeto al que pertenece la entrada.

cn (common name): Nombre de la persona representada en el objeto.

givenname: Nombre de pila.

sn (surname): Apellido de la persona.

o (organization): Entidad a la que pertenece la persona.

u (organizational unit): El departamento en el que trabaja la persona.

mail: dirección de correo electrónico de la persona.

3

Nuestro árbol de directorios sería de esta forma:

4

4. INSTALACIÓN

Para instalar LDAP necesitaremos algunas herramientas: apt-get install slapd

ldap-utils.

Realizaremos la configuración básica, como agregarle el nombre de nuestro DC

(vellido.com), la contraseña del Administrador, etc.

Editaremos el archivo hosts y añadiremos el nombre de nuestro dominio.

También pondremos la IP del cliente. Este método es para facilitar la conexión

entre ordenadores y no tener que instalar DNS.

Después se instalarán una lista de paquetes: libnss-ldap

Esta librería ofrece una interfaz para acceder y configurar distintas bases de

datos utilizadas para almacenar cuentas de usuario (entre otras, /etc/passwd,

/etc/group, /etc/hosts, LDAP, etc.).

Otras como:

ldap-auth-config (configuración de la autenticación de LDAP).

pam-auth-update (políticas de autenticación).

Para cambiar la configuración podemos utilizar este comando:

dpkg-reconfigure ldap-auth-config.

5

Una vez acabada la configuración automática, podremos hacer algunos cambios

complementarios editando el archivo /etc/ldap.conf

Podemos ver como vellido.com está especificado como nuestro DC con nuestro

dominio (.com). Además, la IP del Servidor LDAP, mas la versión (3).

4.1 CONFIGURAR EL DEMONIO SLAPD

SLAPD (Standalone LDAP Daemon) es un programa multiplataforma, que se

ejecuta en segundo plano, atendiendo las solicitudes de autenticación LDAP que

se reciban en el servidor. El último paso en la configuración del servidor LDAP

será establecer algunos parámetros en la configuración de este demonio. Para

volver a configurarlo ejecutamos el comando que hemos comentado antes

(dpkg-reconfigure slapd).

Aparecerá un asistente para poder configurar las opciones de nuevo.

Agregaremos el dombre de dominio: vellido.com

El nombre de la organización: Vellido

La contraseña del administrador:

El motor de base de datos: HDB.

6

4.2 ESTRUCTURA DE DIRECTORIOS

En este punto se crearán los directorios pertinentes para que se pueda añadir la

información mediante archivos LDIF (LDAP Data Interchange Format).

Básicamente archivos en texto plano.

El primer archivo que crearemos se llamará "base.ldif".

Con esta información, crearemos un archivo que contenga los tipos de objeto

básicos del directorio.

Deberemos añadir la información a la base de datos OpenLDAP:

sudo ldapadd -x -D cn=admin,dc=vellido,dc=com -W -f base.ldif

7

4.3 AÑADIR USUARIOS Y GRUPOS

A pesar de que cuando se realice toda la configuración ya podremos añadir

usuarios desde PHPLDAPmyadmin, nosotros lo haremos desde modo comando

para realizar las primeras pruebas.

Crearemos el archivo usuario.ldif.

Y se añadirá:

Haremos lo mismo con el grupo.ldif:

8

Y se añadirá:

Se comprobará que todo es correcto:

Con el comando slapcat podemos comprobar el último contenido creado del

directorio:

9

5. INSTALACIÓN DE PHPLDAPADMIN

Se necesitará un cliente basado en interfaz web que permitirá administra de

forma sencilla el servidor LDAP desde cualquier navegador web.

phpLDAPadmin dispone de una vista con forma de árbol jerárquico que permite

recorrer toda la estructura del directorio. Además, incorpora funciones de

búsqueda avanzadas que lo convierten en una herramienta intuitiva para

consultar y administrar el directorio LDAP.

con el comando: apt-get install phpldapadmin -y.

Accederemos al servidor poniendo la ip + phpldapadmin:

http://192.168.1.20/phpldapadmin/

10

Para no tener problemas y que nos aparezca “example.com” tendremos que

cambiar una línea del archivo /etc/phpldapmyadmin/config.php y agregar el

nombre de nuestro servidor.

Y ya se podrá autenticar desde el dominio vellido.com:

11

6. CONFIGURACIÓN DEL CLIENTE

Los clientes necesitarán unos pasos previos para poder funcionar con nuestro

dominio.

Primero de todo instalaremos los siguientes paquetes:

libpam-ldap: Que facilitará la autenticación con LDAP a los usuarios que

utilicen PAM.

libnss-ldap: Permitirá que NSS obtenga de LDAP información

administrativa de los usuarios (Información de las cuentas, de los grupos,

información de la máquina, los alias, etc.

nss-updatedb: Mantiene una caché local del de la información del usuario y

grupo en el directorio LDAP.

libnss-db: Incluye extensiones para usar bases de datos de red.

nscd: Es un demonio que ofrece una caché para muchas de las peticiones

mś frecuentes del servicio de nombres.

ldap-utils: Facilita la interacción don LDAP desde cualquier máquina de la

red.

Colocaremos la IP del servidor en el ldap-auth-config. También nos hará indicar el

DC=vellido. Más tarde editaremos el archivo /etc/ldap.conf y cambiaremos una

serie de líneas quedando de esta manera:

bind_policy soft = Con esta configuración no habrá alta disponibilidad. Es

decir, cambiando la "soft" por "hard" entonces podríamos hacer un sistema

más seguro y en caso de que se cayera el primer LDAP, iría a un segundo.

12

pam_password crypt = Le cambiamos el tipo de encriptación. Le quitamos

el md5.

uri ldap://192.168.1.20 = La ip del servidor.

También editaremos el archivo /etc/ldap/ldap.conf:

Básicamente habrá que descomentar algunas líneas como BASE o URI para que

nuestro esté "en línea"

Editaremos también /etc/nsswitch.conf dejándolo de esta forma:

13

El cliente ya estaría configurado, pero si queremos que la carpeta se cree

automáticamente cuando el usuario inicie sesión por primera vez en un equipo,

deberemos hacer uso de un módulo PAM llamado pam_mkhomedir. Esto lo

conseguimos haciendo una pequeña modificación en el archivo

/etc/pam.d/common-session del cliente.

Agregamos esta línea al principio del archivo:

Otro inconveniente que tiene la configuración actual es que los usuarios LDAP no

podrán cambiar sus propias contraseñas. Para solucionarlo, deberemos cambiar

el archivo /etc/pam.d/common-password. En la línea que pone lo siguiente:

password [success=1 user_unknown=ignore default=die] pam_ldap.so

use_authtok try_first_pass

Quitando a partir de pam_ldap.so, quedaría de esta forma:

Por ultimo editaremos el archivo /etc/lightdm/lightdm.conf. Este archivo nos

permitirá logearnos con cualquier usuario desde Ubuntu. Ya que sólo incluye en

la lista aquellos usuarios que ya conoce.

Hasta aquí llegaría la configuración del equipo cliente.

session required pam_mkhomedir.so skel=/etc/skel/

umask=0022

password [success=1 user_unknown=ignore default=die]

pam_ldap.soumask=0022

14

7. COMPROBACIÓN

Ahora solo nos falta comprobar que el sistema es funcional.

Entrando desde terminal web creamos un usuario:

Nuestro usuario se llamará Derrick Rose (dr0se):

15

E iniciamos sesión:

La prueba para comprobar que el usuario se ha creado es utilizando el comando

"getent passwd".

Este comando devuelve la suma de todos los usuarios que se puedan validar en la

máquina.

16

Y el usuario (id):

Simplemente es una identificación.

Con pwd comprobamos que se ha creado el directorio personal:

Y hasta aquí llegaría la configuración de un sistema LDAP con la distribución

Ubuntu.

Josep Mª Vellido – ASIX2M

ASISOP – STUCOM 13/14