0% encontró este documento útil (0 votos)
136 vistas46 páginas

Instalar OpenLDAP en Ubuntu 12.04

Este documento describe los pasos para instalar y configurar OpenLDAP en un servidor Ubuntu, incluyendo instalar los paquetes necesarios, configurar la autenticación para clientes, y configurar el demonio SLAPD. Se explican 11 pasos detallados como instalar OpenLDAP, modificar archivos de configuración, y establecer parámetros para el demonio SLAPD.

Cargado por

Exactas
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
136 vistas46 páginas

Instalar OpenLDAP en Ubuntu 12.04

Este documento describe los pasos para instalar y configurar OpenLDAP en un servidor Ubuntu, incluyendo instalar los paquetes necesarios, configurar la autenticación para clientes, y configurar el demonio SLAPD. Se explican 11 pasos detallados como instalar OpenLDAP, modificar archivos de configuración, y establecer parámetros para el demonio SLAPD.

Cargado por

Exactas
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

11.7.

Instalar y configurar
OpenLDAP en el servidor Ubuntu
17 agosto, 2013 · by P. Ruiz · in Sistemas Operativos en Red

En este apartado vamos a ver cómo se instala OpenLDAP en un equipo con el sistema
operativo Ubuntu 12.04 LTS. También supondremos que el sistema dispone del
sistema de archivos NFS debidamente instalado y configurado para exportar la carpeta
/home (te recomiendo revisar el capítulo 10: Instalar y configurar NFS en
Ubuntu para refrescar conocimientos).

Para llevar a cabo nuestro cometido, realizaremos las siguientes tareas:

o Instalar los paquetes necesarios.

o Realizar la configuración básica de OpenLDAP

o Configurar la autenticación para los clientes

o Configurar el demonio SLAPD

o Crear la estructura del directorio

o Añadir un usuario y un grupo

o Comprobar que todo es correcto

En los siguientes apartados, aprenderemos a configurar los equipos cliente para


autenticarse con LDAP.

Instalar OpenLDAP en el servidor


El proceso de instalación es realmente sencillo. Básicamente consiste en instalar el
paquete slapd, aunque nosotros también instalaremos el paquete que contiene las
utilidades de administración de LDAP: ldap-utils.

Como ambos paquetes se encuentran en los repositorios oficiales de Ubuntu, sólo


tenemos que escribir en la terminal la siguiente orden:

sudo apt-get install slapd ldap-utils

1
Como de costumbre, el sistema nos solicita la contraseña de administración.
Durante la instalación, aparece en la consola un mensaje que nos solicita la
contraseña de administración para LDAP. Como siempre, deberá ser una contraseña
segura.

Si consideras que la contraseña local cumple los requisitos, no hay ningún


inconveniente para volver a usarla, aunque serás tú quien deba evaluar este aspecto
en función de los requisitos de seguridad de tu entorno.

2
Cuando terminemos de escribir, pulsaremos la tecla Intro.
Como suele ocurrir cuando escribimos una contraseña, para evitar que hayamos
cometido algún error tipográfico que después nos impida entrar, el sistema nos pide
que volvamos a escribirla.

3
Cuando acabemos, volvemos a pulsar la tecla Intro.
Al hacerlo, volveremos al aspecto normal de la terminal y comprobaremos que la
instalación sigue su curso.

4
Poco después, el proceso de instalación habrá terminado.
De forma predeterminada, slapd se configura con las mínimas opciones necesarias
para que el demonio funcione de forma correcta.

Realizar la configuración básica de OpenLDAP


Comenzaremos por modificar el contenido del archivo /etc/hosts. El objetivo es
que, cuando hagamos referencia a los
nombres ldapserver o [Link], nuestro sistema entienda que nos
estamos refiriendo al servidor (quizás sería oportuno cambiar también el nombre del
servidor, como hicimos en el capítulo 10: Instalar y configurar NFS en Ubuntu, pero,
por el momento, no resulta imprescindible).

1
Abrimos el archivo /etc/hosts usando el editor nano.
Dentro del archivo, añadimos una nueva línea que relacione la dirección IP estática del
servidor con los nombres lógicos que tenemos previsto utilizar.

2
Cuando acabemos, pulsamos Ctrl + x para salir y nos aseguramos de guardar
los cambios en el archivo.
El nombre NSS proviene de las siglas, en inglés, Name Service Switch.

A continuación, instalaremos la librería NSS para 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.).

Conseguirlo es tan sencillo como instalar el paquete libnss-ldap.

3
Instalamos el paquete con privilegios de superusuario.
Una de las dependencias del paquete libnss-ldap es el paquete de configuración de la
autenticación de LDAP (ldap-auth-config). Durante su instalación se iniciará un
asistente que nos irá solicitando la información que necesita para su correcta
configuración.

En el primar paso, nos solicita la dirección URi del servidor LDAP. Es importante dejar
el principio tal y como lo encontramos (ldapi:///).

4
Cuando completemos la dirección IP, pulsaremos la tecla Intro. También podemos
usar la tecla <Tabulador> para desplazarnos hasta la palabra <Aceptar>.
A continuación escribiremos el nombre global único (Distinguished Name – DN)
siguiendo las indicaciones que vimos al principio de este capítulo
(dc=somebooks,dc=local)

5
Cuando acabemos, volvemos a pulsar la tecla Intro.
En el siguiente paso, indicaremos la versión del protocolo LDAP que vamos a utilizar.
Salvo que dispongamos en nuestra red de clientes muy antiguos, lo normal será elegir
el valor más alto.

6
Cuando acabemos, pulsamos de nuevo la tecla Intro.
A continuación, indicaremos si las utilidades que utilicen PAM deberán comportarse
del mismo modo que cuando cambiamos contraseñas locales. Esto hará que las
contraseñas se guarden en un archivo independiente que sólo podrá ser leído por el
superusuario.

7
Elegimos la opción Yes y pulsamos la tecla Intro.
A continuación, el sistema nos pregunta si queremos que sea necesario identificarse
para realizar consultas en la base de datos de LDAP.

8
Elegimos la opción No y volvemos a pulsar la tecla Intro.
Ya sólo nos queda indicar el nombre de la cuenta LDAP que tendrá privilegios para
realizar cambios en las contraseñas. Como antes, deberemos escribir un nombre
global único (Distinguished Name – DN) siguiendo las indicaciones que vimos al
principio de este capítulo (cn=admin,dc=somebooks,dc=local)

9
Después de escribir el nombre adecuado, pulsaremos la tecla Intro.
En el último paso, el asistente nos solicita la contraseña que usará la cuenta anterior
(como siempre, habrá que escribirla por duplicado para evitar errores tipográficos).
Deberá coincidir con la que escribimos en el apartado Instalar OpenLDAP en el
servidor.

10
Cuando terminemos de escribir la contraseña, pulsaremos la tecla Intro.
De vuelta en la pantalla de la terminal, podremos comprobar que no ha habido errores
durante el proceso.

11
Con esto habremos terminado la configuración básica de LDAP.
Si más adelante observamos algún error o necesitamos efectuar alguna modificación,
sólo tenemos que ejecutar el siguiente comando:

sudo dpkg-reconfigure ldap-auth-config

Configurar la autenticación para los clientes


Lo primero que haremos será utilizar auth-client-config, un script que nos ayuda a
modificar los archivos de configuración de PAM y NSS. Para conseguirlo, ejecutamos
el siguiente comando en la terminal:

sudo auth-client-config -t nss -p lac_ldap

Como puede verse, en nuestro caso hemos utilizado dos atributos:

o -t nss, con el que le indicamos que los archivos que vamos a modificar son los

correspondientes a NSS
o -p lac_ldap, con el que indicamos que los datos para la configuración debe

tomarlos del archivo lac_ldap. Este archivo se habrá generado durante la

ejecución de ldap-auth-config en el punto anterior.

1
Ejecutamos el comando en la terminal.

La ejecución de este comando no debe ofrecer ningún tipo de error. De lo contrario,


deberíamos repasar la configuración ejecutando de nuevo ldap-auth-config.

A continuación, deberemos actualizar la configuración de las políticas de autenticación


predeterminadas de PAM, lo que conseguimos con el siguiente comando:

sudo pam-auth-update
2
Escribimos el comando y pulsamos Intro.

Al ejecutarlo, aparecerá un asistente, que nos muestra una primera pantalla


informativa sobre la función de los módulos PAM.

3
Para continuar, pulsamos la tecla Intro.
En la siguiente pantalla, elegiremos cuáles de los módulos disponibles queremos
habilitar. De forma predeterminada aparecen todos marcados…

4
… Por lo tanto, nos limitamos a volver a pulsar la tecla Intro para volver a la terminal
Una vez acabada la configuración automática, podremos hacer algunos cambios
complementarios editando el archivo /etc/[Link]. Para lograrlo, recurriremos,
como siempre, al editor nano:

sudo nano /etc/[Link]

Una vez que se abra el editor, podremos ajustar algunos de los valores del
documento, pero, sobre todo, comprobaremos que son correctos los siguientes datos:

host [Link] base

dc=somebooks,dc=local

uri ldapi://[Link]/

rootbinddn cn=admin,dc=somebooks,dc=local
ldap_version 3

bind_policy soft

5
Sólo nos quedará pulsar Ctrl + x para salir y asegurarnos de guardar los
cambios en el archivo.

Con esto habremos terminado la configuración del servidor LDAP. Ahora está listo
para autenticar usuarios. Sin embargo, aún nos queda establecer el comportamiento
del demonio SLAPD.

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.
Como hemos dicho más arriba, el último paso en la configuración del servidor LDAP
será establecer algunos parámetros en la configuración de este demonio. Para
conseguirlo, ejecutaremos el siguiente comando:

sudo dpkg-reconfigure slapd

1
Como es habitual, el comando deberá ejecutarse con privilegios de superusuario.

Aparecerá un asistente cuyo cometido es evitar que tengamos que cambiar a mano el
archivo [Link].

La primera pantalla que se muestra, actúa como medida de seguridad, para


asegurarse de que no hacemos cambios por error. Hay que tener cuidado porque la
pregunta se hace al revés, es decir, nos pregunta si queremos omitir la configuración
del servidor (imagino que el objetivo será impedir que elijamos Sí sin pensar lo que
hacemos). En este caso, lógicamente, deberemos elegir la opción No.
2
Elegimos la opción <No> y pulsamos la tecla Intro.

Recuerda que puedes usar la tecla <tabulador> para cambiar de opción.

A continuación, deberemos escribir el nombre DNS que utilizamos para crear el DN


base (Distinguished Name) del directorio LDAP.

3
En nuestro caso, escribiremos [Link] y pulsaremos la tecla Intro.
Después, escribiremos el nombre de la entidad en la que estamos instalando el
directorio LDAP.

4
Para este ejemplo, escribiremos SomeBooks y pulsaremos la tecla Intro.
En el siguiente paso, deberemos escribir la contraseña de administración del
directorio.

5
La contraseña debe coincidir con la que escribimos en el apartado Instalar OpenLDAP
en el servidor
6
Como es habitual, deberemos escribirla dos veces papa evitar errores tipográficos.
A continuación, elegiremos el motor de la base de datos que usaremos para el
directorio. Se recomienda HDB porque nos permitirá, en el futuro, cambiar los nombres
de los subárboles si fuese necesario.

Si HDB no aparece elegida de forma predeterminada, saremos la


tecla <tabulador> para desplazarnos.

7
Cuando sea correcto, pulsamos la tecla Intro.
Lo siguiente que nos pregunta el asistente es si queremos que se borre la base de
datos anterior del directorio cuando terminemos la configuración de slapd.

8
Igual que antes, usamos la tecla <tabulador> para elegir No y pulsamos Intro.
A continuación, como hemos decidido no borrar la base de datos antigua, el asistente
nos pregunta si queremos cambiarla de sitio.

9
Para evitar confusiones entre las dos bases de datos (nueva y antigua), elegiremos la
opción Sí y pulsaremos Intro.
En algunas redes, con clientes muy antiguos, puede ser necesario mantener la versión
2 del protocolo LDAP. Por ese motivo, antes de terminar, el asistente nos pregunta
queremos permitir el protocolo LDAPv2.

10
En la mayoría de los casos, la respuesta será No.
Después de este último paso, se cierra el asistente y volvemos a la consola.

11
Ahora podemos ver en la pantalla que la base de datos antigua se ha guardado
en /var/backups y que el resto de la configuración se ha realizado con éxito.
Con esto habremos terminado la configuración del servidor LDAP. Ahora está listo
para autenticar usuarios.

Crear la estructura del directorio


Una vez configurado el servidor, deberemos configurar la estructura básica del
directorio. Es decir, crearemos la estructura jerárquica del árbol (DIT – Directory
Information Tree).

Una de las formas más sencillas de añadir información al directorio es utilizar archivos
LDIF (LDAP Data Interchange Format). En realidad, se trata de archivos en texto
plano, pero con un formato particular que debemos conocer poder construirlos
correctamente

El formato básico de una entrada es así:

# comentario

dn: <nombre global único>


<atributo>: <valor>

<atributo>: <valor>

...

Puedes encontrar más información en la página oficial


de OpenLDAP: [Link]
ext%20entry%20format

Las líneas que comienzan con un carácter # son comentarios.

<atributo> puede ser un tipo de atributo como cn o objectClass, o puede incluir


opciones como cn;lang_en_US o userCertificate;binary.

Entre dos entradas consecutivas debe existir siempre una línea en blanco.

Si una línea es demasiado larga, podemos repartir su contenido entre varias, siempre
que las líneas de continuación comiencen con un carácter de tabulación o un espacio
en blanco.

Por ejemplo, las siguientes líneas son equivalentes:

dn: uid=jlopez, ou=medio, dc=somebooks, dc=es

dn: uid=jlopez, ou=medio,

dc=somebooks, dc=es

También podemos asignar varios valores a un mismo atributo utilizando varias líneas:

cn: Juan Jose Lopez

cn: Juan Lopez

Con esta información en mente, crearemos un archivo que contenga los tipos de
objeto básicos del directorio. Comenzaremos por abrir un editor de textos, por
ejemplo nano, indicándole el nombre de nuestro archivo:
sudo nano ~/[Link]

1
Aquí lo hemos llamado [Link], pero, lógicamente, podrás llamarlo como te resulte
más apropiado.

Una vez abierto el editor, escribiremos un contenido como este:

dn: ou=usuarios,dc=somebooks,dc=local

objectClass: organizationalUnit

ou: usuarios
dn: ou=grupos,dc=somebooks,dc=local

objectClass: organizationalUnit

ou: grupos

Lógicamente, en cada lugar donde aparecen los


valores dc=somebooks,dc=local deberemos sustituirlos por los valores correctos en
cada implementación.

2
Cuando hayamos terminado de escribirlo, sólo nos quedará pulsar Ctrl + x para
salir y asegurarnos de guardar los cambios en el archivo.

A continuación, deberemos añadir la información a la base de datos OpenLDAP. Como


sabemos, esto se hace con el comando ldapadd:

sudo ldapadd -x -D cn=admin,dc=somebooks,dc=local -W -f


[Link]
3
Para ejecutar el comando, deberemos escribir la contraseña de administración
de LDAP.

Después, podremos comprobar que los nuevos objetos se han añadido correctamente.

Añadir un usuario y un grupo


El método para añadir nuevos usuarios y grupos al árbol es muy similar a lo visto en el
punto anterior, ya que consiste en crear un nuevo archivo ldif y, a continuación,
integrarlo en la base de datos con ldapadd.

Añadir un usuario
Para añadir un nuevo usuario, recurriremos, como hasta ahora, al editor nano:

sudo nano ~/[Link]


1
Abrimos el editor de textos indicándole el nombre del archivo que vamos a crear.

Por supuesto, puedes cambiar el nombre [Link] por el que te resulte más
adecuado en tu caso.

En el área de trabajo del editor, escribiremos un contenido como este:

dn: uid=jlopez,ou=usuarios,dc=somebooks,dc=local

objectClass: inetOrgPerson

objectClass: posixAccount
objectClass: shadowAccount

uid: jlopez

sn: Lopez

givenName: Juan

cn: Juan Lopez

displayName: Juan Lopez

uidNumber: 1000

gidNumber: 10000

userPassword: mi_password

gecos: Juan Lopez

loginShell: /bin/bash

homeDirectory: /home/jlopez

shadowExpire: -1

shadowFlag: 0

shadowWarning: 7

shadowMin: 8

shadowMax: 999999

shadowLastChange: 10877

mail: [Link]@[Link]

postalCode: 29000
o: somebooks

initials: JL

2
Cuando hayamos terminado de escribirlo, sólo nos quedará pulsar Ctrl + x para
salir y asegurarnos de guardar los cambios en el archivo.

Con esto ya estamos listos para cargar el nuevo usuario en el directorio. Sólo tenemos
que escribir el siguiente comando:

sudo ldapadd -x -D cn=admin,dc=somebooks,dc=local -W -f


[Link]
3
Después de escribir la contraseña de administración de LDAP, podremos comprobar
que el usuario se ha añadido correctamente.

Añadir un grupo
Para añadir el grupo, repetimos de nuevo el proceso anterior:

sudo nano ~/[Link]

1
Abrimos el editor de textos indicándole el nombre del archivo que queremos crear
Una vez abierto el editor, escribiremos este contenido:

dn: cn=SMR2,ou=grupos,dc=somebooks,dc=local

objectClass: posixGroup

cn: SMR2

gidNumber: 10000

2
Cuando esté listo, pulsamos Ctrl + x para salir y nos aseguramos de guardar los
cambios en el archivo.
De vuelta en la terminal, usamos de nuevo el comando ldapadd:

sudo ldapadd -x -D cn=admin,dc=somebooks,dc=local -W -f


[Link]

3
Después de escribir la contraseña de administración de LDAP, podremos comprobar
que el grupo se ha añadido correctamente.
Con esto, ya tendremos en la base de datos un nuevo usuario y un nuevo grupo.

Cuando añadas nuevos usuarios, recuerda que los valores para los
atributos uidNumber y homeDirectory deben ser diferentes para cada usuario.
También habrá que sustituir el texto mi_password por la contraseña adecuada para
el usuario.

Lo mismo ocurre con el atributo gidNumber de los grupos.

Además, los valores de los campos uidNumber y gidNumber no deben coincidir con
el UID y GID de ningún usuario y grupo local.

Comprobar que todo es correcto


Ahora podemos comprobar que el contenido anterior se ha añadido correctamente.
Para lograrlo podemos utilizar, por ejemplo, el comando ldapsearch , que nos permite
hacer una búsqueda en el directorio.:
ldapsearch -xLLL -b "dc=somebooks,dc=local" uid=jlopez sn
givenName cn

En este ejemplo buscamos un usuario con uid=jlopez y pedimos que nos muestre
el contenido de los atributos sn, givenName y cn.

1
… Y este será el resultado de la consulta.

Otra opción interesante para comprobar el contenido del directorio es utilizar el


comando slapcat. Su cometido es mostrar el contenido completo del directorio LDAP.
Además, esta información se obtiene en formato LDIF, lo que nos permitirá volcarla a
un fichero y exportar la base de datos de un modo muy sencillo.

En nuestro caso, nos limitaremos a obtener la salida en la pantalla:


2
Ejecutamos el comando slapcat con privilegios de superusuario.

3
Puedes utilizar la barra de desplazamiento para ver el contenido completo del archivo.

También podría gustarte