Beruflich Dokumente
Kultur Dokumente
características de L D A P .
/ Instalar y configurar O p e n L D A P .
• Planificar l a utilización del
dominio.
/ U t i l i z a r las diferentes
herramientas y utilidades del
sistema.
ADMINISTRACIÓN D E S I S T E M A S O P E R A T I V O S © RA-MA
INTRODUCCIÓN
L D A P (Lightweight Directory Access Protocol) e n u n protocolo de aplicación que permite el acceso a u n servicio
de directorio (dominio). L o s directorios con los que trabaja L D A P son de propósito general s i b i e n es u t i l i z a d o
comúnmente para almacenar información referente a organizaciones, usuarios, redes, etc.
L o s servidores L D A P u t i l i z a n sistemas de bases de datos como backend donde almacenar y gestionar las entradas
del directorio. Se puede d i v i d i r el árbol de directorios en subárboles de t a l m a n e r a que cada S e r v i d o r L D A P controle
u n subárbol por los siguientes casos:
E n L D A P se pueden d i s t i n g u i r cuatro modelos que representan los servicios que proporciona u n servidor L D A P
vistos por el cliente.
E l modelo de información establece l a e s t r u c t u r a y los tipos de datos que tiene el directorio: esquemas,
entradas, atributos, etc. Según este modelo u n directorio está formado por entradas e s t r u c t u r a d a s en forma
de árbol. C a d a e n t r a d a estará definida por u n conjunto de atributos y cada atributo esta compuesto por u n
nombre y s u valor.
E l modelo de asignación de nombres define cómo referenciar de forma única las entradas y los datos en el
árbol de directorios. C a d a e n t r a d a tendrá u n identificador único llamado D N (Distinguished Ñame). E l D N se
construye a p a r t i r de u n R D N (Relative Distinguished Ñame) que se compone de varios atributos de l a e n t r a d a,
seguido de los D N de sus ancestros.
E l modelo funcional establece las operaciones p a r a acceder a l árbol de directorio: autenticación, solicitudes
y actualizaciones.
Por último el modelo de seguridad establece los mecanismos que g a r a n t i z a para el cliente cómo probar s u
i d e n t i d a d (autenticación) y p a r a e l servidor cómo controlar el acceso (autorización).
Es multiplataforma.
•
Internacionalización mediante caracteres U T F - 8 y atributos de lenguaje.
Soporta extensiones en el protocolo y m u l t i t u d de bases de dalos como almacén de datos.
Contiene u n esquema de mapeo entre R a d i u s y O p e n L D A P .
Tiene mecanismos avanzados de búsqueda.
O p e n L D A P se puede descargar de l a página web oficial http: /1www.openldap.orgI. Los principales componentes
de O p e n L D A P son:
• s l a p d . E l servidor (demonio) p r i n c i p a l de L D A P
slurpd. E l servidor de replicación de L D A P . P e r m i t e sincroniza r v a r i a s replicas de u n s e r v i d o r L D A P .
• E l conjunto de librerías que i m p l e m e n t a el protocolo L D A P .
U n conjunto de h e r r a m i e n t a s , u t i l i d a d e s y clientes de ejemplo (http://asg.web.cmu.edu/sasl/scuil-library.
html).
INSTALACIÓN
P a r a i n s t a l a r O p e n L D A P debe disponer de los paquetes slapd y Idap-utils, el demonio servidor d e l directorio activo
y las utilidades p a r a l a administración de L D A P , respectivamente. P o r defecto, se configura slapd con u n conjunto de
opciones mínimas que g a r a n t i z a n el correcto funcionamiento del servidor. S i n embargo, es i m p o r t a n t e tener e n cuenta
que l a mayoría de aplicaciones y scripts requieren l a carga de schemas específicos o configuración a d i c i o n a l .
• UBUNTU
CONFIGURACIÓN
U n a vez instalado OpenLDAP es importante observar que en el directorio letclldapl len Fedora Ietc.Iopenldap)
se e n c u e n t r a n disponibles los ficheros de configuración del directorio activo así como los diferentes schemas y otra
información aplicable a l funcionamiento y dinámica del mismo.
También es important e recordar que puede iniciar, detener, o r e i n i c i a r el servicio, de l a siguiente forma:
A continuación se v a a configurar tanto del Backend (parte que i m p l i c a las directivas p a r a dinámicamente
configurar el demonio servidor slapd y las opciones par a poblar con información el directorio -Frontend) como del
Frontend de O p e n L D A P , desarrollando a l mismo tiempo un ejemplo que p e r m i t a conocer de forma s e n c i l l a en qué
consiste.
ADMINISTRACIÓN D E S I S T E M A S O P E R A T I V O S © RA-MA
I A C T I V I D A D E S 15.1
1. I n s t a l e y c o n f i g u r e e n e l s i s t e m a openttiap p a r a q u e s e e j e c u t e automáticamente.
Lo primero que debe hacer es d e t e r m i n a r l a raíz del árbol para e l directorio L D A P , n o r m a l m e n t e e l F Q D N (Fully
Qualified Domain Ñame) del dominio. Por ejemplo, para e l dominio miempresa.com, e l nodo raíz es d&=miempresa,
dc=com.
Por tanto, se r e a l i z a la carga de los ficheros schema para l a estructura que del directorio, disponibles en este caso en el
directorio creado en l a instalación de O p e n L D A P I'etc lldapl'schema I, ejecutando los siguientes comandos como root:
# l d a p a d d -Y EXTERNAL -H l d a p i : / / / - f /etc/ldap/schema/cosine.Idif
# l d a p a d d -Y EXTERNAL -H l d a p i : / / / - f /etc/ldap/scherna/nis. I d i f
# l d a p a d d -Y EXTERNAL -H l d a p i : / / / - f /etc/ldap/schema/inetorgperson.Idif
O 9 r root^mbuntu;/
U n a vez añadidos los esquemas a L D A P debe crear el fichero L D I F de configuración para l a c a r g a dinámica de los
módulos en el backend y l a base de datos para el directorio. A continuación puede v e r u n ejemplo d e este fichero, e n el
que es fundamenta] especificar el directorio con l a ubicación p a r a los módulos así como el sufijo d e nuestro dominio,
identificador y contraseña p a r a el usuario privilegiado o la ubicación y permisos de acceso p a r a l a base de datos:
# Datábase s e t t i n g s
dn: olcDatabase=hdb,cn=confi g
objectClass: olcDatabaseConfig
o b j e c t C l a s s : olcHdbConfig
o l c D a t a b a s e : (1)hdb
o l c S u f f i x : dc=miempresa,dc=com
olcDbDirectory: / v a r / l i b / l d a p
olcRootDN: cn=admin,dc=miempresa,dc*eom
olcRootPW: hola00==
o l c D b C o n f i g : s e t _ c a c h e s i z e 0 2097152 0
o l c D b C o n f i g : set_lk_raax_objects 1500
o l c D b C o n f i g : s e t _ l k _ m a x _ l o c k s 1500
o l c D b C o n f i g : s e t _ l k _ m a x _ l o c k e r s 1500
o l c D b l n d e x : o b j e c t C l a s s eq
o l c L a s t M o d : TRUE
o l c D b C h e c k p o i n t : 512 30
o l c A c c e s s : t o a t t r s = u s e r P a s s w o rd by dn="cn=admin,dc=miempresa,dc=com" w r i t e by anonymous
auth by s e l f w r i t e by * none
olcAccess: t o attrs=shadowLastChange by s e l f w r i t e by * read
olcAccess: t o dn.base="" by * read
olcAccess: to * by dn="cn=admin,dc=miempresa,dc=»com" w r i t e by * r e a d
Las opciones especificadas en el fichero de configuración del backend y su sintaxis dependen del tipo
de base de datos utilizada para e) mismo. En el ejemplo anterior se trata de una base de datos BDB,
aunque otros tipos pueden ¡nstanciarse como por ejemplo LBDM. De esta forma recomendamos la
consulta de la documentación OpenLDAP para su correcta configuración cuando necesitemos escenarios
más complejos.
U n a vez creado el fichero L D I F debe cargarlo en el directorio, haciéndolo de forma s i m i l a r a l caso de los schemas
necesarios:
313
ADMINISTRACIÓN DE S I S T E M A S O P E R A T I V O S © RA-MA
Figura 15.2. Carga del fichen: LDIF para la configuración del backend
C o m o puede observar e n l a F i g u r a 15.2, se h a n creado con éxito dos entradas; u n a p a r a l a carga dinámica de
módulos en el directorio y otra p a r a l a base de datos. Desde este momento es posible comenzar a p o b l a r el directorio
frontend con información.
I A C T I V I D A D E S 15.2
15.2.2.2 P o b l a r e l D i r e c t o r i o : c o n f i g u r a c i ó n d e l F r o n t e n d
U n a vez que dispone, a l menos, de u n a configuración mínima del comportamiento del proceso s e r v i d o r puede
c o m e n z a r a poblar el frontend de O p e n L D A P con información, atendiendo a los schemas utilizados p a r a almacena r
la m i s m a . P a r a ello hay que crear u n fichero L D I F en el que se añaden los diferentes nodos que desea registrar e n el
árbol del directorio activo.
C o m o puede ver en el siguiente ejemplo, se crea el objeto de p r i m e r nivel del dominio idc=miempresa, dc=com>,
u n i d a d e s organizacionales p a r a usuarios y grupos, y u n ejemplo de u s u a r i o y grupo de u s u a r i o s especificando,
fundamentalmente, identificadores, clase de objeto y atributos correspondientes a cada caso.
314
© RA-MA 15 • L D A P
en: admin
d e s c r i p t i o n : LDAP a d m i n i s t r a t o r
userPassword: h o l a 0 0 =
# Unidad O r g a n i z a c i o n a l u s u a r i o s
dn: ou=usuarios,dc=miempresa,dc=com
objectClass: organizationalUnit
ou: u s u a r i o s
# Unidad O r g a n i z a c i o n a l grupos
dn: ou=grupos, dc=miernpresa, dc=com
objectClass: organizationalUnit
ou: grupos
# U s u a r i o Juan López
dn: uid=juan,ou=usuarios,dc=miempresa,dc=com
o b j e c t C l a s s : inetOrgPerson
o b j e c t C l a s s : posixAccount
o b j e c t C l a s s : shadowAccount
u i d : juan
sn: López
g i v e nName: Jua n
en: Juan López
displayName: Juan López
uidHumber: 1000
gidNumber: 10000
userPassword: password
gecos: Juan López
l o g i n S h e l l : /bin/bash
homeDirectory: /home/juan
shadowExpire: -1
shadowFlag: 0
shadowWarning: 7
shadowMin: 8
shadowMax: 999999
shadowLastChange: 10877
m a i l : juan.lopez@miempresa.com
p o s t a l C o d e : 31000
1: Almería
o: Ejemplo
m o b i l e : +34 (0)6 xx xx xx xx
homePhone: +34 (0)5 xx xx xx xx
t i t l e : A d m i n i s t r a d o r d e l Sistema
postalAddress:
i n i t i a l s : JL
# Grupo Ejemplo
dn: cn=ejemplo,ou=grupos,dc=miempresa,dc=com
o b j e c t C l a s s : posixGrou p
en: ejemplo
gidNumber: 10000
ADMINISTRACIÓN D E S I S T E M A S O P E R A T I V O S © RA-MA
| l d a p a d d - x -D c n = a d i n i n , d c = m i e m p r e s a , dc=com -W - f f r o n t e n d . r n i e m p r e s a . c o m . I d i f
O •? rootaxibuftts: /
Ai r ní vo táHt» vo Buscar T«t t »n«J Ayudi
FQoteijbuntLj:/ a 'j'ido ldapadd -x O tr^adiiiii. dr =u!rnpresa.dc={[jrr -M ' / hptie/ u^iijr
lo/ Escritor10/ trantend mcspresa. coff. I dlt
Enter LDAP Password:
adding w x entry - c n- ^ d« ur i . dc a - á e i i pf e sa . dc - - o» -
adding new entiy • ou- * ct i i t poi . dc= » e «pr f i a , dc- r < o»'
,
r ooi üubum. u / » I
Figura IS.3. Carga del fichero LDIF para la población del frontend
E n l a F i g u r a 15.4 puede v e r como efectivamente l a ejecución del comando de búsqueda devuelve l a información
s o l i c i t a d a (sn.givenName, en) p a r a el usuario con uid=juan.
' rootgtubuntu: /
rootaubuntu:r#
\ A C T I V I D A D E S 15.3
E n ocasiones, y como r e s u l t a en este caso, p a r a llevar a cabo operaciones sobre el directorio activo resulta más
cómodo o incluso eficiente trabajar con a l g u n a aplicación o h e r r a m i e n t a que ofrezca u n a interfaz gráfica para el acceso
a l mismo.
Comandos mas utilizados ldapadd, Idapsearch Idapmodify, Idapdelete, slapadd, slapcat, slaplndex y
slappaswd
HERRAMIENTAS Y
UTILIDADES
O p e n L D A P tiene dos tipos de utilidades. Por u n lado están las denominadas herramientas de cliente que permiten
modificar, borrar, añadir entradas e n el servidor L D A P de u n a forma remota. P a r a u s a r dichas h e r r a m i e n t a s debe estar
activo el servidor L D A P . E l otro conjunto de herramienta s trabajan sobre l a base de datos o backend directamente por
lo que no necesitan que slapd este ejecutándose. E s t a s son más útiles cuando se producen inconsistencias en l a base
de datos porque varias personas h a n actuando sobre el servidor L D A P . A continuación se describen l a s principales
h e r r a m i e n t a s existentes en cada u n a de los grupos con sus opciones más características.
A continuación se describen a l g u n a s de las denominadas herramientas de cliente que permite modificar, borrar,
añadir entradas e n el servidor L D A P de u n a forma remota. P a r a usar dichas herramienta s debe estar activo e l
servidor L D A P .
# Idapmodify [-a] I-rJ [-ni [-w passwd] I-H l d a p u r i ) (-D b i n d d n ] |-p l d a p p o r t ] I-f
file]
E l fichero debe tener como p r i m e r a linea el dn sobre el que se trabaja. A continuación aparece el atributo
changetype con el valor add, detete, modify o modrdn según lo que se q u i e r a hacer.
Ejemplos de Idapmodify:
add : t i t l e
t i t l e: Grand Poobah
add: postalCode
p o s t a l C o d e : 04120
delete : street
ldapadd. Añade entradas at directorio aceptando dichos datos a través de u n fichero L D I F o de l a línea de
comando. E n realidad se t r a t a de u n enlace lijo a Idapmodify -a. L a s i n t a x i s y opciones son las mismas que
Idapmodify.
L a s posibles opciones del comando son: -b base i n d i c a el punto base de la búsqueda; -f fichero lee l a e n t r a da de
búsqueda del fichero especificado; -H ldapuri especifica l a U R I del servidor L D A P ; y -D dn u t i l i z a el dn que
permite realizar l a operación.
Con filtro establece los patrones que tienen que c u m p l i r los registros a buscar (se permiten los comodines) y en
atributos se indica opcionalmente los atributos que se muestra n de los registros encontrados.
ldapdelete. Permite e l i m i n a r entradas del directorio mediante un fichero o desde línea de comando. Donde -f
fichero permite leer la entrada del fichero L D I F especificado H ldapuri: Especifica l a U R I d e l servidor L D A P
-D dn: u t i l i z a el dn que permite r e a l i z ar l a operación.
# l d a p d e l e t e -D "cn=root,dc=miempresa,dc=com"
> cn=Juan Pérez G a r c i a , ou=usuarios, dc=miernpresa,dc=com
© RA-MA 15 • LDAP
CONFIGURACIÓN D E L S E R V I D O R
s l a p a d d . Permite añadir entradas desde u n fichero L D I F a u n a base de datos SLAPD. Actúa sobre l a base de
datos indicada y le añade las entradas descritas en el L D I F . S i no se especifica u n fichero L D I F la información
se lee de la e n t r a d a estándar.
_# cat /tmp/top.ldif
## Construye e l nodo r a i z
dn: dc=miempresa, dc=com
de: d t i c
o b j e c t C l a s s : dcObject
objectClass: organizationalUnit
ou: D t i c Dot Ua Dot Es
## C o n s t r u y e e l ou p r o f e s o r e s
dn: ou=profesores,dc=miempresa,dc»com
ou: p r o f e s o r e s
objectClass: organizationalUnit
_# slapadd -v - 1 /tmp/top.ldif
added: "dc=miempresa,dc=com"
added: "ou=profesores,dc=miempresa,dc=com"
Sintaxis:
t slapadd [-1 <inputfile>] [-f < s l a p d c o n f i g f i l e > ] [-d <debuglevel>l (-n <integer>l-b
<suffix>]
donde d i n d i c a e l nivel de depuración; -n i n d i c a que base datos se modifica en función de un número que
indica l a posición (primera, segunda, tercera, etc.) en el fichero de configuración; -6 i n d i ca que base de datos se
modifica en función del sufijo de l a m i s m a : <f especifica u n fichero de configuración alternativo y s i no se i n d i c a
se u t i l i z a el fichero por defecto de slapd; y -l especifica el L D I F de donde obtendrá lals) entrada(s) a insertar.
Por ejemplo:
# slapadd -1 a l u m n o s . I d if
donde d i n d i c a el nivel de depuración: -n i n d i c a que base datos se modifica en función de u n número que
indica l a posición (primera, segunda, tercera, etc.) en el fichero de configuración; -b i n d i c a que base de datos se
modifica en función del sufijo de l a m i s m a ; -f especifica un fichero de configuración alternativo; y -l especifica
e l fichero L D I F donde se insertan las entradas extraídas. Por ejemplo:
I slapcat -1 s a l i d a . I d i f
319
A D M I N I S T R A C I Ó N DE SISTEMAS OPERATIVOS © RA-MA
donde -d Índica el n i v e l de depuración; -íí i n d i c a que base datos se modificada en función de u n número que
i n d i c a l a posición (primera, segunda, tercera, etc.) e n e l fichero de configuración; -h i n d i c a que base de datos
será modificada en función del sufijo de l a m i s m a ; y -/"especifica un fichero de configuración alternativo.
H E R R A M I E N T A S GRÁFICAS
Las h e r r a m i e n t a s gráficas de apoyo a l a administración del directorio activo L D A P son de especial u t i l i d a d sobre
todo e n nuestra p r i m e r a toma de contacto con este servicio. D e esta forma se v a a ver en este apartad o dos de l a s
más importantes, que permitirán l l e v a r a cabo l a s operaciones habituales sobre el directorio (población d e l mismo,
importación y exportación de ficheros L D I F , exploración de las bases de datos y schemas, etc.) de f o r m a sencilla.
15.3.3.1 H e r r a m i e n t a de administración L D A P
Quizás l a Herramienta de Administración LDAP sea l a aplicación gráfica más i n t u i t i v a p a r a l a manipulación de!
directorio activo L D A P . P a r a s u puesta en m a r c h a hay que r e a l i z a r l a instalación del paquete lat (LDAPAdministration
Tool) ejecutando:
• UBUNTU
# apt-get i n s t a l l l a t
• FEDORA
# yum i n s t a l l l a t
L o primer o que debe hacer es especificar los parámetros de l a conexión con el servidor de directorio L D A P , D e
f o r m a s i m p l i f i c a d a t a n solo es necesario i n t r o d u c ir el nombre del host o dirección de red de] servidor y el puerto de
e s c u c h a , aunque s i p u l s a sobre ei botón Show more options puede i n c l u i r más parámetros como el identificador de l a
b a s e de datos, nombre de u s u a r i o y contraseña, s i quiere u t i l i z a r cifrado, o el tipo de servidor (es posible conectar esta
h e r r a m i e n t a con otros servidores que directorio activo que no sean O p e n L D A P ) ,
© RA-MA 15 • L D A P
0 *1 -o
? L0A* 1 l|Tf >t ••• Teol
• tentad.
kV croupi
B a r r a d e menús. Contiene los menús principales de l a aplicación a través de los que puede configurar las
opciones y preferencias p a r a trabsgar con ella así como l a manipulación de los datos, objetos, esquemas, etc.,
del directorio activo.
321
ADMINISTRACIÓN DE S I S T E M A S O P E R A T I V O S © RA-MA
• 0 iDcilhmti» J ta
•JUpIflyfriin*-
• C «Imin gecoii juen López
* __ muariai , QidNumbef íoaw
• fe «qufcw* hemeOir-KtDiy
rVimvPriCKW - J If ........
II-::.I¡-
t Almería
/hin/t-ílíi
q-JfTrplO
ofarmcum cnetOf-gPHioo
Views ( V i s t a s ) . Permite v e r los diferentes objetos incluidos e n el directorio desde u n punto de v i s t a con n i v e l
de abstracción alto, mostrando fundamentalmente datos clasificados en los distintos tipos de objetos incluidos
en el schema. Se pueden i n t r o d u c i r nuevos datos.
«Ut: | [ é)
I j w . i l ton, l»e> O -
Smari
• „>,.•••• -
* •
Util- i ' l.ivi-,
* m i**rttfv
aJlMi
•
#pplL*tiúi£rtXV
appUtationProcvvt Oticrtptloo.
:-..-:u!:-rf»p,- f
KJ
rarchGuld-r
t i rli fl ta lio nAutbot 11 y
uu
Wparwr
dcstrtptwk
ÚCObtKt top
dtw*
15.3.3.2 PhpLdapAdmin
I apt-get i n s t a l l phpldapadmin
# yum i n s t a l l phpldapadmin
<3 M 4 LZ 1
phnLDAPftnmin {t i O J ) -Mtiftlt» F W r o i
• AjUtJ
•HpnplOiMUmmdipjrj. +
W 4 GurlU U d H | VI' ti
•) My LDAP Server
-php
bLDAP
admin
• fl>l J ' U l.'Lj.Hí.ly J _ . . II
P a r a conectarse a u n servidor pulse e n el vínculo Conectar situado e n el menú izquierdo de la página y aparece l a
p a n t a l l a de autenticación {véase l a F i g u r a 15.10).
D*"~ p#»*tOAI-i(H|lJi (1 J J J J l - M u t i l a H r i f »
% phpLDAP-rdm>n (1.2.0.SJ• [•
l phpUMPttfmin ft.2.0
U n a vez identificado e n l a página se cargan los diferentes menús y opciones e n l a parte i z q u i e r d a de l a página
(véase l a F i g u r a 15.12).
324
© RA-MA 15 •LDAP
• } M y L D A P Ser ver Q
m a *» O * 4
A través de ellos puede c o n s u l t ar las propiedades y características de las diferentes clases de objetos, tipos de
atributo, reglas de coincidencia y s i n t a x i s L D A P (esquema) que componen el schema del directorio activo, ejecutar
detalladas y precisas búsquedas sobre los elementos e información disponible (buscar), mostrar información sobre l a
instalación y estado actual del servidor L D A P (info) así como exportar a diversos formatos los resultados obtenidos
en u n a búsqueda o el contenido o valores de objetos y nodos del árbol del directorio.
erconiraa.
*
% ac-rnbempfi»*a
ñ
cn-»ürniiitíc^ftinjMe5a.c^=<í)fn
ai
*****
;M --'!'.• • !:• :• . .< <:• • • i-: -
| A C T I V I D A D E S 15.4
•H U t i l i z a n d o la h e r r a m i e n t a gráfica c r e a u n a n u e v a u n i d a d o r g a n i z a t i v a y u n n u e v o u s u a r i o .
325
ADMINISTRACIÓN D E S I S T E M A S O P E R A T I V O S © RA-MA
R E S U M E N D E L CAPÍTULO
E n este capítulo h a n aprendido los conceptos más importantes sobre el servicio OpenLDAP.
EJERCICIOS PROPUESTOS
1. Comente brevemente los diferentes modelos de 3. Indique las diferentes formas que existen p a r a
J
representación de L D A P . a d m i n i s t r a r openldap.
2. E x p l i q u e b r e v e m e n t e l o s c o m a n d o s más
importantes par a a d m i n i s t r a r openldap.
TEST D E CONOCIMIENTOS
I n d i q u e l a característica que no se a s o c i a a O p e n L D A P es u n c o n t e n e d o r q u e permite
OpenLDAP: almacenar:
Soporta múltiples base de datos. Usuarios.
Se licencia bajo G P L . U s u a r i o s , grupos y equipos.
Permite comunicarse con servidores R a d i u s . U n i d a d e s orgnatizativas y otros datos.
Solo se u t i l i z a en equipos G N U / L i n u x . Todas las opciones son correctas.
326