Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1. Servicio de directorio
a. Cliente y Servidores de Directorio
b. Definición, elementos y nomenclatura
c. LDAP
i. Funcionamiento LDAP
2. Esquema del servicio de directorio
3. Funciones del dominio
4. Controladores de dominio
5. Acciones sobre el servicio de directorio
a. Instalaciones
i. Instalación de OpenLDAP
b. Configuración
c. Personalización
d. Desinstalación. Parada y arranque.
6. Integración del servicio de directorio con otros servicios.
7. Filtros de búsqueda
a. GNU/Linux
b. Windows Server
8. Creación de dominios.
9. Objetos que administra un dominio
a. Usuarios globales
b. Grupos
c. Otros
10. Relaciones de confianza entre dominios.
11. Herramientas graficas de administración del servicio de directorio
a. Herramientas graficas en Windows server
b. Herramientas graficas en distribuciones GNU/Linux
i. Administración del directorio mediante phpLDAPadmin
1. Servicio de directorio´
En un entorno donde sólo una aplicación debe acceder a los datos, tal vez
el esfuerzo necesario para implantar un servicio de directorio electrónico
estándar es innecesario, pero la experiencia demuestra que tarde o temprano
varias aplicaciones terminan utilizando estos datos, y en el caso de no haber
implantado un directorio centralizado nos encontramos con varios directorios que
deben estar sincronizados y que acceden de maneras diferentes a los datos
contenidos en directorios creados a medida. Esto implica un mayor esfuerzo
para hacer el mantenimiento y un freno al desarrollo de aplicaciones basadas en
el directorio. El hecho de disponer de un servicio de directorio común,
multiplataforma, accesible mediante un protocolo estándar y con una API
estándar, permite a los programadores desarrollar aplicaciones sin tener que
crear directorios específicos.
La definición de los posibles tipos de objetos, así como de sus atributos, que
pueden ser utilizados por el directorio de un servidor de LDAP, la realiza el propio
servidor mediante el denominado esquema del directorio. El esquema contiene
las definiciones de los objetos que pueden darse de alta en el directorio.
i. Funcionamiento LDAP
Cada mensaje LDAP, tanto si es una petición como una respuesta, contiene
la identificación del mensaje, un código de operación y los datos. El identificador
del mensaje se necesita para determinar la solicitud a la que corresponde una
respuesta, dato muy importante, porque el modo del LDAP no requiere que las
solicitudes y respuestas se hagan de forma síncrona.
2. Esquema del servicio de directorio
Colectivamente, a todos los atributos que pueden ser utilizados para un tipo
de objeto específico se les llama Clases de Objetos (Object Class, en ingles).
Como con los atributos, podemos definir nuevas clases de objetos para
adecuarlas a la organización de los datos, es decir, según tus necesidades.
Dentro de cada clase de objetos, podemos designar que atributos son
requeridos, y cuales son meramente opcionales.
¿Por qué marcamos estas diferencias? Porque Active Directory integra todos
los servicios dentro del Directorio Activo. Sin embargo, openLDAP no los integra,
deben ser integrados o, más bien, ceder parte del control de un servicio al
servicio openLDAP.
❖ Definir para qué se utilizará, es decir, definir los contenidos del directorio.
❖ Decidir cuál será la organización de los datos. Con el LDAP la información
se representa en forma de árbol, por tanto, antes de comenzar debemos
pensar qué forma tendrá este árbol de información del directorio o DIT
(Directory Information Tree).
❖ Definir aspectos de seguridad de los datos.
❖ Definir aspectos de rendimiento.
a. Instalaciones
i. Instalación de OpenLDAP
b. Configuración
Para el caso de Active Directory, este servicio integra todo el sistema local en
el sistema del dominio. Es decir, no debemos realizar ninguna tarea salvo asignar
la clave, en la instalación, del usuario administrador. Todo el sistema de recursos
lo gestiona directamente su LDAP.
Otro ejemplo más, si tenemos una máquina con servidor Linux, podría no
estar correctamente configurado el nombre de la máquina o simplemente hacer
alguna variación sobre la configuración estándar. Para repasar la configuración
del slapd podemos utilizar la orden:
# dpkg‐reconfigure slapd
Pongamos un ejemplo.
7. Filtros de búsqueda
a. GNU/Linux
En un entorno LDAP de GNU/Linux, y en modo terminal, utilizamos el
comando ldapsearch. Este comando abre una conexión a un servidor LDAP,
enlaza y hace una búsqueda usando los parámetros especificados.
Parámetros opcionales:
❖ -A: sólo muestra los nombres de los atributos (no los valores).
❖ -a deref: referencias a los alias: never, always, search, or find.
❖ -B: permite imprimir valores no-ASCII.
❖ -D binddn: cuando se autentica con un directorio, permite especificar la
entrada binddn. Usar con la opción -w password.
❖ -d debug level: nivel de debug.
❖ -E "character_set": especifica la página de codificación de caracteres.
❖ -f file: ejecuta la sentencia de búsquedas archivadas en el archivo file.
❖ -h ldaphost: conecta al servidor LDAP en la dirección ldaphost. El valor
por defecto es localhost.
❖ -L: muestra las entradas en formato LDIF.
❖ -l timelimit: cuenta atrás en segundos antes de abandonar una búsqueda.
❖ -p ldapport: conecta al servidor en el puerto TCP especificado en ldapport.
Por defecto conecta en el puerto 389.
❖ -S attr: ordena los resultados por el atributo indicado.
❖ -v: modo extendido.
❖ -w passwd: especifica la contraseña para hacer el bind (para autenticación
simple).
❖ -z sizelimit: especifica el número máximo de entradas que pueden ser
mostradas.
b. Windows Server
8. Creación de dominios.
¿Quiere esto decir que sólo el usuario administrador puede realizar tareas de
administración? No, el propio administrador puede asignar o delegar tareas a
otros usuarios. Puede delegarle todo o partes.
¿Sólo pueden ser usuarios globales los que están definidos en la instalación?
No, podremos añadir usuarios con esas características y utilizarlos siguiendo un
esquema predeterminado por el administrador del sistema. Pongamos un
ejemplo: podremos crear un usuario, admonprinter, al que deleguemos el
mantenimiento de las impresoras conectadas al servidor. Esto quiere decir,
gestionar las impresoras así como sus colas de impresión, etc.
c. Otros
Otra forma de generar una relación de confianza es crear un servidor que sea
subdominio de otro. Imagínate, un grupo de empresas tiene su servidor con su
dominio, entretuyyo.com, al cual acceden una serie de usuarios. La empresa
tiene una sucursal en Laredo y desea descentralizar el servidor. ¿Qué puede
hacer? Crear un servidor en Laredo que sea, a su vez, subdominio del principal.
Como subdominio podríamos escoger, por ejemplo, laredo.entretuyyo.com.
¿Esto es bueno? Tal vez, pero lo que es innegable es que si el entorno gráfico
de una aplicación no funciona adecuadamente, siempre podremos trabajar a
nivel de terminal. Lo cual, siempre será una ventaja contra aquellas aplicaciones
que sólo funcionan en modo gráfico (Windows).
A continuación, vamos a valorar las ventajas de las herramientas gráficas.
Además de ésta útil herramienta, tenemos otras más específicas. Todas ellas
las encontramos en el menú de "herramientas administrativas" pulsando en el
botón "Inicio". Tal como se muestra en la imagen.
Caracteristicas de phpldapadmin:
PLAN ha sido diseñada para que la usen los administradores. Por tanto, es
útil tanto para administrar toda la base de datos LDAP como sólo una parte.
Aunque el resto de los usuarios pueden utilizar la aplicación para, por ejemplo,
editar sus entradas o registros en el directorio, la estructura, la terminología y el
proceso a seguir no resultan sencillos. La instalación es muy sencilla ya que el
paquete se encuentra en los repositorios:
Como se trata de una aplicación para entorno web, las dependencias del
paquete hacen que también se instalan el servidor Web Apache y el soporte PHP
para el servidor.
A pesar de estar disponible desde un principio, sí es necesario configurar
ciertos parámetros para que funcione correctamente.
$config→custom→appearance[‘language’] = ‘auto’;
$servers→setValue(‘server’,'base’,array(‘dc=example,dc=com’));
$servers→setValue(‘login’,'bind_id’,'cn=admin,dc=example,dc=com’);
Modificación de una entrada del directorio: para modificar una entrada del
directorio únicamente hay que hacer clic sobre ella. Cuando se hace así, la
aplicación siempre pregunta qué plantilla se quiere utilizar
para editar la entrada. Dependiendo de la plantilla que se seleccione se
visualizan, y por tanto se pueden editar, unos atributos diferentes.
Además, una vez se está editando una entrada, en la parte superior aparecen
más opciones. Se permite cambiar el nombre de la entrada, copiar o mover la
entrada, cambiar la plantilla que se está utilizando, exportar la entrada,
compararla, añadirle un atributo o borrarla.
Creación de una entrada en el directorio: para crear una entrada basta con
hacer clic sobre el lugar del árbol donde se quiere crear, donde dice Create new
entry here, o, si el objeto acepta entradas hijo, cuando se está editando el objeto,
hacer clic en Create a child entry. En ambos casos, el icono es una estrella
amarilla de cinco puntas. Al igual que ocurre cuando se está editando una
entrada, al crearse una nueva aplicación pregunta cuál es la plantilla a usar para
el proceso de creación, y cuáles serán, por tanto, los atributos que contendrá la
entrada. Dependiendo de qué plantilla y por tanto de qué clase de objeto se ha
elegido, unos atributos serán obligatorios, y otros, opcionales.