Está en la página 1de 81

Manual de integracin

de servicios LDAP bajo


Canaima GNU/Linux

Caracas, Octubre de 2009

Crditos y licencia

2008-2009 Centro Nacional de Tecnologas de


Informacin
2008-2009 ONUVA Integracin de Sistemas
Este documento se distribuye al pblico como documentacin y

conocimiento libre bajo los trminos de la Licencia Pblica General


GNU, que puede obtener en la direccin Web:
http://www.gnu.org/copyleft/gpl.html

Convenciones tipogrficas

Texto

enfatizado,

anglicismos,

texto

resaltado,

comandos,

salidas, paquetes o contenido de archivos.

Indica informacin muy importante con respecto al contenido

Indica comandos, salidas en pantalla o contenido de archivos

Indica los pasos de un procedimiento

Pgina 2 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

Contenido
Crditos y licencia.......................................................................................................................2
Convenciones tipogrficas..........................................................................................................2
Unidad I: Protocolo de acceso ligero a directorios.....................................................................7
Tema 1: Servicio de directorio................................................................................................7
Protocolos utilizados en un servicio directorio ..................................................................8
Informacin contenida en un servicio de directorio .........................................................10
Tema 2: Las bases de LDAP ................................................................................................11
Protocolo de aplicacin TCP/IP: LDAP ............................................................................11
Modelos LDAP..................................................................................................................11
Modelo de Informacin.....................................................................................................12
Modelo de nomenclatura..................................................................................................12
Modelo funcional..............................................................................................................13
Modelo de seguridad........................................................................................................14
Representacin de la informacin en un directorio basado en LDAP ............................15
Atributos LDAP ............................................................................................................15
Objetos LDAP...............................................................................................................15
Acceso y referenciacin de la informacin contenida en el directorio ............................17
Arquitectura de Cliente/Servidor ..........................................................................................17
Esquemas de un directorio: metadatos ...............................................................................17
Unidad II: LDAP versin 3 ........................................................................................................21
La versin 3 de LDAP ..........................................................................................................21
Tema 1: algunas diferencias con su predecesor LDAPv2 ................................................24
Diferencias entre LDAP v2 y v3 .......................................................................................24
Tema 2: Formato de intercambio de informacin LDAP LDIF
En este apartado se mostrar como agregar un usuario al LDAP utilizando para ello los
LDIF. A continuacin se mostrar cual es la estructura de los LDIF. ..................................25
Agregar los contenidos de los ldif.........................................................................................25
Formato para nuevas entradas .......................................................................................26
Agregar usuarios .........................................................................................................26
Formato para modificaciones ..........................................................................................27
Agregar atributos..........................................................................................................27
Modificar un atributo.....................................................................................................28
Formato para eliminaciones ...........................................................................................28
Eliminar un usuario...........................................................................................................28
Para eliminar un atributo
Se debe crear un ldif como el que se muestra a continuacin, el nombre del archivo
ldif es del.ldif ................................................................................................................29
Autenticacin en LDAP ........................................................................................................29
Autenticacin de clientes en LDAP .................................................................................29
Autenticacin annima.....................................................................................................31
Autenticacin simple (segura y no segura) .....................................................................31
Pgina 3 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

Tema 3: Distribucin de directorios .....................................................................................32


Distribucin de directorios ...............................................................................................32
Unidad III: Servicio de directorio OpenLDAP............................................................................34
Conexiones Seguras ...........................................................................................................34
El servidor slapd ..................................................................................................................36
slapd ................................................................................................................................36
Tema 1: Implementacin de un servicio de directorio OpenLDAP en Canaima GNU/Linux
..............................................................................................................................................38
Instalacin del servidor.....................................................................................................38
Elementos de configuracin.............................................................................................38
Tema 2: Control de acceso al directorio a travs de listas de control de acceso (ACLs) ...40
Control de acceso al directorio a travs de listas de control de acceso .........................40
Estructura general de una ACL .......................................................................................40
Usos comunes de las ACLs ............................................................................................41
Tema 3: Poblando el directorio OpenLDAP .........................................................................43
Definicin de la estructura inicial del directorio................................................................43
Incorporacin de entradas iniciales..................................................................................43
Modificando la informacin existente...............................................................................45
Trabajando con las contraseas......................................................................................47
Verificando el contenido del directorio .............................................................................48
Unidad IV: Integracin con los servicios de directorio LDAP ...................................................49
Tema 1: Integracin con el sistema operativo .....................................................................49
Mapeo de cuentas de usuario y grupos locales...............................................................49
Resolucin de nombre NSS..........................................................................................49
Configuracin de bases de datos de bsqueda..........................................................50
Configuracin del modulo LDAP..................................................................................50
Autenticacin de usuarios Mdulos de autenticacin apilables PAM........................51
Configuracin de reglas de autenticacin....................................................................51
Configuracin de modulo LDAP...................................................................................52
Tema 2: Integracin con controladores de dominio Samba ................................................53
Esquemas adicionales......................................................................................................53
Mapeo de cuentas de usuario y grupos ..........................................................................54
Tema 3: Integracin con servicios de red ............................................................................56
Proxy LDAP .....................................................................................................................56
Unidad V: Administracin avanzada de directorios OpenLDAP ..............................................57
Tema 1: Conexiones seguras al directorio - SSL/TLS .........................................................57
Tema 2: Existencia de ms de una copia ............................................................................59
Existencia de ms de una copia (slurpd).........................................................................59
Decidiendo el mecanismo de replicacin.........................................................................60
Existencia de ms de una copia (syncrepl)......................................................................61
Tema 3: Particionando el directorio......................................................................................63
Definicin de la referencia Inferior....................................................................................63
Pgina 4 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

Definicin de la referencia superior..................................................................................65


Anexos..................................................................................................................................66
Ejercicio Propuesto N#1...................................................................................................66

Pgina 5 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

Ficha Descriptiva

Curso

LDAP con integraciones en Canaima GNU/Linux.

Modalidad

A distancia.

Duracin

8 semanas

Dirigido a

Pblico y comunidad en general, as como personal docente,


tcnico y estudiantil de Colegios Universitarios y Politcnicos.

Requisitos

Nociones bsicas en el manejo de:

previos

Objetivo del
curso

Permisos y ACL POSIX.

Redes en GNU/Linux.

Gestin de usuarios y permisos bajo Linux.

Manejo de servicios SysV.

Gestin de procesos POSIX.

Manejo de Linux bajo CLI.

Herramientas de paginacin y visualizacin de texto.

Manejo del sistema de paquetes APT.

Emplear las estrategias necesarias para la puesta en operacin


del servicio LDAP en el proceso de migracin a software libre.

Pgina 6 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

Unidad I: Protocolo de acceso ligero a directorios


Tema 1: Servicio de directorio
Un servicio de directorio es una aplicacin o un conjunto de aplicaciones que
almacena y organiza la informacin de los usuarios de una red de computadores,
permitiendo a los administradores gestionar el acceso de usuarios a los recursos sobre
dicha red. Adems, los servicios de directorio actan como una capa de abstraccin entre
los usuarios y los recursos compartidos.
Los directorios tienden a contener informacin descriptiva basada en atributos y
tienen capacidades de filtrado muy sofisticada. Los directorios generalmente no soportan
transacciones complicadas ni esquemas de vuelta atrs ( roll back) como los que se
encuentran en los sistemas de bases de datos diseados para manejar grandes y
complejos volmenes de actualizaciones. Las actualizaciones de los directorios son
normalmente cambios simples.
Un servicio de directorio no debera confundirse con el repositorio de directorio,
que es la base de datos, esta es la que contiene la informacin sobre los objetos
nombrados, gestionado por el servicio de directorio. El servicio de directorio proporciona
la interfaz de acceso a los datos que se contienen en unos o ms espacios de nombre de
directorio. La interfaz del servicio de directorio es la encargada de gestionar la
autenticacin de los accesos al servicio de forma segura, actuando como autoridad
central para el acceso a los recursos de sistema que manejan los datos del directorio.
Como base de datos, un servicio de directorio est altamente optimizado para
lecturas y proporciona alternativas avanzadas de bsqueda en los diferentes atributos
que se puedan asociar a los objetos de un directorio. Los datos que se almacenan en el
directorio son definidos por un esquema extensible y modificable. Los servicios de
directorio utilizan un modelo distribuido para almacenar su informacin y esa informacin

Pgina 7 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

generalmente est replicada entre los servidores que forman el directorio.


Los directorios estn afinados para dar una rpida respuesta a grandes volmenes
de bsquedas. Estos tienen la capacidad de replicar la informacin para incrementar la
disponibilidad y la fiabilidad, al tiempo que reducen los tiempos de respuesta. Cuando la
informacin de un directorio se replica, se pueden producir inconsistencias temporales
entre las rplicas mientras esta se est sincronizando.
Hay muchas formas diferentes de proveer un servicio de directorio. Diferentes
mtodos permiten almacenar distintos tipos de informacin en el directorio, tener
distintos requisitos sobre cmo la informacin ha de ser referenciada, consultada y
actualizada, cmo es protegida de los accesos no autorizados, etc. Algunos servicios de
directorio son locales, es decir, proveen el servicio a un contexto restringido (como por
ejemplo, el servicio finger en una nica mquina). Otros servicios son globales y proveen
servicio a un contexto mucho ms amplio (como por ejemplo, Internet). Los servicios
globales normalmente son distribuidos, esto significa que los datos estn repartidos a lo
largo de distintos equipos, los cuales cooperan para dar el servicio de directorio.
Tpicamente, un servicio global define un espacio de nombres uniforme que da la misma
visin de los datos, independientemente de donde se est, en relacin a los propios
datos. DNS1 es un ejemplo de un sistema de directorio globalmente distribuido.

Protocolos utilizados en un servicio directorio


X.500 es un conjunto de estndares de redes de computadores de la ITU (Unin
Internacional de Telecomunicaciones) sobre servicios de directorio, entendidos estos
como bases de datos de direcciones electrnicas (o de otros tipos). El estndar se
desarroll conjuntamente con la ISO como parte del modelo de interconexin de sistemas
abiertos, para usarlo como soporte del correo electrnico X.400.

1 Servicio de nombres de dominio, por sus siglas en ingls


Pgina 8 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

Los protocolos definidos por X.500 incluyen:

Protocolo de acceso al directorio (DAP)

Protocolo de sistema de directorio

Protocolo de ocultacin de informacin de directorio

Protocolo de gestin de enlaces operativos de directorio.


Dentro de la serie X.500, la especificacin que ha resultado ser la ms difundida no

trata de protocolos de directorio, sino de certificados de clave pblica X.509. El protocolo


LDAP fue creado como una versin liviana de X.500 y termin por reemplazarlo. Por esta
razn algunos de los conceptos y estndares que utiliza LDAP provienen de la serie de
protocolos X.500.
Tcnicamente, LDAP es un protocolo de acceso a directorio para el servicio de
directorio X.500, del servicio de directorio de OSI. Inicialmente, los cliente LDAP accedan
a travs de puertas de enlace al servicio de directorio X.500. Esta puerta de enlace
ejecutaba LDAP entre el cliente y la puerta de enlace, y el Protocolo X.500 de Acceso al
Directorio (DAP) entre la puerta de enlace y el servidor X.500. DAP es un protocolo
extremadamente pesado que opera sobre una pila protocolar OSI completa y requiere
una cantidad significativa de recursos computacionales. LDAP est diseado para operar
sobre TCP/IP proporcionando una funcionalidad similar a la de DAP, pero con un costo
muchsimo menor.
Aunque LDAP se utiliza todava para acceder al servicio de directorio X.500 a
travs de puertas de enlace, hoy en da es ms comn implementar LDAP directamente
en los servidores X.500.
El demonio autnomo de LDAP, o SLAPD, puede ser visto como un servidor de
directorio X.500 ligero. Es decir, no implementa el DAP X.500, sino un subconjunto de
modelos de X.500.

Pgina 9 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

Es posible replicar datos desde un servidor de directorio LDAP hacia un servidor


DAP X.500. Esta operacin requiere una puerta de enlace LDAP/DAP. OpenLDAP no
suministra dicha puerta de enlace, pero el demonio de replicacin que posee puede ser
usado para la replicacin, como si de una puerta de enlace se tratase.

Informacin contenida en un servicio de directorio


En principio en un servicio de directorio se puede almacenar cualquier tipo de
informacin. Como por ejemplo, nombre, direccin de habitacin, nombre de la mascota,
msica preferida, bebida favorita, etc. Sin embargo, la informacin que se almacena es
aquella que permita organizar de manera jerrquica todos los usuarios de la red.
Estructurar la informacin de los usuarios de la red es de utilidad a la hora de restringir el
acceso a los servicios y recursos de la red; Permitiendo gestionar con mayor facilidad la
red.

Pgina 10 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

Tema 2: Las bases de LDAP


Protocolo de aplicacin TCP/IP: LDAP
Las iniciales LDAP en ingls significan Lightweight Directory Access Protocol
traducido al espaol su significado es: Protocolo ligero para acceder al servicio de
directorio, esta implementacin se basa en el estndar X.500, el cual es un conjunto de
estndares de redes de computadoras de la ITU-T sobre el servicio de directorios. LDAP se
ejecuta sobre TCP/IP o sobre otros servicios de transferencia orientado a conexin; que
permite el acceso a la data de un directorio ordenado y distribuido para buscar
informacin.

Habitualmente se almacena informacin de los usuarios que conforman una red de


computadores, como por ejemplo el nombre de usuario, contrasea, directorio hogar, etc.
Es posible almacenar otro tipo de informacin tal como, bebida preferida, nmero de
telfono celular, fecha de cumpleaos, etc.

En conclusin, LDAP es un protocolo de acceso unificado a un conjunto de


informacin sobre los usuarios de una red de computadores.
Modelos LDAP
Como todos los protocolos basados en estndares abiertos, LDAP apunta a ser un
protocolo 100% interoperable entre implementaciones de distintos proveedores. Por esta
razn, LDAP define cuatro (4) modelos de informacin que describen la operacin del
protocolo: informacin, nomenclatura, funcional y de seguridad. En este captulo
describiremos estos modelos y su relevancia para la correcta implementacin de un
servicio de directorios LDAP.

Pgina 11 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

Modelo de Informacin
El modelo de informacin de LDAP describe las unidades de informacin que se
almacenan en el directorio. Slo hay dos tipos de unidades de informacin que se
almacenan en un directorio LDAP:
1.Registros2
2.Tipos de datos de registros

Un registro es muy similar a la estructura de datos que lleva el mismo nombre. En


LDAP, los registros son estructuras de correspondencia clave-valor que se someten a las
reglas definidas por los tipos de datos de los registros.

Por ejemplo, en un registro

pueden haber entradas repetibles, entradas obligatorias, entradas que deben conformar
con cierta sintaxis, entre otras.

La definicin de forma de los registros y sus tipos de datos se realiza en


estructuras denominadas esquemas. Estos esquemas, as como los registros, se
representan en un formato estndar de texto plano denominado LDIF 3. Este estndar, as
como la adecuada representacin de los modelos descritos en este captulo, facilita la
interoperatibilidad entre directorios LDAP.

Modelo de nomenclatura
El modelo de nomenclatura especifica como se organiza la informacin dentro del
directorio, y como un cliente puede hacer referencia a esta informacin, por ejemplo,
para recuperar un registro.

La jerarqua de nomenclatura del protocolo LDAP es similar a la de los servicios


2 Entries, en ingls
3 Formato de intercambio de datos LDAP, por sus siglas en ingls
Pgina 12 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

DNS, por lo que han sido considerados como protocolos y tecnologas similares que
pueden ser integradas en ciertos casos para favorecer la integracin de servicios y su
rendimiento.

Bajo

este

modelo

de

nomenclatura

buscamos

poder

hacer

referencia

unvocamente a un elemento del directorio, por lo que debemos asegurarnos de que el


modelo de nomenclatura a escoger no admita valores repetidos. Dentro del modelo de
nomenclatura LDAP es posible identificar los siguientes elementos:
1.Dominio (domain): es el nombre del dominio LDAP que se est sirviendo, por ejemplo,
cnti.gob.ve
2.Componente de dominio (domain component, o DC): son las porciones del dominio que
corresponden a los niveles DNS, por ejemplo: DC=cnti,DC=gob,DC=ve

As es que, por ejemplo, si utilizamos el atributo uid para identificar unvocamente


elementos en un directorio LDAP, el modelo de nomenclatura admitira una referencia del
tipo:
uid=jose,dc=cnti,dc=gob,dc=ve

Modelo funcional
El modelo funcional de LDAP determina las operaciones que un cliente puede
realizar sobre el directorio. Entendiendo que se trata de un servicio de directorio y luego
de haber repasado en este manual las expectativas funcionales de un directorio LDAP,
podemos confirmar que las funciones se agrupan en cuatro (4) grandes grupos:
1.Operaciones de bsqueda (query)
2.Operaciones de actualizacin (update)
3.Operaciones de autenticacin (authentication)
Pgina 13 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

4.Operaciones de control (control)

La vasta mayora de los directorios formales LDAP que son compatibles con los
estndares cubren diversas expectativas en cada uno de estos grupos, como por ejemplo
hacer bsquedas por aproximacin o comparacin ASCII, aadir, eliminar, renombrar y
modificar entradas y autenticar usuarios.

Modelo de seguridad
Finalmente, el modelo de seguridad de LDAP define de qu formas se puede
controlar el acceso no autorizado a los contenidos del directorio. As mismo, define los
mecanismos de autenticacin, por ejemplo:
1.Contraseas en texto plano
2.Contraseas cifradas
3.SASL4
As mismo, en esta capa se ofrece cifrado de la conexin utilizando TLS 5 y SSL6, dos
protocolos de amplio uso para este propsito.

En la mayora de las implementaciones de LDAP, se puede proteger el acceso a los


contenidos del directorio utilizando ACLs 7, en las que se define qu usuarios o grupos
pueden realizar qu operaciones sobre qu porciones del directorio LDAP. Sin embargo, el
modelo de seguridad no define el detalle del control de acceso y es dependiente de la
aplicacin.

4
5
6
7

Capa de seguridad y autenticacin simple, por sus siglas en ingls


Seguridad en la capa de transporte, por sus siglas en ingls.
Protocolo de capa de conexin segura, por sus siglas en ingls.
Listas de control de acceso, por sus siglas en ingls.
Pgina 14 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

Representacin de la informacin en un directorio basado en LDAP


Atributos LDAP
Al utilizar LDAP se puede consolidar informacin para toda una organizacin dentro
de un repositorio central. Por ejemplo, en vez de administrar listas de usuarios para cada
grupo dentro de una organizacin, puede usar LDAP como directorio central, accesible
desde cualquier parte de la red. Puesto que LDAP soporta TLS y SSL, los datos
confidenciales se pueden proteger de los curiosos.
LDAP tambin soporta un nmero de bases de datos (backends) en las que se
almacena la informacin. Esto permite que los administradores tengan la flexibilidad para
desplegar la base de datos ms indicada, para el tipo de informacin. LDAP tiene APIs 8
bien definidas, existe un nmero de aplicaciones acreditadas para LDAP, estas estn
aumentando en cantidad y calidad, las hay en distintos lenguajes de programacin, tales
como C, C++, Java, Perl, PHP, entre otros.

Objetos LDAP
Como se explic anteriormente, los objetos, entradas o registros de un directorio
LDAP se representan en el formato LDIF. Este es un formato basado en texto en el que se
visualiza la estructura de datos (clave-valor) y los datos en s de la estructura.
Usualmente un registro de un directorio LDAP pertenece a una o ms clases,
denominadas objectClasses. Estas clases definen qu atributos puede o no puede tener
el registro, como se ver ms adelante en el captulo de Metadatos.
A

continuacin

revisaremos

un

ejemplo

del

objeto

uid=jose,dc=cnti,dc=gob,dc=ve en formato LDIF:

8 Interfaces de programacin de aplicaciones, por sus siglas en ingls


Pgina 15 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

LDAP

dn: uid=jose,dc=cnti,dc=gob,dc=ve
objectClass: posixAccount
uid: jose
loginShell: /bin/bash
uidNumber: 10009
userPassword::
e01ENX00ZDE4NjMyMWMxYTdmMGYzNTRiMjk3ZTg5MTRhYjI
0MAo=
gidNumber: 10000
homeDirectory: /home/jose
En este objeto apreciamos distintos componentes que es importante tener en
cuenta:
1.Nombre distintivo (distinguished name, DN): es la ubicacin unvoca del registro de
acuerdo al modelo de nomenclatura
2.ID de usuario (user ID, UID): identificador POSIX del usuario
3.Consola de inicio de sesin (login shell): consola a utilizar para el inicio de sesin del
usuario
4.ID numrico del usuario (user ID number, uidNumber): identificador numrico del
usuario
5.Contrasea del usuario (userPassword): tenga en cuenta aqu que hay doble smbolo
de dos puntos (::) entre la clave (userPassword) y el valor, lo que significa que el valor
est codificado bajo el sistema de base 64, lo cual se utiliza frecuentemente para reducir
problemas de codificacin de caracteres, pero no es un algoritmo de cifrado
6.ID numrico del grupo (group ID number, gidNumber): identificador numrico del
grupo principal del usuario
7.Carpeta personal del usuario (home directory, homeDirectory): carpeta personal del
perfil del usuario

Pgina 16 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

Acceso y referenciacin de la informacin contenida en el directorio


LDAP define operaciones para interrogar y actualizar el directorio. Provee
operaciones para aadir, modificar y eliminar entradas del mismo. La mayor parte del
tiempo, LDAP se utiliza para buscar informacin almacenada en el directorio. Las
operaciones de bsqueda de LDAP permiten encontrar entradas que concuerdan con
algn criterio especificado dado por un filtro de bsqueda. La informacin puede ser
solicitada desde cada entrada que concuerda con dicho criterio.

Una entrada es referenciada por su nombre distintivo, que es construido por el


nombre de la propia entrada llamado Nombre Relativo Distinguido (RDN) y la
concatenacin de los nombres de las entradas que le anteceden. Por ejemplo, la entrada
para luis en el ejemplo del nombramiento de Internet anterior tiene el siguiente RDN:
uid=luis y su DN sera: uid=luis,ou=people,dc=ucla,dc=edu,dc=ve. De est manera se
puede acceder a toda la informacin que se almacenada en el directorio LDAP.

Arquitectura de Cliente/Servidor
El servicio de directorio de LDAP est basado en el modelo cliente/servidor. Uno o
ms servidores LDAP contienen los datos que conforman el DIT 9. El cliente se conecta a
los servidores y les formula preguntas. Los servidores responden con una respuesta o con
un puntero donde el cliente puede obtener informacin adicional (normalmente otro
servidor LDAP). No importa a que servidor LDAP se conecte un cliente, este siempre
obtendr la misma visin del directorio; un nombre presentado por un servidor LDAP
referencia la misma entrada que cualquier otro servidor LDAP. Esta es una caracterstica
muy importante del servicio global de directorio, como LDAP.

Esquemas de un directorio: metadatos


Hemos venido estudiando cmo un directorio LDAP contiene informacin y la
9 rbol de informacin del directorio, por sus siglas en ingls.
Pgina 17 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

estructura y consideraciones de sta informacin. Sin embargo, en el captulo del modelo


de informacin de LDAP conocimos que un directorio LDAP no slo administra datos sino
tambin informacin sobre el tipo de datos, esquemas y reglas para estos datos. Esto lo
denominamos metadatos y en este tema trataremos sobre ellos.
Cuando instalamos un directorio LDAP de cualquier proveedor, por ejemplo
OpenLDAP, podemos empezar a agregar datos en l. Por ejemplo, podemos agregar el
registro uid=jose,dc=cnti,dc=gob,dc=ve que vimos en captulos anteriores.
Esto es posible porque los distribuidores de OpenLDAP se han tomado el trabajo de
incluir algunos metadatos, especficamente esquemas, que definen algunos atributos y
reglas bsicas y normalmente aceptadas, sobre todo en entornos POSIX.
Por ejemplo, en Canaima GNU/Linux un directorio OpenLDAP incluye los siguientes
esquemas:
1./etc/ldap/schema/collective.schema
2./etc/ldap/schema/corba.schema
3./etc/ldap/schema/core.ldif
4./etc/ldap/schema/core.schema
5./etc/ldap/schema/cosine.ldif
6./etc/ldap/schema/cosine.schema
7./etc/ldap/schema/duaconf.schema
8./etc/ldap/schema/dyngroup.schema
9./etc/ldap/schema/inetorgperson.ldif
10./etc/ldap/schema/inetorgperson.schema
11./etc/ldap/schema/java.schema
12./etc/ldap/schema/misc.schema
13./etc/ldap/schema/nadf.schema
14./etc/ldap/schema/nis.ldif
15./etc/ldap/schema/nis.schema
16./etc/ldap/schema/openldap.ldif
Pgina 18 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

17./etc/ldap/schema/openldap.schema
18./etc/ldap/schema/ppolicy.schema
Estudiemos ahora el contenido de un esquema comn, por ejemplo nis.schema.
Dentro de este esquema tenemos la definicin de un objectClass, posixAccount:

objectclass ( 1.3.6.1.1.1.2.0 NAME 'posixAccount'


DESC 'Abstraction of an account with POSIX attributes'
SUP top AUXILIARY
MUST ( cn $ uid $ uidNumber $ gidNumber $ homeDirectory )
MAY ( userPassword $ loginShell $ gecos $ description ) )

En esta definicin encontramos los siguientes elementos de inters:


1.1.3.6.1.1.1.2.0 es el identificador de objeto, este es un nmero asignado por la
Autoridad de Asignacin de Nmeros de Internet y describe al objeto unvocamente a
nivel universal
2.posixAccount es el nombre de la clase de objetos
3.DESC indica una descripcin en modo texto de la clase de objetos y el cliente LDAP
puede visualizar esta descripcin
4.SUP top AUXILIARY indica que esta clase de objetos tiene una clase de objetos maestra
llamada top
5.Los atributos cn, uid, uidNumber, gidNumber y homeDirectory definidos en la lnea
MUST son atributos OBLIGATORIOS de esta clase de objetos. Si no estn presentes en el
registro, el directorio LDAP rechazar las operaciones sobre estos registros
6.Los atributos userPassword, loginShell, gecos y description definidos en la lnea MAY
son atributos OPCIONALES de esta clase de objetos. Lo que esto indica es que un registro
que slo est en la clase de objetos posixAccount slo puede contener atributos listados
en esta definicin
Ahora bien, cules son las reglas para atributos como uid y homeDirectory que se
Pgina 19 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

definen aqu? Dentro del mismo schema, nis.schema, podemos conseguir esta
informacin:

attributetype ( 1.3.6.1.1.1.1.3 NAME 'homeDirectory'


DESC 'The absolute path to the home directory'
EQUALITY caseExactIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
Aqu vemos el OID para el atributo homeDirectory, su descripcin y dos reglas de
inters:
1.EQUALITY indica que una operacin de bsqueda sobre este atributo utilizar la regla
caseExactIA5Match10
2.SYNTAX indica que slo se admite un valor (SINGLE-VALUE) de acuerdo a la sintxis
1.3.6.1.4... que se denomina IA5 String 11
Es posible crear nuevos atributos y nuevas clases de objetos con tan slo solicitar a
la IANA un prefijo de identificadores de objetos y definir las reglas de sintxis y bsqueda.

10 http://rfc-ref.org/RFC-TEXTS/2307/kw-caseexactia5match.html
11 http://www.alvestrand.no/objectid/1.3.6.1.4.1.1466.115.121.1.26.html
Pgina 20 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

Unidad II: LDAP versin 3


La versin 3 de LDAP

Soporta LDAP sobre IPv4, IPv6 y Unix IPC

Tiene soporte de autentificacin fuerte gracias al uso de SASL. La implementacin


SASL de SLAPD hace uso del software Cyrus SASL, el cual soporta un gran nmero
de mecanismos de autentificacin, como: DIGEST-MD5, EXTERNAL, y GSSAPI.

Provee protecciones de privacidad e integridad gracias al uso de TLS o SSL. La


implementacin TLS de SLAPD hace uso del software OpenSSL

Puede ser configurado para restringir el acceso a la capa de socket basndose en


la informacin topolgica de la red. Esta caracterstica hace uso de los TCP
wrappers (Herramienta simple que sirve para monitorear y controlar el trfico que
llega por la red)

Provee facilidades de control de acceso muy potentes, permitindole controlar el


acceso a la informacin de su(s) base(s) de datos. Puede controlar el acceso a las
entradas basndose en la informacin de autorizacin de LDAP, en la direccin IP,
en los nombres de dominio y otros criterios. SLAPD soporta tanto el control de
acceso a la informacin dinmico como esttico.

Soporta Unicode y etiquetas de lenguaje.

Viene con una serie de backends para diferentes bases de datos. Estos incluyen
DBD, un backend de una base de datos transaccional de alto rendimiento; LDBM,
un backend ligero basado en DBM; SHELL, una interface para scripts de shell; y
PASSWD, un backend simple para el archivo passwd. El backend BDB hace uso de
Sleepcat Berkeley DB. LDBM utiliza cualquiera de las siguientes: Berkeley DB o
GDBM

Se puede configurar para servir a mltiples bases de datos al mismo tiempo. Esto
significa que un nico servidor SLAPD puede responder a peticiones de diferentes
porciones lgicas del rbol de LDAP, haciendo uso del mismo o distintos backends
de bases de datos.

Pgina 21 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

Si necesita ms personalizacin, SLAPD le permite escribir sus propios mdulos


fcilmente. SLAPD consiste en dos partes diferentes: un frontend que maneja las
comunicaciones protocolares con los clientes LDAP; y mdulos que manejan tareas
especficas como las operaciones con las bases de datos. Debido a que estas dos
piezas se comunican a travs de una API bien definida, puede escribir sus propios
mdulos,

que

extendern

SLAPD

de

mltiples

maneras.

Tambin

existen

numerosos mdulos programables de bases de datos. Estos permiten a SLADP


acceder a fuentes de datos externos haciendo uso de lenguajes de programacin
populares (Perl, shell, SQL y TCL)

Hace uso de hilos para obtener alto rendimiento. Un proceso nico multihilo
maneja todas las peticiones entrantes haciendo uso de una piscina de hilos. Esto
reduce la carga del sistema a la vez que provee alto rendimiento.

Se puede configurar para que mantenga copias de la informacin del directorio.


Este esquema de replicacin, un nico maestro/mltiples esclavos, es vital en
ambientes con un volumen alto de peticiones, donde un nico servidor SLAPD no
podra proveer la disponibilidad ni la confiabilidad necesarias. SLAPD incluye
tambin un soporte experimental para la replicacin de mltiples maestros. SLAPD
soporta dos mtodos de replicacin: Sync LDAP y SLURP (servidor de replicacin
LDAP).

Puede ser configurado como un servicio proxy de cach LDAP.

Es altamente configurable a travs de un nico archivo de configuracin, que


permite modificar todo aquello que se necesite cambiar. Las opciones por omisin
son razonables, lo que facilita mucho el trabajo. SASL

Simple Authentication and Security Layer (capa de seguridad y autenticacin


simple). Es un framework para manejar la autenticacin y autorizacin en
protocolos de Internet. Este separa los mecanismos de autenticacin de los
protocolos de la aplicacin.

Como SASL slo se maneja la autenticacin se requieren otros mecanismos como


por ejemplo TLS para cifrar el contenido que se transfiere.

Los protocolos definen su representacin de intercambios SASL con un perfil. Un

Pgina 22 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

protocolo tiene un nombre de servicio como "LDAP" en un registro compartido con


GSSAPI

(Generic

Security

Services

Application

Programming

Interface)

KERBEROS.

Entre los protocolos que ahora mismo usan SASL se incluyen IMAP, LDAP, POP3,
SMTP y XMPP.

Pgina 23 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

Tema 1: algunas diferencias con su predecesor LDAPv2


Diferencias entre LDAP v2 y v3
LDAPv3 fue desarrollado en los aos 90 para reemplazar a LDAPv2. LDAPv3
incorpora las siguientes caractersticas a LDAP:

Autentificacin fuerte haciendo uso de SASL (Simple Authentication and Security


Layer)

Proteccin de integridad y confidencialidad haciendo uso de TLS (SSL), Transport


Layer Security (Secure Sockets Layer)

Internacionalizacin gracias al uso de Unicode

Remisiones y continuaciones

Descubrimiento de esquemas

Extensibilidad (controles, operaciones extendidas y ms)


Como LDAPv2 difiere significativamente de LDAPv3, la interaccin entre ambas

versiones puede ser un poco problemtica. Es recomendable no utilizar la versin de


LDAPv2, por lo que en la implementacin de OpenLDAP viene deshabilitado por omisin.

Pgina 24 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

Tema 2: Formato de intercambio de informacin LDAP LDIF


En este apartado se mostrar como agregar un usuario al LDAP utilizando para ello
los LDIF. A continuacin se mostrar cual es la estructura de los LDIF.
ldif para la creacin de una unidad organizacional people. El nombre del archivo

es people.ldif
dn: ou=people,dc=ucla,dc=edu,dc=ve
ou: people
objectclass: organizationalUnit
Creacin de los archivos ldif

ldif para la creacin de una unidad organizacional group.

El nombre del archivo es group.ldif


dn: ou=group,dc=ucla,dc=edu,dc=ve
ou: group
objectclass: organizationalUnit

ldif para la creacin de un grupo users. El nombre del archivo es users.ldif


dn: cn=users,ou=group,dc=ucla,dc=edu,dc=ve
objectclass: posixGroup
objectclass: top
cn: users
userPassword: {crypt}*
gidNumber: 100

Agregar los contenidos de los ldif


Para agregar los contenidos de los ldif al LDAP se ejecutan los siguientes

Pgina 25 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

comandos:
#ldapadd -x -W -D "cn=admin,dc=ucla,dc=edu,dc=ve" -f people.ldif
#ldapadd -x -W -D "cn=admin,dc=ucla,dc=edu,dc=ve" -f group.ldif
#ldapadd -x -W -D "cn=admin,dc=ucla,dc=edu,dc=ve" -f users.ldif
Al ejecutar estos comandos te pedir el password del administrador LDAP.
Para revisar el resultado de la insercin ejecutamos el siguiente comando
#LDAPsearch -x -b "dc=ucla,dc=edu,dc=ve"
Se puede confirmar en la salida del comando anterior que la insercin de los
anteriores ldif estn presentes en la estructura del rbol del LDAP.

Formato para nuevas entradas


Agregar usuarios
Se debe crear un ldif como se muestra a continuacin

Nombre del archivo ldif marquezl.ldif


dn: uid=marquezl,ou=people,dc=ucla,dc=edu,dc=ve
uid: marquezl
cn: Luis Mrquez
objectClass: top
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
userPassword: {crypt}$1$HnC/X/r4$VknfcQlq24qGgdnDVhDIp1
shadowLastChange: 14001
shadowMax: 99999

Pgina 26 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

shadowWarning: 7
loginShell: /bin/bash
uidNumber: 1001
gidNumber: 100
homeDirectory: /home/marquezl
gecos: Luis Mrquez
Para agregar el nuevo usuario al nuevo rbol de LDAP se debe ejecutar el
siguiente comando:
#LDAPadd -x -W -D "cn=admin,dc=ucla,dc=edu,dc=ve" -f marquezl.ldif
Para revisar el resultado de la insercin ejecutamos el siguiente comando
#LDAPsearch -x -b "dc=ucla,dc=edu,dc=ve"

Formato para modificaciones


Agregar atributos
Para agregar un atributo se debe crear un ldif como se muestra a continuacin. El
nombre del ldif es add.ldif
dn: uid=marquezl,ou=people,dc=ucla,dc=edu,dc=ve
changetype: modify
add: description
description: Usuario de prueba
add: objectclass
objectclass: sambaAccount
add: telephoneNumber

Pgina 27 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

telephoneNumber: 04127777777
Se ejecuta la siguiente sintaxis:
ldapmodify -x -D cn=admin,dc=ucla,dc=edu,dc=ve -W -f add.ldif

Modificar un atributo

Para modificar un atributo se debe crear un ldif como se muestra a continuacin.


El nombre ldif es modify.ldif
dn: uid=marquezl,ou=people,dc=ucla,dc=edu,dc=ve
changetype: modify
replace: telephonenumber
telephonenumber: 04164716421
Se ejecuta la siguiente sintaxis:
ldapmodify -x -D cn=admin,dc=ucla,dc=edu,dc=ve -W -f modify.ldif

Formato para eliminaciones


Eliminar un usuario
Para eliminar un usuario del rbol del directorio se debe crear un archivo del tipo
ldif como se muestra a continuacin:
dn: uid=marquezl,ou=people,dc=ucla,dc=edu,dc=ve
changetype: delete

Ejecutamos el siguiente comando para eliminar un usuario del rbol LDAP

#LDAPmodify -x -D "cn=admin,dc=ucla,dc=edu,dc=ve" -W -f boorrar.ldif


Para revisar el resultado de la eliminacin ejecutamos el siguiente comando

Pgina 28 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

#LDAPsearch -x -b "dc=ucla,dc=edu,dc=ve"

Para eliminar un atributo


Se debe crear un ldif como el que se muestra a continuacin, el nombre del
archivo ldif es del.ldif
dn: uid=marquezl,ou=people,dc=ucla,dc=edu,dc=ve
changetype: modify
delete: telephonenumber
Se ejecuta la siguiente sintaxis
ldapmodify -x -D cn=admin,dc=ucla,dc=edu,dc=ve -W -f del.ldif

Autenticacin en LDAP
Autenticacin de clientes en LDAP
Una vez configurado el servidor de LDAP para almacenar la informacin del
directorio, podemos configurar todos los equipos de nuestra red (servidores y clientes)
para realizar la autenticacin en el servidor LDAP.

En principio, la informacin administrativa que tiene sentido centralizar en un


servicio LDAP son las cuentas de usuario (incluyendo contraseas) y cuentas de grupo.
En conjunto, la informacin almacenada en ambos tipos de cuentas permite autentificar a
un usuario cuando ste desea iniciar una sesin interactiva en un sistema Linux y, en el
caso de que la autenticacin sea positiva, crear el contexto de trabajo inicial (es decir, el
proceso shell inicial) para ese usuario. Manteniendo ambos tipos de cuentas en el
directorio permitira una gestin completamente centralizada de los usuarios del dominio.

Pgina 29 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

Internamente, este proceso de autenticacin y creacin del contexto inicial que


Linux lleva a cabo cuando un usuario desea iniciar una sesin interactiva utiliza dos
bibliotecas distintas:
1. PAM (Pluggable Authentication Module) es una biblioteca de autenticacin
genrica que cualquier aplicacin puede utilizar para validar usuarios,
utilizando por debajo mltiples esquemas de autenticacin alternativos
(archivos locales, Kerberos, LDAP, etc.). Esta biblioteca es utilizada por el
proceso de "login" para averiguar si las credenciales tecleadas por el usuario
(nombre y contrasea) son correctas.
2. NSS (Name Service Switch) presenta una interfaz genrica para averiguar
los parmetros de una cuenta (como su UID, GID, shell inicial, directorio de
conexin, etc.), y es utilizada por el proceso de "login" para crear el proceso de
atencin inicial del usuario.

La

ventaja

fundamental

de

ambas

bibliotecas

consiste

en

que

pueden

reconfigurarse dinmicamente mediante archivos, sin necesidad de recompilar las


aplicaciones que las utilizan. Por tanto, lo nico que necesitamos es reconfigurar ambas
para que utilicen el servidor LDAP adems de los archivos locales (/etc/passwd, entre
otros.) de cada equipo.
En Canaima GNU/Linux la instalacin y configuracin de los clientes la realizaremos
directamente en los archivos de configuracin. Cuando el asistente de Debian pregunte la
configuracin cancelar el mismo. Realizar los pasos siguientes: Instalar el paquete libnssLDAP, mediante la ejecucin en la consola de #aptitude install libnss-LDAP, el Name
Service Switch permite a los sistemas operativos *nix, el reemplazo de los archivos de
configuracin de los usuarios (por ejemplo: /etc/passwd, /etc/group), por bases de datos
de usuarios centralizadas, en este caso se instala la librera con soporte para LDAP, que
ser el sistema que utilizaremos:

Pgina 30 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

1. Instalar el paquete libpam-LDAP, mediante la ejecucin en la consola de


#aptitude install libpam-LDAP, este permitir la autenticacin de los usuarios
del sistema operativo en base de datos LDAP.
2. Instalar el paquete nscd, el cual permitir mantener en el cache del equipo
las bsquedas de los registros que realiza el nss, con el fin de evitar tener que
realizar esas consultas a los servidores y ahorrar tiempo y trfico en la red .

Autenticacin annima
La configuracin predeterminada de OpenLDAP, Fedora Directory Server y muchos
otros productos de LDAP disponibles en el mercado permite que un cliente consulte de
forma annima algunos atributos del directorio.
Usualmente se mostrarn atributos no crticos al estilo de una libreta de
direcciones. Para hacer la autenticacin annima con un cliente como ldapsearch basta
con indicar la opcin -x y no definir ningn DN para autenticar el usuario.
ldapsearch -h servidor -p 389 -x uid=pgonzalez

Autenticacin simple (segura y no segura)


Simple Authentication and Security Layer (capa de seguridad y autenticacin
simple). Es un framwork para manejar la autenticacin y autorizacin en protocolos de
internet. Este separa los mecanismos de autenticacin de los protocolos de la aplicacin.

Pgina 31 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

Tema 3: Distribucin de directorios


Distribucin de directorios
La informacin es ordenada en el modelo de LDAP en entradas. Una entrada es una
coleccin de atributos que tienen un nico Nombre Global Distinguido (DN). El DN se
utiliza para referirse a una entrada sin ambigedades. Cada atributo de una entrada
posee un tipo y uno o ms valores. Los tipos son normalmente palabras nemotcnicas,
como cn para common name, o mail para una direccin de correo. La sintaxis de los
atributos depende del tipo de atributo. Por ejemplo, un atributo cn puede contener el
valor

Luis

Mrquez.

Un

atributo

email

puede

contener

un

valor

marquezl@ucla.edu.ve.
Estas entradas estn organizadas en una estructura jerrquica en forma de rbol
invertido, de la misma manera como se estructura el sistema de archivos de UNIX.
Tradicionalmente esta estructura reflejaba los lmites geogrficos y/o organizacionales.
Las entradas que representan pases aparecen en la parte superior del rbol. Debajo de
ellos, estn las entradas que representan los estados y las organizaciones nacionales.
Bajo estas, pueden estar las entradas que representan las unidades organizacionales,
empleados, impresoras, documentos o todo aquello que pueda imaginarse. La siguiente
figura muestra un rbol de directorio LDAP haciendo uso del nombramiento tradicional.

c=rectorado
ou=informtica
ou=telecomunicaciones
cn=Junior Escalona

Figura N 1 rbol de directorio LDAP (nombramiento tradicional)


El rbol tambin se puede organizar basndose en los nombres de dominio de
Pgina 32 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

Internet. Este tipo de nombramiento se est volviendo muy popular y en los actuales
momentos es el ms utilizado, ya que permite localizar un servicio de directorio haciendo
uso de los DNS. La siguiente figura muestra un rbol de directorio que hace uso de los
nombres basados en dominios.

dc=ve
dc=edu
dc=ucla

ou=people

ou=users

ou=adm

cn=luis

cn=pedro

cn=root

Figura N 2 rbol de directorio LDAP (nombramiento de Internet)


Un ejemplo del DN sera:
dn: cn=Luis Mrquez, ou=people, dc=ucla, dc=edu, dc=ve

Observe que el dn se construye de abajo hacia arriba. Al igual que se construyen


los nombres en DNS.

Adems, LDAP permite controlar qu atributos son requeridos y

permitidos en una entrada gracias al uso del atributo denominado objectClass. El valor
del atributo objectClass determina qu reglas de diseo (schema rules) ha de seguir la
entrada.

Pgina 33 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

Unidad III: Servicio de directorio OpenLDAP


Conexiones Seguras
Lo primero que se debe evaluar es la seguridad de la red. Los clientes se conectan
al servidor LDAP a travs de las interfaces de red, y tambin las respuestas del servidor
se transfieren a travs de la red.
El protocolo LDAP por defecto recibe y enva los datos en texto plano, lo cual tiene
algunas ventajas entre las cuales tenemos :

Facilidad de configurar y mantener.

El servicio funciona ms rpido, al no tener que transformar los datos cifrados, lo


cual siempre provee de una carga adicional de procesamiento.
Estas ventajas tienen un costo de seguridad, otros dispositivos en la red pueden

interceptar los datos y leer todo el contenido de los mismos, mientras ms grande es una
red esto se convierte en una amenaza mayor.
Para evitar eso los servidores LDAP implementan SSL (Secure Sockets Layer) y TLS
(Transport Layer Security), ambos mecanismos son utilizados para cifrar los datos antes
de transmitirlos por la red. SSL y TLS son similares y son ampliamente utilizados, la
principal diferencia es que TLS es mas flexible que SSL.
OpenLDAP provee dos mecanismos para cifrar el trfico en la red, el primero es
escuchar por un puerto especfico (puerto 636 por defecto), lo que hace que las
comunicaciones en ese puerto sean cifradas, este mecanismo fue introducido en LDAP
v2, y se considera un mtodo en desuso. El segundo mecanismo es parte de los
estndares de LDAP v3, el cual permite a los clientes conectarse a travs de un puerto
(389 por defecto), para conexiones cifradas o en texto plano y ser el cliente el que
seleccionar el tipo de conexin que desea. El uso de certificados permite no solo cifrar la

Pgina 34 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

informacin entre el servidor y los clientes, sino tambin garantizar que el servidor al
cual se conecta el cliente es autentico.
Actualmente existen autoridades para emitir certificados conocidos como CA
(Certification Authority), los cuales a travs de un procedimiento de recoleccin de
informacin y un pago, emiten un certificado que tiene validez por un tiempo especfico y
los servidores y los clientes reconocen el mismo.
Existe tambin la posibilidad de crear los certificados para uso de las
organizaciones o individuos de manera interna, para esto de debe generar un CA con la
cual se firmarn los certificados que se emitirn para los clientes y servidores. Estos
certificados no sern reconocidos como vlidos fuera de la organizacin que los emite,
por lo cual solo se recomienda para uso interno.
Para crear una CA, con el fin de firmar nuestros propios certificados, se debe instalar el
paquete openssl, el cual en Debian GNU/Linux, instala un script que permite la creacin
de un CA, el mismo queda instalado en la ruta /usr/lib/ssl/misc/CA.pl, debe ejecutarse de
la siguiente manera :
#/usr/lib/ssl/misc/CA.pl -newca
1. Se mostrar un mensaje con lo siguiente, CA certificate filename (or enter to
create) , en donde hay que pulsar enter.
2. Luego de generar la clave del certificado preguntar por una contrasea
para el mismo, Enter PEM pass phrase:
3. Luego solicitar una serie de informacin sobre la organizacin, y finalmente
terminar de crear el certificado para la CA.
4. Al finalizar tendremos un directorio llamado demoCA, con los certificados.
Luego de esto se tendr que generar los certificados para el servidor LDAP, lo cual ser
de la siguiente manera:
1. Ejecutar /usr/lib/ssl/misc/CA.pl -newreq desde una consola luego se repetirn

Pgina 35 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

los pasos 2 y 3 de la creacin de la CA.


2. Al finalizar tendremos dos archivos llamados newkey.pem (Clave Privada)
newreq.pem (Certificado).
3.

Luego

tenemos

que

firmar

los

certificados

con

el

CA

generado

anteriormente, para esto ejecutamos desde la consola /usr/lib/ssl/misc/CA.pl


-signreq, preguntar la contrasea de la CA y luego tendremos dos archivos,
newkey.pem, el cual contiene la clave privada y newcert.pem el cual contiene
el certificado firmado.Se remueve la contrasea que tiene el certificado
ejecutando desde la consola el comando #openssl rsa < newkey.pem >
clearkey.pem.
4. Luego de esto copiamos los archivos clearkey.pem y newkey.pem a un
directorio por conveniencia, por ejemplo /etc/ldap/ssl. En caso de que no exista
este directorio, debe ser creado: mkdir -p /etc/ldap/ssl
5. Instalar el certificado de la CA, para hacer esto copiamos el archivo
cacert.pem a /usr/share/ca-certificates/miCA.crt, editar el archivo /etc/cacertificates.conf, y colocar al final del archivo miCA.crt, y ejecutar desde la
consola #update-ca-certificates.
6. Agregar en el archivo de configuracin de LDAP, para la utilizacin de los
certificados y que el mismo corra en modo SSL/TLS, la configuracin quedara
de la siguiente manera:

TLSCACertificatePath /etc/ssl/certs/

TLSCertificateFile /etc/LDAP/clearkey.pem

TLSCertificateKeyFile /etc/LDAP/newkey.pem

7. Luego de esto el servidor LDAP estar ejecutndose con soporte SSL/TLS.

El servidor slapd
slapd
slapd es el motor del servidor de directorio OpenLDAP. Es una de las tantas
Pgina 36 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

implementaciones de LDAP en software libre. Esta versin es la ms popular en trminos


de

nmero

de

implementaciones;

vale

la

pena

mencionar

que

existen

varias

implementaciones de LDAP en software propietario, como por ejemplo implementaciones


de Sun, IBM, Microsoft y otras.

Pgina 37 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

Tema 1: Implementacin de un servicio de directorio OpenLDAP en


Canaima GNU/Linux
En este tema describiremos como instalar un servicio de directorio OpenLDAP en
Canaima GNU/Linux para su utilizacin en cualquier aplicacin que maneje LDAP.

Instalacin del servidor


OpenLDAP se provee en el paquete slapd distribuido en el repositorio universo de
Canaima, por lo que puede ser instalado con aptitude:
aptitude install slapd
El gestor de configuracin debconf har algunas preguntas sobre el directorio
LDAP, que incluyen el nombre del dominio (en terminologa LDAP se denomina DN 12 base)
y la contrasea del administrador del LDAP, que usualmente tendr como DN
cn=admin,<DN base>. Almacene esta informacin de forma segura.

Elementos de configuracin
OpenLDAP

se

configura

en

el

archivo

/etc/ldap/slapd.conf.

El

gestor

de

configuracin debconf habr configurado este archivo por usted, pero en ocasiones
puede ser til hacer ciertos cambios, como por ejemplo:
1.Parmetros de registro: el parmetro loglevel puede ser ajustado para almacenar ms
o menos informacin sobre la operacin del directorio. Por ejemplo, loglevel stats es el
nivel recomendado por los desarrolladores y registra conexiones, consultas y resultados
en el archivo /var/log/syslog
2.Listas de control de acceso: OpenLDAP maneja listas ACL que permiten controlar el
acceso a los datos de forma granular13. Por ejemplo, una recomendacin comn es
12 Nombre distintitov, por sus siglas en ingls
13 http://www.openldap.org/doc/admin24/access-control.html#Access%20Control%20Common%20Examples
Pgina 38 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

proteger los atributos de contraseas de Samba con una ACL como se describe a
continuacin:
access to attr=sambantpassword, sambalmpassword, sambapasswordhistory
by cn=admin,<base DN> write
by self write
by * none

Pgina 39 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

Tema 2: Control de acceso al directorio a travs de listas de control


de acceso (ACLs)
Control de acceso al directorio a travs de listas de control de acceso
La base de datos LDAP, contiene informacin sensible, por ejemplo el atributo
userPassword contiene las contraseas de los usuarios, pero tambin existe otro tipo de
informacin como datos personales de las personas que deben ser resguardados.
Para controlar la autorizacin en los servidores LDAP se utilizan ACLs (Lists de
Control de Acceso), cuando un servidor LDAP procesa un requerimiento de un cliente
evala los permisos de acceso del mismo a la informacin solicitada. Esta evaluacin
verifica secuencialmente cada una de las ACLs, ubicadas en los archivos de configuracin
y aplica las reglas apropiadas al requerimiento.

Estructura general de una ACL


La configuracin de las ACLs, se pueden realizar de dos maneras:
1. Directamente

en

el

archivo

de

configuracin

del

servidor

LDAP,

/etc/LDAP/slapd.conf, y pueden ser colocadas al principio del archivo con lo cual


afectarn a todas las bases de datos que posee el servidor.
2. Dentro de la directiva backend, con lo cual solo afectar a la base de datos
especifica.
Cuando se poseen muchas reglas de acceso, es recomendable colocar en un
archivo aparte y utilizar la sintaxis include /etc/LDAP/nombredearchivo, con lo cual se
mantendr el archivo slapd.conf menos complejo.
Las directivas de acceso tienen la siguiente sintaxis :

Pgina 40 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

access to [recurso]
by [quien] [tipo de privilegio]
by [quien] [tipo de privilegio]
Las directivas access pueden tener uno o mas by, as mismo pueden permitir
accesos por DN, atributos, filtros, o una combinacin de estos.

Usos comunes de las ACLs


Para restringir un acceso a un DN en particular, se debe utilizar una regla como la
siguiente:
access to dn="uid=pedro,ou=Users,dc=universidad,dc=edu,dc=ve"
by * none
El by * none, rechaza los accesos a todos. Las restricciones a los DN, pueden ser
especificadas de la siguiente manera:

dn.base : Restringe el acceso para un DN especifico, es la opcin por defecto,

dn.exact y dn.baselevel : son sinnimos de dn.base.

dn.one : Restringe el acceso a la siguiente entrada que este despues del DN


especificado.

dn.subtree : Restringe el acceso a todo el rbol debajo del DN especificado.


Las ACLs, tambin aceptan expresiones regulares lo cual incrementa el nivel de

complejidad que se puede utilizar para formular las mismas. A continuacin un ejemplo
utilizando expresiones regulares:
access to dn.regex="uid=[^,]
+,ou=Users,dc=universidad,dc=edu,dc=ve"
by * none
En el ejemplo anterior se restringe el acceso a cualquier DN, con la expresin
uid=cualquier cosaou=Users,dc=universidad,dc=edu,dc=ve, donde cualquier cosa
Pgina 41 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

debe ser un texto con al menos un carcter y sin comas (,), las expresiones regulares
permiten incrementar en gran medida la utilidad de las listas de acceso.

Pgina 42 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

Tema 3: Poblando el directorio OpenLDAP


Un directorio LDAP no cumple ninguna funcin til si no almacena informacin y
sirve esta informacin a sus clientes. En este tema desarrollaremos las estrategias para
llenarlo.

Durante el desarrollo de todo este captulo nos referiremos al formato de

intercambio de informacin de directorios LDAP con el acrnimo LDIF 14, que es una
representacin en texto de los contenidos de un directorio y sirve para trasladar
porciones del directorio o incluso el directorio completo de un equipo a otro.

Definicin de la estructura inicial del directorio


El gestor de configuracin debconf cre por usted una estructura inicial del
directorio en base al DN base que le preguntaron y a la contrasea del usuario
administrativo (cn=admin,<DN base>)
Usted puede ver esa estructura inicial exportando los contenidos del directorio con
la utilidad slapcat. Tenga en cuenta que debe tener privilegios administrativos (root), ser
el usuario openldap o pertenecer a ese grupo para exportar los contenidos.
slapcat > contenido_inicial.ldif
Tambin puede utilizar una herramienta grfica como gq, Apache Directory Studio
o phpLDAPAdmin para visualizar y trabajar la informacin del directorio.

Incorporacin de entradas iniciales


Casi cualquier directorio LDAP tiene unas entradas iniciales denominadas raz del
directorio que conforman la poblacin inicial del mismo. Usualmente estas entradas
definen la base del directorio y pueden ser reutilizadas para reconstruir la raz, por
ejemplo:

14 Formato de intercambio de LDAP, por sus siglas en ingls.


Pgina 43 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

dn: dc=cnti,dc=gob,dc=ve
objectClass: top
objectClass: dcObject
objectClass: organization
o: CNTI
dc: cnti
structuralObjectClass: organization
Esta entrada muestra la raz del directorio LDAP para dc=cnti,dc=gob,dc=ve. Debe
ser la primera entrada de un LDIF para este directorio porque define la base.

Para aadir este registro podemos utilizar dos mtodos. Si estamos cargando todo
un directorio a partir de un archivo LDIF nuevo, y el directorio est vaco, podemos usar
slapadd. Esta es una herramienta nativa de OpenLDAP que accede directamente a la
base de datos subyacente y agrega los registros.

Por ejemplo, si almacenramos el

registro anterior en el archivo raiz.ldif, bastara con ejecutar, como el usuario openldap,
un usuario administrativo o un usuario perteneciente al grupo openldap:
slapadd < raiz.ldif

Otra forma de aadir la informacin es utilizando la herramienta ldapadd,


incorporada en el paquete ldap-utils de Canaima. Este paquete tambin incluye las
herramientas ldapsearch, ldapdelete y ldapmodify, y comparten algunas opciones
comunes que reseamos a continuacin:

-D

<bind DN>: especifica el DN de conexin del usuario con el que se autenticar para

las acciones solicitadas, usualmente se utilizar aqu el DN del administrador del


directorio que fue definido en la instalacin y que de forma predeterminada es

Pgina 44 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

cn=admin,<DN base>
-W:

solicita a ldap-utils que pida la contrasea en un prompt una vez ejecutado el

comando
-x:

utiliza autenticacin sencilla en vez de SASL, lo cual es el caso predeterminado en la

mayora de las implementaciones


-b

<base>: define la base o raz del directorio LDAP, por ejemplo dc=cnti,dc=gob,dc=ve

-h

<host>: define la direccin IP o nombre de dominio del directorio LDAP

-Z:

indica si es necesario emitir la instruccin de inicio de conexin usando el protocolo

TLS

Modificando la informacin existente


El paquete ldap-utils, nombrado anteriormente, contiene una herramienta llamada
ldapmodify que permite modificar a travs de la consola los valores de un registro.
Tambin puede utilizar herramientas grficas para modificar los datos. Por ejemplo, si
quisiramos cambiar el valor de atributo o para la entrada dc=cnti,dc=gob,dc=ve que
creamos anteriormente, podemos utilizar ldapmodify creando un archivo cambios.ldif que
contenga esto:
dn: dc=cnti,dc=gob,dc=ve
changetype: modify
replace: o
o: Centro Nacional de Tecnologias de Informacion
Esta porcin de archivo de cambios que hemos visto se denomina un conjunto de
cambios, y se caracteriza porque contiene:

Pgina 45 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

1.El DN del registro a modificar


2.El tipo de cambio (una modificacin)
3.El atributo que se reemplazar (o)
4.El nuevo valor (Centro Nacional de Tecnologas de Informacin)

En un conjunto de cambios es posible hacer varios cambios sobre un mismo


registro separando los cambios con una lnea nueva y un smbolo de guin (-), por
ejemplo:
dn: dc=cnti,dc=gob,dc=ve
changetype: modify
replace: o
o: Centro Nacional de Tecnologias de Informacion
add: objectclass
objectclass: another
-

As mismo, es posible actuar sobre varios registros en un slo archivo de cambios,


separando los conjuntos de cambios por dos caracteres de nueva lnea:
dn: dc=cnti,dc=gob,dc=ve
changetype: modify
replace: o
o: Centro Nacional de Tecnologias de Informacion
-

Pgina 46 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

dn: ou=Unidad,dc=cnti,dc=gob,dc=ve
changetype: modify
replace: description
description: nueva descripcion
-

Una vez preparados los conjuntos de cambios en el archivo cambios.ldif, podemos


invocar a ldapmodify de la siguiente forma:
ldapmodify -f cambios.ldif
Opcionalmente deber incluir las opciones comunes definidas en el captulo 4.2 de
este documento para personalizar el comportamiento del comando ldapmodify.

Trabajando con las contraseas


En ejemplos anteriores vimos como el formato LDIF contempla la posibilidad de
que un valor est codificado en Base64. Usualmente esto se hace en atributos cuyos
valores tienen caracteres ajenos a ASCII (por ejemplo caracteres del idioma castellano) y
en el campo de contraseas.

Ya que Base64 no es un algoritmo de cifrado sino un sistema de codificacin,


usualmente se requiere que las contraseas se cifren usando algoritmos conocidos como
UNIX crypt, MD5 o SHA1. En estos casos, la sintaxis de la contrasea es:
{ALGORITMO}contrasea cifrada
Por ejemplo:
{MD5}4d186321c1a7f0f354b297e8914ab240

Pgina 47 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

Los algoritmos utilizados son algoritmos de resumen de una va. Estos algoritmos
producen una salida fija dada una entrada fija, por ejemplo:
hola => MD5 => 4d186321c1a7f0f354b297e8914ab240
Sin

embargo,

no

es

posible

obtener

'hola'

partir

de

4d186321c1a7f0f354b297e8914ab240 lo cual hace a estos algoritmos candidatos para


esquemas de cifrado sencillos.

Es posible usar la herramienta base64 incluida en el paquete coreutils se puede


utilizar para codificar y decodificar contenido en Base64, por ejemplo:
echo 'hola' | base64 # codificamos
aG9sYQo=
echo 'aG9sYQo=' | base64 -d # descodificamos
hola

Verificando el contenido del directorio


Para verificar el contenido de todo un directorio LDAP podemos utilizar la
herramienta slapcat que vuelca en pantalla toda la informacin del directorio en formato
LDIF. Esto lo debemos ejecutar con el usuario openldap, un usuario administrativo o un
usuario en el grupo openldap:
slapcat
As mismo, podemos hacer consultas granulares usando la herramienta ldapsearch,
incluida en el paquete ldap-utils:
ldapsearch uid=jose

Pgina 48 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

Unidad IV: Integracin con los servicios de directorio LDAP


Tema 1: Integracin con el sistema operativo
Uno de los casos de uso de directorios LDAP ms comunes es integrar este
directorio con un sistema operativo GNU/Linux para sistemas multiusuario e inicio de
sesin centralizado. En este tema describiremos los pasos de integracin de un directorio
OpenLDAP con un sistema operativo Canaima GNU/Linux.

Mapeo de cuentas de usuario y grupos locales


Cuando se implementa un directorio OpenLDAP usualmente se desea descontinuar
el uso de cuentas de usuario y grupos locales, por lo que se busca llevar estas cuentas al
directorio LDAP. Verifique el contenido del archivo /etc/passwd e identifique las cuentas
de usuarios.

En Canaima GNU/Linux, las cuentas de usuario se diferencian de las de sistema


porque empiezan a partir del identificador numrico nmero 1000. No necesita migrar las
cuentas de sistema a un directorio LDAP.

Resolucin de nombre NSS


El conmutador del servicio de nombres NSS se encarga de atender las solicitudes
de conversin de un nombre de usuario (por ejemplo 'pedro') a un identificador numrico
como 146593. Esta conversin es necesaria porque internamente el sistema slo maneja
identificadores numricos.

En una instalacin predeterminada de Canaima GNU/Linux, NSS utilizar un archivo

Pgina 49 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

local llamado /etc/passwd para esta tarea, pero cuando se implementa un directorio
OpenLDAP se desea que NSS utilice el directorio para esta conversin. Funcionalmente,
el resultado ser que el sistema Canaima GNU/Linux podr identificar a los usuarios del
directorio. Para esto debemos instalar el paquete libnss-ldap disponible en los
repositorios de Canaima.

Configuracin de bases de datos de bsqueda


Como primer paso, debemos configurar una fuente LDAP para NSS en el archivo
/etc/libnss-ldap.conf, de la siguiente forma:
host localhost
base dc=cnti,dc=gob,dc=ve
ldap_version 3
scope sub
En esta configuracin indicamos que hay un servidor LDAPv3 en 'localhost'
sirviendo el directorio dc=cnti,dc=gob,dc=ve y que deseamos hacer bsquedas de
subrbol en este directorio.

Configuracin del modulo LDAP


As mismo, distintas herramientas del sistema utilizan un archivo centralizado
llamado /etc/ldap/ldap.conf para consultar informacin sobre el directorio LDAP del
sistema, por ello lo debemos configurar as:
BASE dc=cnti,dc=gob,dc=ve
URI localhost
Esta configuracin es anloga a lo especificado en el punto 1.2.1.

Pgina 50 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

Autenticacin de usuarios Mdulos de autenticacin apilables PAM


Los mdulos de autenticacin apilables de GNU/Linux, PAM, sirven para autenticar
y controlar el acceso a servicios del sistema operativo. Funcionalmente, la expectativa es
que un usuario pueda hacer inicio de sesin en el sistema.
Para esto requerimos instalar el paquete libpam-ldap.

Configuracin de reglas de autenticacin


Hay cuatro (4) servicios del sistema operativo que se deben configurar para que se
integre completamente a un directorio OpenLDAP:
1.account: gestiona la administracin de cuentas, pero no autentica al usuario.
Tpicamente se utiliza para restringir o permitir el acceso a una cuenta en base a
parmetros como hora del da, bloqueo de cuenta o ubicacin
2.auth: este servicio autentica al usuario en dos etapas, establecer la identidad del
usuario, por ejemplo solicitando una contrasea, y adjudicar permisologas especiales
como membresa a grupos
3.password: permite autenticar tokens de autenticacin asociados con el usuario en
escenarios de desafo/respuesta
4.session: permite realizar operaciones antes y despus de prestar el servicio al usuario,
como por ejemplo crear su directorio personal o montar particiones externas

En Canaima GNU/Linux, estos cuatro (4) servicios se configuran en el directorio


/etc/pam.d, y especficamente en los archivos common-account, common-auth, commonpassword y common-session. Puede obtener mayor informacin sobre pam.d en la pgina
del manual man pam.d.

En cada uno de estos cuatro (4) archivos se debe agregar la siguiente lnea:
Pgina 51 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

servicio sufficient pam_ldap.so


Donde servicio es account, auth, password o session dependiendo del archivo que
se est editando.

Configuracin de modulo LDAP


El mdulo LDAP de PAM se configura en el archivo /etc/pam_ldap.conf. La sintaxis y
contenido de este archivo es igual a la del archivo NSS:
host localhost
base dc=cnti,dc=gob,dc=ve
ldap_version 3
scope sub

Pgina 52 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

Tema 2: Integracin con controladores de dominio Samba


El sistema operativo Microsoft Windows no es capaz de interoperar nativamente
con el protocolo estndar LDAP, ni con OpenLDAP, para autenticar a sus usuarios del
sistema.

Usualmente se debe combinar un directorio LDAP con un controlador de

dominio SMB/CIFS, como Microsoft Active Directory, para lograr que los usuarios de
Microsoft Windows puedan acceder utilizando credenciales centralizadas de LDAP.

As mismo, hay escenarios en los que usuarios de GNU/Linux necesitan acceder a


recursos compartidos usando el protocolo SMB/CIFS como archivos e impresoras, en cuyo
caso tambin es deseable que se integre con un directorio OpenLDAP.

Samba es una implementacin parcial, libre y de cdigo abierto, del protocolo


SMB/CIFS que puede cumplir este rol. Para obtener el software debemos instalar los
paquetes samba y samba-doc. En este captulo estudiaremos lo que se requiere
modificar para integrar un controlador de dominio Samba con OpenLDAP.

Esquemas adicionales
Hay dos elementos bsicos que podemos registrar en un directorio OpenLDAP y
que son de inters para la implementacin de un controlador de dominio con Samba:
1.Cuentas de usuario
2.Cuentas de mquina

Para convertir cuentas de usuario ya existentes en un directorio OpenLDAP en


cuentas de usuario Samba es necesario hacer que la entrada pertenezca a la clase de
objetos sambaSAMAccount, independientemente de las clases de objetos a las que ya

Pgina 53 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

perteneciera.

La clase de objetos sambaSAMAccount, as como los atributos que ella define, se


encuentran completamente descritos en el esquema samba.schema. Este esquema se
puede conseguir comprimido con gzip en el paquete samba-doc:
gunzip

-c

/usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz

>

/etc/ldap/schema/samba.schema

Los esquemas de OpenLDAP se almacenan en la carpeta /etc/ldap/schema y deben


ser declarados en el archivo de configuracin de OpenLDAP, /etc/ldap/slapd.conf:
include /etc/ldap/schema/samba.schema
Luego de este cambio debe reiniciarse el servicio slapd:
invoke-rc.d slapd restart

Mapeo de cuentas de usuario y grupos


Una vez activo el esquema de Samba en el directorio OpenLDAP, hay que agregar
algunos atributos para convertir una entrada de usuario POSIX tradicional en una entrada
Samba. A continuacin comentamos una entrada completa de usuario POSIX/Samba:
dn:

uid=gcarter, Nombre distintivo

ou=People,dc=quenya,dc=org
displayName: Gerald Carter

Nombre completo del usuario

sambaLMPassword:

Hash de 16 bytes de la contrasea LanMan

552902031BEDE9EFAAD3B435B51404EE

en formato hexadecimal

sambaPrimaryGroupSID: S-1-5-21-

Identificador

2447931902-1787058256-3961074038-

principal del usuario

de

seguridad

Pgina 54 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

del

grupo

1201
objectClass: posixAccount

Clase de objeto

objectClass: sambaSamAccount

Clase de objeto

userPassword: {crypt}BpM2ej8Rkzogo

Contrasea cifrada en formato UNIX crypt

uid: gcarter

Identificador del usuario

uidNumber: 9000

Identificador numrico del usuario

cn: Gerald Carter

Nombre completo del usuario

loginShell: /bin/bash

Consola de inicio de sesin

gidNumber: 100

Identificador numrico del grupo principal


del usuario

sambaPwdLastSet: 1010179230

Fecha/hora

del

ltimo

cambio

de

contrasea
sambaSID: S-1-5-21-2447931902-

Identificador de seguridad del usuario

1787058256-3961074038-5004
homeDirectory: /home/moria/gcarter

Directorio personal del usuario

sambaNTPassword:

Hash de 16 bytes de la contrasea NT en

878D8014606CDA29677A44EFA1353FC7

formato hexadecimal

Es importante resaltar que los sistemas SMB/CIFS, en particular Microsoft Windows,


no pueden procesar las contraseas en formatos UNIX crypt, MD5 o SHA1, por lo que se
almacenan las contraseas en los formatos NT y LanMan. Adicionalmente, as como en
sistemas POSIX como GNU/Linux existen identificadores numricos (uidNumber), en
sistemas Microsoft Windows se manejan identificadores de seguridad (SID) por lo que
tambin se almacena esta informacin en el directorio LDAP. Para aadir o modificar las
entradas LDAP e incluir estos atributos, refirase al tema 4.3 de la unidad anterior.

Pgina 55 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

Tema 3: Integracin con servicios de red


Proxy LDAP
Un servidor proxy LDAP acta como un intermediario entre los clientes y los
servidores que poseen los datos, y son de gran utilidad cuando se tienen gran cantidad
de servidores y se requiere agrupar en uno solo.

Configuracin de un servidor proxy LDAP


A continuacin se presenta un ejemplo de configuracin de servidor proxy LDAP,
en donde deberemos editar el archivo /etc/ldap/slapd.conf y colocar lo siguiente:
1. database meta (el tipo de base de datos a utilizar)
2. suffix "dc=reacciun,dc=ve" (la base del directorio proxy)

3. uri "LDAP://LDAP.universidad.edu.ve/dc=universidad,dc=reacciun,dc=ve"
4. suffixmassage

"dc=universidad,dc=reacciun,dc=ve"

"dc=universidad,dc=edu,dc=ve"

Pgina 56 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

Unidad V: Administracin avanzada de directorios OpenLDAP


Tema 1: Conexiones seguras al directorio - SSL/TLS
En ciertos escenarios es deseable incorporar la posibilidad de cifrar, autenticar y
garantizar la integridad de las comunicaciones entre los clientes y el directorio LDAP. Para
esto se utilizan los protocolos SSL y/o TLS.

La diferencia principal entre ambos protocolos es que la sesin cifrada se negocia y


establece antes de la sesin LDAP en el caso de SSL y ocurre al revs en el caso de TLS.
En trminos generales, se considera que TLS es un sucesor de SSL y se prefiere la
utilizacin de TLS, como se har en este manual.

Para implementar TLS en un servidor OpenLDAP se requiere:


1.Una llave SSL para el servidor, que llamaremos servidor.key
2.Un certificado firmado por una CA (autoridad certificadora), que llamaremos
servidor.crt
3.El certificado de la CA que firm el certificado del servidor, que llamaremos ca.crt

Colocamos estos tres (3) archivos en un directorio, por ejemplo /etc/ldap/ssl, que el
usuario openldap pueda leer, y editamos el archivo /etc/ldap/slapd.conf para incluir la
siguiente configuracin:
TLSCACertificateFile /etc/ldap/ssl/ca.crt
TLSCertificateFile /etc/ldap/ssl/servidor.crt
TLSCertificateKeyFile

Certificado de la CA
Certificado del servidor
Llave del servidor

/etc/ldap/ssl/servidor.key

Pgina 57 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

Indica que no se requerir que los clientes

TLSVerifyClient never

presenten sus certificados

Reiniciamos el servicio con el comando invoke-rc.d slapd restart y ya podemos


disponer de conexiones TLS en nuestro servidor OpenLDAP.

Sin embargo, tambin es

necesario que los clientes configuren sus entornos operacionales para que puedan
comunicarse de forma cifrada, con autenticidad e integridad, al servidor OpenLDAP. Esto
es natural ya que la seguridad del canal depende normalmente de la sincronizacin de
ambos extremos.

El cliente slo requiere tener el certificado de la CA. Este certificado puede ser
ledo por cualquier usuario del sistema, ya que no compromete la seguridad del
esquema. Por ejemplo, colocamos ca.crt en la carpeta /etc/ldap/ssl tal y como hicimos en
la parte de servidor. As mismo, en el archivo /etc/ldap/ldap.conf, el cual vimos en detalle
en el captulo 1.2.2 de la Unidad IV, agregamos las lneas:

TLS_CACERT /etc/ldap/ssl/ca.crt
TLS_REQCERT never

Con esta configuracin, podremos utilizar las herramientas del paquete ldap-utils
con la opcin -Z, que emite una instruccin para iniciar la conexin usando TLS. As
mismo, cualquier aplicacin que respete la configuracin de /etc/ldap/ldap.conf puede
comunicarse usando TLS con el servidor LDAP.

Para ampliar ms sobre este tema, ir al Tema 3 de la unidad anterior.

Pgina 58 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

Tema 2: Existencia de ms de una copia


Existencia de ms de una copia (slurpd)
En entornos de grandes redes y servidores LDAP con grandes base de datos, se
requiere mantener ms de un servidor LDAP, y esto se realiza mediante el demonio
sluprd.
El acrnimo slurpd significa: Standalone LDAP Update Replication Daemon y su
misin es propagar los cambios de una base de datos slapd hacia otra. Si slapd est
configurado para producir logs de replicacin, slurpd los lee y enva los cambios a las
instancias slapd esclavas a travs del protocolo LDAP. slurpd se arranca, normalmente, en
el arranque del sistema.
Una vez arrancado, slurpd normalmente hace un fork de si mismo y se independiza
de la consola que lo ha llamado, luego lee el log de replicacin (dado bien por la directiva
replogfile del archivo de configuracin de slapd, bien por la opcin -r de la lnea de
comandos). Si el archivo log de replicacin no existe o est vaco, slurpd se duerme.
Despus, cada cierto tiempo, se despierta y verifica si hay cambios que propagar.
Cuando slurpd encuentra cambios a propagar hacia las instancias slapd esclavas,
bloquea el log de replicacin, hace una copia privada del mismo, libera el bloqueo
anteriormente puesto y crea procesos hijos de si mismo para cada rplica de slapd que
ha de ser actualizada; luego, cada uno de estos procesos hijo se asocia con el demonio
slapd esclavo, y enva los cambios.
El funcionamiento es el siguiente :

El cliente LDAP enva una modificacin LDAP al slapd esclavo.

El slapd esclavo devuelve una remisin hacia el cliente LDAP, referenciandolo hacia
el servidor slapd maestro.

Pgina 59 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

El cliente LDAP enva la operacin de modificacin LDAP hacia el slapd maestro.

El slapd maestro realiza la operacin de modificacin, escribe los cambios en su


archivo log de replicacin y devuelve un cdigo de xito hacia el cliente.

El proceso slurpd verifica que se ha aadido una nueva entrada al archivo log de
replicacin, lee la entrada del log de replicacin y enva el cambio hacia el servidor
slapd esclavo va LDAP.

El servidor slapd esclavo realiza la operacin de modificacin y un cdigo de xito


hacia el proceso slurpd.

Decidiendo el mecanismo de replicacin


En ciertos escenarios, el mecanismo de replicacin provisto por slurpd no es
suficiente para garantizar una integridad funcional en un entorno de directorios
OpenLDAP. Existen otros mecanismos de replicacin disponibles para OpenLDAP, como
por ejemplo la replicacin usando syncrepl y la replicacin multi-master.

Los mecanismos de replicacin de OpenLDAP estn constantemente mejorando,


por lo que se recomienda consultar la Gua del Administrador15 ms actualizada para
obtener la informacin adecuada. Sin embargo, a continuacin presentamos una
comparativa de algunos de los mecanismos ms populares:
Mecanismo

Caractersticas
Slo

permite un servidor maestro

Iniciado

slurpd

Modelo
Se

Syncrepl

por el proveedor
basado en PUSH

ejecuta peridicamente

Slo

se ejecuta de haber cambios

Slo

permite un servidor maestro

15 http://www.openldap.org/doc/admin24/replication.html
Pgina 60 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

Iniciado
Modelo
Se

basado en PULL

ejecuta peridicamente

Slo

se ejecuta de haber cambios

Admite

N-way multimaster

por el consumidor

varios servidores maestros

Es

n-vas, es decir, todos los servidores inician el proceso de


replicacin
Se

ejecuta constantemente

Puede

causar problemas de integridad

Admite

slo dos servidores maestros

Requiere

Mirror mode

tres servidores: los dos maestros y un frontend para

escrituras
Se

ejecuta constantemente

Permite

esquemas de alta disponibilidad

Existencia de ms de una copia (syncrepl)


Para implementar un servidor de rplica utilizando syncrepl, se deben seguir los
pasos especificados en este Manual para la instalacin de OpenLDAP asegurndose que
las respuestas que se hacen a las preguntas de la instalacin sean iguales que las que se
dieron en la instalacin del servidor principal

Luego, se deben agregar las siguientes lneas al archivo de configuracin


/etc/ldap/slapd.conf:
syncrepl rid=100

rid=XXX, donde XXX es un nmero nico


y arbitrario, ya que se pueden definir
varias rplicas en un mismo archivo de
configuracin

provider=ldap://10.10.10.1/

Direccin IP del maestro

type=refreshAndPersist

Tipo de la replicacin
Pgina 61 de 81

Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

searchbase="dc=cnti,dc=gob,dc=ve Base del directorio


"
filter="(objectClass=*)"

Si se desea filtrar las entradas a replicar


se puede definir un filtro LDAP aqu

scope=sub

Base de bsqueda (subrbol)

attrs="*"

Atributos a replicar, * para todos

schemachecking=off

Verificar
esquemas
rplica

bindmethod=simple

Mecanismo de autenticacin

compatibilidad
instalados en

con
los
el servidor

binddn="cn=admin,dc=cnti,dc=gob, DN del usuario que tiene privilegios para


acceder a los datos en el maestro
dc=ve
credentials=myf1r5treplica

Credenciales del DN anterior

Es conveniente utilizar el DN del administrador del directorio LDAP (en nuestro


caso, cn=admin,dc=cnti,dc=gob,dc=ve) ya que ste DN tiene privilegios para acceder a
todo el directorio de forma predeterminada. Sin embargo, tambin es posible crear un DN
distinto y otorgarle los permisos para acceder al directorio con slo lectura, por ejemplo:
access to *
by 'cn=replica1,dc=cnti,dc=gob,dc=ve' read

Una vez configurado slapd.conf, reiniciamos el servicio y se iniciar el proceso de


replicacin. Dependiendo del volumen de datos y la conexin entre la rplica y el maestro
podr tomar entre unos pocos segundos y varios minutos.

Pgina 62 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

Tema 3: Particionando el directorio


En la vasta mayora de los escenarios, almacenar todo el contenido de un
directorio LDAP en un slo servidor LDAP es suficiente y aceptable. La tecnologa de los
motores de almacenamientos disponibles en, por ejemplo, OpenLDAP, evoluciona
constantemente. Es sustentable tener directorios OpenLDAP con varios millones de
registros ofreciendo servicio de calidad a sus clientes.

Sin embargo, por razones de

seguridad, administracin, sustentabilidad o rendimiento, algunas organizaciones pueden


decir particionar su directorio LDAP entre varios servidores OpenLDAP.

Para ello, delegan porciones del rbol de informacin en otros servidores


OpenLDAP, y mantienen objetos de referencia que permiten pegar todos los servidores
que forman parte de la solucin. En este ejemplo, supongamos que el DIT hipottico
dc=gob,dc=ve administrado por el CNTI para la Administracin Pblica Venezolana desea
delegar subrboles a cada una de las organizaciones que la conforman. Tomemos por
ejemplo:
dc=gob,dc=ve:

Gobierno Venezolano, servidor ldap.gob.ve

dc=cnti,dc=gob,dc=ve:

CNTI, servidor ldap.cnti.gob.ve

dc=mopvi,dc=gob,dc=ve:
dc=fmh,dc=gob,dc=ve:

MOPVI, servidor ldap.mopvi.gob.ve

FMH, servidor ldap.fmh.gob.ve

Definicin de la referencia Inferior


En este caso, el servidor dc=gob,dc=ve contendra las siguientes entradas:

Pgina 63 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

1.Entrada raz de su propia base


dn: dc=gob,dc=ve
objectClass: top
objectClass: dcObject
objectClass: organization
o: Gobierno de Venezuela
dc: gob
structuralObjectClass: organization

2.Referencia a cnti.gob.ve
dn: dc=cnti,dc=gob,dc=ve
objectClass: referral
objectClass: extensibleObject
dc: subtree
ref: ldap://ldap.cnti.gob.ve/dc=cnti,dc=gob,dc=ve

Esta ltima entrada se repetira para las otras bases y servidores que conforman el
esquema particionado.

Pgina 64 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

Definicin de la referencia superior


En el servidor ldap.cnti.gob.ve correspondiente a la base dc=cnti,dc=gob,dc=ve, y
en cada uno de los otros que conforman el esquema particionado, basta con colocar la
siguiente directiva en el archivo /etc/ldap/slapd.conf:
referral ldap://ldap.gob.ve/

Y reiniciar el servicio con:


invoke-rc.d slapd restart

Con esta directiva, se le indica al servidor OpenLDAP del CNTI que en caso de que
se solicite una entrada que no se encuentre en el servidor (fuera de la raz
dc=cnti,dc=gob,dc=ve) debe irse al servidor ldap.gob.ve.

A su vez, este servidor ldap.gob.ve le redireccionar al apropiado o le indicar que


no hay entradas que coincidan con su solicitud. As, por ejemplo, un usuario en el Centro
Nacional de Tecnologas de Informacin podra consultar informacin sobre un usuario en
el Ministerio del Poder Popular de Obras Pblicas y Vivienda mientras que la
administracin de cada directorio es independiente.

Pgina 65 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

Anexos
Ejercicio Propuesto N#1
Se le solicita cambiar la extensin telefnica del usuario POSIX 'malvarado' al
nmero '22155', en este escenario indique:
a) Consulta que realizara para conocer el DN del usuario
b) Archivo LDIF de cambios que utilizara para ldapmodify
c) Argumentos a utilizar para el comando ldapmodify
d) Consulta que realizara para confirmar el cambio

Premisas del Ejercicio:

La base de bsqueda del directorio es la que corresponde al dominio DNS


prueba.cnti.gob.ve

El servidor LDAP maestro se encuentra en la direccin IP 10.70.6.3

El nombre distintivo (DN) del usuario para hacer cualquier consulta al servidor
LDAP que amerite un cambio es el predeterminado que se configura utilizando
Debconf en la instalacin en Debian, y este usuario tiene los permisos adecuados
para realizar el cambio

No se utiliza TLS ni SSL

Solucin del ejercicio:


a)

ldapsearch

-b

dc=prueba,dc=cnti,dc=gob,dc=ve

-h

10.70.63

'cn=admin,dc=prueba,dc=cnti,dc=gob,dc=ve' -W -x uid=malvarado dn
b) En un archivo, por ejemplo 'cambio.ldif':
Pgina 66 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

-D

dn: <dn del usuario malvarado, ver punto A>


changetype: modify
telephoneNumber: 22155
c)

ldapmodify

-b

dc=prueba,dc=cnti,dc=gob,dc=ve

-h

10.70.63

-D

-h

10.70.63

-D

'cn=admin,dc=prueba,dc=cnti,dc=gob,dc=ve' -W -x -f cambio.ldif
d)

ldapsearch

-b

dc=prueba,dc=cnti,dc=gob,dc=ve

'cn=admin,dc=prueba,dc=cnti,dc=gob,dc=ve' -W -x uid=malvarado telephoneNumber

Pgina 67 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

Referencias

OpenLDPA

(2008),

Access

Control.

Disponible

en:

ttp://www.openldap.org/doc/admin24/access-control.html#Access%20Control
%20Common%20Examples

OpenLDPA

(2008),

Replication.

Disponible

en:

http://www.openldap.org/doc/admin24/replication.html

RFC-Ref

(2009),

caseExactIA5Match.

Disponible

en:

http://rfc-ref.org/RFC-

TEXTS/2307/kw-caseexactia5match.html

Submitted by j.onions at nexor.co (1998), 1.3.6.1.4.1.1466.115.121.1.26 - IA5


String

syntax.

Disponible

http://www.alvestrand.no/objectid/1.3.6.1.4.1.1466.115.121.1.26.html

Pgina 68 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

en:

Glosario de trminos

ACLs (Access Control List/Lista de Control de Acceso): es una tabla que le


dice a un sistema los derechos de acceso que cada usuario posee para un objeto
determinado, como directorios, ficheros, puertos, etc. Tcnicas para limitar el
acceso a los recursos segn la informacin de autenticidad y las normas de acceso.

Apache: es un software libre servidor HTTP de cdigo abierto para plataformas


Unix (BSD, GNU/Linux, etc.), Windows, Macintosh y otras. Presenta, entre otras
caractersticas, mensajes de error altamente configurables, bases de datos de
autenticacin y negociado de contenido. Ha sido desde Abril de 1996 el servidor
HTTP ms usado.

APT (Advanced Packaging Tool): es un sistema de gestin de paquetes creado


por el proyecto Debian. APT simplifica en gran medida la instalacin y eliminacin
de programas en los sistemas GNU/Linux; no existe un programa apt en s mismo,
sino que APT es una biblioteca de funciones C++ que se emplea por varios
programas de lnea de comandos para distribuir paquetes. En especial, apt-get y
apt-cache.

ARPANET: (Advanced

Research Projects Agency

Network/Red de

la

Agencia de Proyectos de Investigacin Avanzada): es una red militar


Norteamericana a travs de lneas telefnicas, de la que posteriormente deriv
Internet.

BIND (Berkeley Internet Name Domain, anteriormente: Berkeley Internet


Name Daemon): es la implementacin del estndar DNS de uso ms habitual en
la Internet, especialmente en los sistemas tipo Unix, en los cuales es un estndar
de facto.

Pgina 69 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

BIND9: es una nueva versin de BIND. Fue escrita desde cero en parte para
superar las dificultades arquitectnicas presentes anteriormente para auditar el
cdigo en las primeras versiones de BIND, y tambin para incorporar DNSSEC.
BIND 9 incluye entre otras caractersticas importantes: TSIG, notificacin DNS,
nsupdate, IPv6, rndc flush, vistas, procesamiento en paralelo, y una arquitectura
mejorada en cuanto a portabilidad. Es comnmente usado en sistemas GNU/Linux.

Cache: es todo duplicado del una informacin original que se almacena en un


lugar de acceso ms rpido que el original.

Canaima: es una distribucin GNU/Linux Venezolana basada en Debian que surge


como una solucin para cubrir las necesidades ofimticas de los usuarios finales de
la Administracin Pblica Nacional (APN) y para dar cumplimiento al decreto
presidencial Nro. 3.390 sobre el uso de Tecnologas Libres.

Datagramas: es un fragmento de paquete que es enviado con la suficiente


informacin como para que la red pueda simplemente encaminar el fragmento
hacia el equipo terminal de datos receptor, de manera independiente a los
fragmentos restantes.

DAP (Directory Access Protocol): es un estndar dentro de las redes de


computadoras que ha sido promulgado por la ITU-T y por la ISO en 1998, para el
acceso de un servicio de directorio X.500.

Debian Project: es una comunidad conformada por desarrolladores y usuarios,


que mantiene un sistema operativo GNU basado en software libre precompilado y
empaquetado, en un formato sencillo en mltiples arquitecturas de computador y
en varios ncleos.

DHCP (Dynamic Host Configuration Protocol / Protocolo de Configuracin


Dinmica de Servidores): permite asignar IPs de forma dinmica, e indica

Pgina 70 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

servidores de nombre de dominios y gateways desde un servidor a todos los


clientes que se la pidan.

Direcciones IP: es un nmero que identifica de manera lgica y jerrquica a una


interfaz de un dispositivo (habitualmente una computadora) dentro de una red que
utilice el protocolo IP (Internet Protocol), que corresponde al nivel de red o nivel 3
del modelo de referencia OSI.

Directorio: es un conjunto de objetos con atributos organizados en una manera


lgica y jerrquica.

Distribucin:

es

una

recopilacin

de

programas

ficheros

(paquetes),

organizados y preparados para su instalacin en las diferentes arquitecturas de


hardware disponibles en el mercado, las cuales se pueden obtener a travs de
Internet, o adquiriendo los CD de las mismas.

DNS (Domain Name System): es un sistema de nombres que permite traducir


de nombres de dominio a direcciones IP y viceversa.

Dominio: nombre bsico de un conjunto de dispositivos y computadores dentro de


una red, los equipos o dispositivos que lo componen cada uno posee un nombre
perteneciente a ese dominio, que lo hace ms fcil de recordar en vez de utilizar
direcciones numricas para acceder a los mismos.

Dovecot: es un servidor de IMAP y POP3 de cdigo abierto para sistemas


GNU/Linux / UNIX-like, escrito fundamentalmente pensando en seguridad. Fue
desarrollado por Timo Sirainen, y apunta principalmente a ser un servidor de
correo de cdigo abierto ligero, rpido, fcil de instalar y por sobre todo seguro.

ESP (Encapsulating Security Payload): este protocolo proporciona autenticidad


de origen, integridad y proteccin de confidencialidad de un paquete. ESP tambin
soporta configuraciones de slo cifrado y slo autenticacin.

ESMTP (Enhanced Simple Mail Transfer Protocol): es una definicin de

Pgina 71 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

extensiones de protocolo para el estndar SMTP, cuyo formato de extensin fue


definido en el RFC 1869 en 1995. Este RFC estableci una estructura para todas las
extensiones existentes y futuras con el fin de producir una manera consistente y
manejable por la cual los clientes y servidores SMTP puedan ser identificados y los
servidores SMTP puedan sealar las extensiones soportadas a los clientes
conectados.

Frame Relay: consiste en una forma simplificada de tecnologa de conmutacin


de paquetes que transmite una variedad de tamaos de tramas o marcos
(frames) para datos, perfecto para la transmisin de grandes cantidades de
datos. Esta tcnica se utiliza para un servicio de transmisin de voz y datos a
alta velocidad que permite la interconexin de redes de rea local separadas
geogrficamente a un coste menor.

FQDN (Fully Qualified Domain Name): es un nombre que incluye el nombre de


la computadora y el nombre del dominio asociado a ese equipo. La longitud
mxima permitida para un FQDN es 255 caracteres (bytes), con una restriccin
adicional a 63 bytes por etiqueta dentro de un nombre de dominio. Las etiquetas
FQDN se restringen a un juego de caracteres limitado: letras A-Z de ASCII, los
dgitos, y el carcter -, y no distinguen maysculas de minsculas.

GPL (General Public License / Licencia Pblica General): la Licencia Pblica


General de GNU o ms conocida por su nombre en ingls GNU General Public
License o simplemente su acrnimo del ingls GNU GPL, es una licencia creada por
la Free Software Foundation a mediados de los 80, y est orientada principalmente
a proteger la libre distribucin, modificacin y uso de software.

Header (Cabecera): es la primera parte de un paquete de datos que contiene


Pgina 72 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

informacin sobre las caractersticas de este.

HDLS (High bit rate Digital Suscriber Line / Lnea Digital de Abonado de
alta velocidad): es un sistema de transmisin de datos de alta velocidad que
utiliza dos pares trenzados; obteniendo velocidades superiores al Megabit en
ambos sentidos.

Host: un host o anfitrin es un ordenador que funciona como el punto de inicio y


final de las transferencias de datos.; ms comnmente descrito como el lugar
donde reside un sitio web. Un host de Internet tiene una direccin de Internet nica
(direcin IP) y un nombre de dominio nico o nombre de host.

HTML (HyperText Markup Language / Lenguaje de Marcas de Hipertexto):


es el lenguaje de marcado predominante para la construccin de pginas web. Es
usado para describir la estructura y el contenido en forma de texto, as como para
complementar el texto con objetos tales como imgenes.

IDLE: hace referencia a la inactividad de un usuario en IRC.

IETF (Internet Engineering Task Force/Grupo de Trabajo en Ingeniera de


Internet): es una organizacin internacional abierta de normalizacin, que tiene
como objetivos el contribuir a la ingeniera de Internet, actuando en diversas
reas, tales como transporte, encaminamiento, seguridad. Fue creada en EE.UU en
1986.

IKE (Internet key exchange): es un protocolo usado para establecer una


asociacin de seguridad (SA) en el protocolo Ipsec. Supone una alternativa al
intercambio manual de claves, y su objetivo es la negociacin de una Asociacin
de Seguridad para IPSEC, permitiendo adems especificar el tiempo de vida de la
sesin IPSEC, autenticacin dinmica de otras mquinas, entre otras.

IMAP (Internet Message Access Protocol): es un protocolo de red de acceso a


mensajes electrnicos almacenados en un servidor. Mediante IMAP se puede tener
acceso al correo electrnico desde cualquier equipo que tenga una conexin a
Pgina 73 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

Internet.

IP (Internet Protocol): el protocolo de comunicaciones IP permite que redes


grandes y geogrficamente diversas de computadoras, se comuniquen con otras
rpida y econmicamente a partir de una variedad de eslabones fsicos.

IPsec (Internet Protocol security): es un conjunto de protocolos cuya funcin


es asegurar las comunicaciones sobre el Protocolo de Internet (IP), autenticado y/o
cifrando cada paquete IP en un flujo de datos. IPsec incluye tambin protocolos
para el establecimiento de claves de cifrado.

IPv4: es la versin 4 del Protocolo IP (Internet Protocol). Esta fue la primera


versin del protocolo que se implement extensamente, y forma la base de
Internet. IPv4 usa direcciones de 32 bits, limitndola a 2 32 = 4.294.967.296
direcciones nicas, muchas de las cuales estn dedicadas a redes locales (LANs).

IPv6: es una nueva versin de IP (Internet Protocol) y est destinado a sustituir a


IPv4, cuyo lmite en el nmero de direcciones de red admisibles est empezando a
restringir el crecimiento de Internet y su uso; pero el nuevo estndar mejorar el
servicio globalmente; por ejemplo, proporcionar a futuras celdas telefnicas y
dispositivos mviles con sus direcciones propias y permanentes.

IPX (Internetwork Packet Exchange / Intercambio de paquetes interred):


es un protocolo de comunicaciones NetWare que se utiliza para encaminar
mensajes de un nodo a otro. Los paquetes IPX incluyen direcciones de redes y
pueden enviarse de una red a otra.

IRC (Internet Relay Chat): es un protocolo de comunicacin en tiempo real


basado en texto, que permite debates en grupo o entre dos personas. Se diferencia
de la mensajera instantnea, porque los usuarios no deben acceder a establecer la
comunicacin de antemano; de tal forma, que todos los usuarios que se
encuentran en un canal pueden comunicarse entre s, aunque no hayan tenido
ningn contacto anterior.

Pgina 74 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

ISC BIND: el nombre completo original del servidor BIND9 desarrollado por la
Internet Systems Consortium.

ITU-T (Sector de Normalizacin de las Telecomunicaciones de la UIT): es el


rgano permanente de la Unin Internacional de Telecomunicaciones (UIT), que
estudia los aspectos tcnicos, de explotacin y tarifarios y publica normativa sobre
los mismos, con vista a la normalizacin de las telecomunicaciones a nivel
mundial.

LAN (Local rea Network): es la interconexin de varias computadoras y


perifricos. Su extensin est limitada fsicamente a un edificio o a un entorno de
hasta

200

metros;

su

aplicacin

ms

extendida

es

la

interconexin

de

computadoras personales y estaciones de trabajo en oficinas, fbricas, etc., para


compartir recursos e intercambiar datos y aplicaciones.

LDAP (Lightweight Directory Access Protocol/Protocolo Ligero de Acceso a


Directorios): es un protocolo a nivel de aplicacin que permite el acceso a un
servicio de directorio ordenado y distribuido, para buscar diversa informacin en
un entorno de red. LDAP tambin es considerado una base de datos (aunque su
sistema de almacenamiento puede ser diferente) a la que pueden realizarse
consultas.

NAT (Network Address Translation/Traduccin de Direccin de Red): es un


mecanismo utilizado por routers IP para intercambiar paquetes entre dos redes,
que se asignan mutuamente direcciones incompatibles. Consiste en convertir en
tiempo real las direcciones utilizadas en los paquetes transportados. Tambin es
necesario editar los paquetes, para permitir la operacin de protocolos que
incluyen informacin de direcciones dentro de la conversacin del protocolo.

Pgina 75 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

NETBIOS (Network Basic Input/Output System): es una especificacin de


interfaz para acceso a servicios de red, es decir, una capa de software desarrollado
para enlazar un sistema operativo de red con hardware especfico.

Nombres de dominio: son direcciones nemotcnicas o alias que identifican un


sitio de Internet.

NSS (Network Switching Subsystem/Subsistema de Conmutacin de Red): es


el

componente

que

realiza

las

funciones

de

portar

administrar

las

comunicaciones entre telfonos mviles y la Red de Conmutada de Telefona


Pblica (PSTN) para una red GSM.

OpenLDAP: es una versin libre de LDAP que es un protocolo a nivel de aplicacin


que soporta un servicio de directorio, se parece a una libreta de direcciones.
OpenLDAP se basa en el estndar de servicio de directorio ISO X.500 y en su
protocolo DAP (Directory Access Protocol). Se dise para ser un protocolo simple y
eficiente para acceder al directorio DAP, por eso lo de lightweight , implementa un
subconjunto de operaciones del X.500.

OSI (Open Source Initiative): es una organizacin dedicada a la promocin del


cdigo abierto. Fue fundada en febrero de 1998 por Bruce Perens y Eric S.
Raymond.

PAM

(Pluggable

Authentication

Modules/Mdulos

enchufables

de

autenticacin): es un sistema de autenticacin que controla el acceso a RHL.

POP3 (Post-Office Protocol/Protocolo de Oficina de Correos): es un


protocolo que permite recuperar el correo desde una mquina distinta a la que lo
recibe y que es el ms utilizado en las conexiones habituales por mdem o RDSI a
un proveedor (ya sea mediante PPP o SLIP).
Pgina 76 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

Protocolos Criptogrficos: tambin llamado protocolo criptogrfico o protocolo


de cifrado, es un protocolo abstracto o concreto que realiza funciones relacionadas
con la seguridad, aplicando mtodos criptogrficos.

PPP (Point-to-point Protocol/Protocolo Punto a Punto): permite establecer


una comunicacin a nivel de enlace entre dos computadoras. Generalmente, se
utiliza para establecer la conexin a Internet de un particular con su proveedor de
acceso a travs de un mdem telefnico. Ocasionalmente tambin es utilizado
sobre conexiones de banda ancha

PPTP (Point to Point Tunneling Protocol): es un protocolo de red creado por


Microsoft que permite la realizacin de transferencias seguras desde clientes
remotos a servidores emplazados en redes privadas, empleando para ello tanto
lneas telefnicas conmutadas como Internet.

Proxy: hace referencia a un programa o dispositivo que realiza una accin en


representacin de otro. Su finalidad ms habitual es la de servidor proxy, que sirve
para permitir el acceso a Internet a todos los equipos de una organizacin cuando
slo se puede disponer de un nico equipo conectado, esto es, una nica direccin
IP.

RADIUS (Remote Authentication Dial-In User Service): es un protocolo de


autenticacin y autorizacin para aplicaciones de acceso a la red o movilidad IP.

RFC (Request For Comments/Peticin de Comentarios): son una serie de


notas sobre Internet que comenzaron a publicarse en 1969. Cada una de ellas
individualmente es un documento cuyo contenido es una propuesta oficial para un
nuevo protocolo de la red Internet (originalmente de ARPANET), que se explica con
todo detalle para que en caso de ser aceptado pueda ser implementado sin
ambigedades.

RSA: el sistema criptogrfico con clave pblica RSA es un algoritmo asimtrico


Pgina 77 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

cifrador de bloques, que utiliza una clave pblica, la cual se distribuye (en forma
autenticada preferentemente), y otra privada, la cual es guardada en secreto por
su propietario.

Samba: es una implementacin libre del protocolo de archivos compartidos de


Microsoft Windows, para sistemas de tipo UNIX. De esta forma, es posible que
ordenadores con GNU/Linux, Mac OS X o Unix en general se vean como servidores
o acten como clientes en redes de Windows. Samba tambin permite validar
usuarios haciendo de Controlador Principal de Dominio (PDC), como miembro de
dominio e incluso como un dominio Active Directory para redes basadas en
Windows; aparte de ser capaz de servir colas de impresin, directorios compartidos
y autentificar con su propio archivo de usuarios.

SASL (Simple Authentication and Security Layer/Capa de Seguridad y


Autenticacin Simple): es un framework para autenticacin y autorizacin en
protocolos de internet. Separa los mecanismos de autenticacin de los protocolos
de la aplicacin permitiendo, en teora, a cualquier protocolo de aplicacin que use
SASL usar cualquier mecanismo de autenticacin soportado por SASL.

SGML (Standard Generalized Markup Language / Estndar de Lenguaje de


Marcado Generalizado): consiste en un sistema para la organizacin y
etiquetado de documentos. El lenguaje SGML sirve para especificar las reglas de
etiquetado de documentos y no impone en s ningn conjunto de etiquetas en
especial.

Sistema Operativo: es un software que administra y controla las actividades, y


recursos de la computadora. Comprende todos aquellos paquetes que le permiten
al computador funcionar como un conjunto de herramientas e intrpretes de
comandos.

SMTP (Simple Mail Transfer Protocol/Protocolo Simple de Transferencia de


Correo): es un protocolo de la capa de aplicacin. Protocolo de red basado en
Pgina 78 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

texto utilizado para el intercambio de mensajes de correo electrnico entre


computadoras u otros dispositivos (PDA's, telfonos mviles, entre otros.). Est
definido en el RFC 2821 y es un estndar oficial de Internet.

SSL (Secure Sockets Layer/Protocolo de Capa de Conexin Segura):


proporciona autenticacin y privacidad de la informacin entre extremos sobre
Internet mediante el uso de criptogrficos.

SSL/TLS (Secure Sockets Layer/Protocolo de Capa de Conexin Segura y


Transport Layer Security/Seguridad de la Capa de Transporte): son
protocolos criptogrficos que proporcionan comunicaciones seguras por una red,
comnmente Internet.

Subdominio: es un subgrupo o subclasificacin del nombre de dominio, el cual es


definido con fines administrativos u organizativos, que podra considerarse como
un dominio de segundo nivel. Normalmente es una serie de caracteres o palabra
que se escriben antes del dominio. En Internet se podra decir que el subdominio
se utiliza para referirse a una direccin web, que trabaja como un anexo (o sitio
relacionado) de un dominio principal.

SOA (Service Oriented Architecture / Arquitectura Orientada a Servicios):


es un software que administra y controla las actividades, y recursos de la
computadora. Comprende todos aquellos paquetes que le permiten al computador
funcionar como un conjunto de herramientas e intrpretes de comandos.

SOAP (Simple Object Access Protocol): es un protocolo estndar que define


cmo dos objetos en diferentes procesos pueden comunicarse por medio de
intercambio de datos XML.

SOAPHeader (Cabeceras SOAP): es una clase especial de bajo nivel para pasar
o devolver cabeceras SOAP. Es simplemente un contenedor de datos y no tiene
mtodos especiales aparte de su constructor.

Pgina 79 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

TACACS (Terminal Access Controller Access Control System/Sistema de


Control de Acceso Mediante Control del Acceso desde Terminales): es un
protocolo de autenticacin remota que se usa para comunicarse con un servidor de
autenticacin comnmente usado en redes Unix. TACACS permite a un servidor de
acceso remoto comunicarse con un servidor de autenticacin para determinar si el
usuario tiene acceso a la red.

TCP/IP (Transfer Control Protocol / Internet Protocol): conjunto de protocolos


definidos por catedrticos en el proyecto ARPANet del Departamento de Defensa
de Estados Unidos, para la red universitaria Internet en los aos setenta. Esta
familia de protocolos es un estndar para el intercambio de comunicaciones entre
computadores.

TLD (Top Level Domain): son los nombres en lo alto de la jerarqua de los DNS.
Aparecen en los nombres de dominio, como "net" en "www.example.net". Los
administradores del "dominio de la raz" o "zona de la raz" ("root domain" or "root
zone") controlan lo que los TLDs sean reconocidos por los DNS. Los TLDs
comnmente usados incluyen a .com, .net, .edu, .jp, .de, etc.

TSIG (Transaction SIGnature): usa llaves o claves secretas compartidas y


germinador de una sola va para proveer un significado seguro criptograficado,
para identificar cada punto final de una conexin as como el estar permitido a
hacer o responder a la actualizacin DNS.

TTL (Time To Live): es el tiempo que un paquete permanece activo en una red.
Hay un numero TTL en cada header de paquete IP, y a medida que un paquete
pasa por cada router o enrutador, lo reduce por 1 este nmero. Si el paquete llega
a 0, los routers o enrutadores no seguirn reenviando el paquete.

Tunneling: tcnica que consiste en encapsular un protocolo de red sobre otro


(protocolo de red encapsulador) creando un tnel dentro de una red de
computadoras.

U
Pgina 80 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

UDP (User Datagram Protocol): es un protocolo del nivel de transporte basado


en el intercambio de datagramas. Permite el envo de datagramas a travs de la
red, sin que se haya establecido previamente una conexin; ya que el propio
datagrama incorpora suficiente informacin de direccionamiento en su cabecera.

UNIX: es un sistema operativo portable, multitarea y multiusuario; desarrollado,


en principio, en 1969 por un grupo de empleados de los laboratorios Bell de AT&T.

WAM (Wide Area Networks/Red de rea Amplia): es un tipo de red de


computadoras capaz de cubrir distancias desde unos 100km hasta unos 1000 km,
dando el servicio a un pas o un continente.

XML (Extensible Markup Language / Lenguaje de Marcas Ampliable): es un


metalenguaje extensible de etiquetas desarrollado por el Word Wide Web
Consortium (W3C). Consiste en una simplificacin y adaptacin del SGML y permite
definir la gramtica de lenguajes especficos (de la misma manera que HTML es a
su vez un lenguaje definido por SGML). Por lo tanto, XML no es realmente un
lenguaje en particular, sino una manera de definir lenguajes para diferentes
necesidades.

X.500: es un conjunto de estndares de redes de computadoras de la ITU-T sobre


servicios de directorio, entendidos estos como bases de datos de direcciones
electrnicas (o de otros tipos). Los protocolos definidos por X.500 incluyen,
protocolo de acceso al directorio (DAP), el protocolo de sistema de directorio, el
protocolo de ocultacin de informacin de directorio, y el protocolo de gestin de
enlaces operativos de directorio.

Pgina 81 de 81
Av. Andrs Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas Venezuela
Master: (+58 212) 597.45.90 www.cnti.gob.ve

También podría gustarte