Software">
Nothing Special   »   [go: up one dir, main page]

Laboratorio 10 - LDAP en Linux

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 20

Servicios de Red

LABORATORIO N° 10

Servidor LDAP en Linux

CÓDIGO DEL CURSO: II4030

Alumno(s) Nota

Noelia Orosco Ramos


Nro. DD-106
Servicio LDAP en Linux
Página 2/20

I. OBJETIVOS

● Instalar y configurar el servicio OpenLDAP en el lado del servidor


● Instalar y configurar el servicio OpenLDAP en el lado del cliente
● Comprender el diseño y la creación de un esquema de directorio
● Comprobar el acceso de clientes usando el servicio OpenLDAP

II. SEGURIDAD

Advertencia:
En este laboratorio está prohibida la manipulación del hardware,
conexiones eléctricas o de red; así como la ingestión de alimentos o
bebidas.

III. FUNDAMENTO TEÓRICO

El laboratorio está detallado paso a paso. Es importante que revise su texto para poder responder
algunas de las preguntas planteadas.

IV. NORMAS EMPLEADAS

No aplica

V. RECURSOS

● En este laboratorio cada alumno trabajará con un equipo con Windows 7 o posterior.
● Este equipo debe tener instalado el programa VMware Workstation para la definición y
administración de los equipos virtuales o tener una cuenta educativa en AWS para la creación de
instancias.
● Cada equipo debe contar con una plantilla de Ubuntu(20.04.3) para la clonación de los equipos
solicitados.

VI. METODOLOGÍA PARA EL DESARROLLO DE LA TAREA

● El desarrollo del laboratorio es personal.


Nro. DD-106
Servicio LDAP en Linux
Página 3/20

VII. PROCEDIMIENTO

A. Creación de los Equipos Virtuales

1. Clonar las siguientes máquinas virtuales brindadas por el docente (enlaces en Canvas).
Configurar de la siguiente manera los equipos:
Opción Valor

Clon de Ubuntu Server 20.04

Usuario tecsupadm

Contraseña ARCTecsup2

Hostname 1° letra de su nombre + Apellido paterno + ldap Ej. Jdiazldap

Opción Valor

Clon de Xubuntu 20.04

Usuario Virtual

Contraseña Virtual123

Hostname CliLin + <número asignado>

Ej. CliLin00

Configuración estática de red

2. Haciendo uso de los comandos de verificación de red en Ubuntu Server, complete la siguiente
tabla:
Dirección IP 192.168.100.0

Prefijo 24

Puerta de enlace 192.168.100.1

3. Deberá configurar la interfaz ethernet de Ubuntu Server mediante su archivo de configuración con
los siguientes parámetros:
Opción Valor

Equipo Ubuntu Server 20.04

Dirección IP 192.168.100.18

Prefijo 24

Puerta de enlace 192.168.100.1


Nro. DD-106
Servicio LDAP en Linux
Página 4/20

Servidor DNS 8.8.8.8, 8.8.4.4

Opción Valor

Equipo Xubuntu 20.04

Dirección IP 192.168.100.101

Máscara de subred 255.255.255.0

Puerta de enlace 192.168.100.1

Servidor DNS 8.8.8.8 / 8.8.4.4

NOTA
No olvide siempre probar la conectividad a internet y la resolución de nombres de dominio al
establecer la nueva configuración estática de red.
Para evitar tener problemas al instalar paquetes actualice la lista de repositorios sudo apt
update
Si cuenta con tiempo y un buen ancho de banda, actualice el sistema operativo sudo apt
upgrade -y

4. Verificar la conectividad entre las máquinas virtuales.


Nro. DD-106
Servicio LDAP en Linux
Página 5/20

B. Diseñando el Esquema de Directorio

1. En el laboratorio se va a trabajar con el siguiente árbol de directorio LDAP:

dc=xyz

dc=redesXX

ou=Gerencia ou=Administracion ou=Logistica ou=RRHH ou=Produccion

cn=gOperacione
cn=jdoeXX cn=gAdministracion cn=gAlmacen cn=gInventarios cn=gRRHH cn=gPlanta
s
Nro. DD-106
Servicio LDAP en Linux
Página 6/20

2. De acuerdo al árbol con el que se trabajará tendremos los siguientes DN para los usuarios y
grupos.
Usuario Distinguished Name (DN)

jdoeXX cn=jdoeXX, ou=Gerencia, dc=redesXX, dc=xyz

gOperaciones cn=gOperaciones, ou=Gerencia, dc=redesXX, dc=xyz

gAdministracion cn=gAdministracion, ou=Administracion, dc=redesXX, dc=xyz

3. Completar la tabla con los DN de cada grupo:


Grupo Distinguished Name (DN)

gAlmacen cn=galmacen, ou=logistica, dc=redes, dc=xyz

gInventarios cn=ginventarios, ou=logistica, dc=redes,


dc=xyz

gRRHH cn=grrhh, ou=rrhh, dc=redes, dc=xyz

gPlanta cn=gplanta, ou=produccion, dc=redes, dc=xyz

C. Instalación y Configuración de OpenLDAP

1. En el servidor Ubuntu realizar los siguientes pasos:

● Instalar los siguientes paquetes:


$ sudo apt install -y slapd ldap-utils

● Durante la instalación se solicitará la contraseña para el administrador del directorio LDAP,


coloque la que usted vea por conveniente, anote ello a continuación:

● También deberá actualizar el sufijo DIT. El valor a emplear será redesXX.xyz


$ sudo dpkg-reconfigure slapd

● El comando anterior invocará un asistente que pedirá información, responder según como se
muestra a continuación:
○ Omit OpenLDAP server configuration?: No
○ DNS domain name: redesXX.xyz
Nro. DD-106
Servicio LDAP en Linux
Página 7/20

○ Organization name: redesXX


○ Administrator password: contraseña_utilizada_en_paso_anterior
○ Confirm password: contraseña_utilizada_en_paso_anterior
○ Do you want the database to be removed when slapd is purged? Yes
○ Move old database? Yes

● Corrobe la configuración de la nueva base de datos con el siguiente comando:


$ sudo slapcat
Nro. DD-106
Servicio LDAP en Linux
Página 8/20

● Verificar que el servicio slapd se encuentre activo, caso contrario habilitar y arrancar dicho
servicio.
$ systemctl status slapd

● ¿Qué puerto o puertos emplea el servicio LDAP para atender solicitudes? Puede apoyarse en
la herramienta ss para contestar la pregunta.

● Deberá permitir el tráfico de dichos puertos a través del cortafuegos. Puede emplear el
siguiente comando como referencia para crear las reglas en el cortafuegos, no olvide
corroborar el estado del cortafuegos.
$ sudo ufw allow port_number/protocol

2. Se establecerán ciertos valores por defecto para facilitar la configuración de LDAP en pasos
posteriores. Con un editor de texto modifique el archivo ldap.conf que se encuentra en la
carpeta /etc/ldap/ según como se muestra a continuación:
Línea Contenido

8 BASE dc=redesXX,dc=xyz

9 URI ldap://hostname_ubuntu_srv.redesXX.xyz

16 TLS_CACERT /etc/ssl/certs/ca-certificates.crt
Nro. DD-106
Servicio LDAP en Linux
Página 9/20

D. Registro de Eventos (logging)

El registro de eventos para slapd es muy útil cuando se implementa una solución basada en
OpenLDAP, pero debe habilitarse manualmente después de la instalación del software. De lo contrario,
solo aparecerán mensajes rudimentarios en los registros. El registro, como cualquier otra configuración
de este tipo, se habilita a través de la base de datos slapd-config. OpenLDAP viene con varios niveles
de registro, cada uno de los cuales contiene al inferior (aditivo). Un buen nivel para probar es stats.

1. Creamos el archivo logging.ldif con el siguiente contenido:


dn: cn=config
changetype: modify
replace: olcLogLevel
olcLogLevel: stats

2. Implementamos el cambio:
$ sudo ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f logging.ldif

NOTA
Esto producirá una cantidad significativa de registros y se recomienda reducir el nivel a uno
menos detallado una vez que el sistema esté en producción.

3. Puede considerar un cambio en la configuración de rsyslog para evitar que se trunquen los
mensajes de evento cuando haya demasiados. En el archivo /etc/rsyslog.conf, añada al final
las siguientes líneas:
# Deshabilitando el límite de mensajes
$SystemLogRateLimitInterval 0
Nro. DD-106
Servicio LDAP en Linux
Página 10/20

4. Finalmente reiniciamos el servicio de logging:


$ sudo systemctl restart syslog.service

E. Creando el Esquema del Directorio LDAP

1. Crear las unidades organizacionales

● Crear el archivo de texto ou.ldif y agregar el siguiente contenido:


dn: ou=Gerencia,dc=redesXX,dc=xyz
objectClass: organizationalUnit
ou: Gerencia
description: Direccion General

dn: ou=Administracion,dc=redesXX,dc=xyz
objectClass: organizationalUnit
ou: Administracion
description: Area de administración

● Enviar el archivo ou.ldif al servidor LDAP


$ ldapadd -x -H ldap:/// \
-D "cn=admin,dc=redesXX,dc=xyz" -W \
-f ou.ldif

NOTA
El comando anterior consta de varias líneas.
La contraseña que se solicita para el comando ldapadd es la del usuario administrador de
directorio (admin).

● Crear el archivo ou2.ldif donde definirá las unidades organizacionales de logistica, rrhh y
Nro. DD-106
Servicio LDAP en Linux
Página 11/20

produccion según el esquema presentado al inicio de laboratorio.

● Enviar el archivo ou2.ldif al servidor LDAP tal como lo hizo con el archivo ou.ldif

● Ejecutar el siguiente comando cuando termine de crear todas las unidades organizacionales:
$ ldapsearch -x -LLL -H ldap:/// \
-D "cn=admin,dc=redesXX,dc=xyz" -W \
-b "dc=redesXX,dc=xyz" \
"(objectClass=organizationalUnit)"

F. Administrando Usuarios LDAP

1. En los siguientes pasos crearemos el usuario personaXX:

● Crear el archivo grupo.ldif y agregar el siguiente contenido


dn: cn=gOperaciones,ou=Gerencia,dc=redesXX,dc=xyz
objectClass: posixGroup
cn: gOperaciones
gidNumber: 5000

● Enviar el archivo grupo.ldif al servidor LDAP


$ ldapadd -x -H ldap:/// \ -D "cn=admin,dc=redesXX,dc=xyz" -W \-f
grupo.ldif
Nro. DD-106
Servicio LDAP en Linux
Página 12/20

● Crear el archivo persona.ldif y agregar el siguiente contenido


dn: uid=jdoeXX,ou=Gerencia,dc=redesXX,dc=xyz
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: jdoeXX
sn: Doe
givenName: John
cn: John Doe
displayName: John Doe
uidNumber: 10000
gidNumber: 5000
homeDirectory: /home/jdoeXX
loginShell: /bin/bash
userPassword: {crypt}x

● Enviar el archivo persona.ldif al servidor LDAP


$ ldapadd -x -H ldap:/// \
-D "cn=admin,dc=redesXX,dc=xyz" -W \
-f persona.ldif

● Con el siguiente comando, asignar la contraseña Virtual123 al usuario jdoeXX:


$ ldappasswd -x -H ldap:/// \
-D "cn=admin,dc=redesXX,dc=xyz" -W \
-S "uid=jdoeXX,ou=Gerencia,dc=redesXX,dc=xyz"
Nro. DD-106
Servicio LDAP en Linux
Página 13/20

NOTA
Primero se solicitará establecer la contraseña para el usuario jdoeXX luego se pedirá la
contraseña del usuario admin para validar la acción.

● Verificamos la creación del usuario con el siguiente comando:


$ ldapsearch -x -LLL -H ldap:/// \
-b "dc=redesXX,dc=xyz" \
"(uid=jdoeXX)"

2. En los siguientes pasos creará un usuario empleando sus propios datos, a continuación designe
un username para su usuario:

● Crear el archivo usuario.ldif y agregar el siguiente contenido


dn: uid=username,ou=Gerencia,dc=redesXX,dc=xyz
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
Nro. DD-106
Servicio LDAP en Linux
Página 14/20

uid: username
sn: Apellido
givenName: Nombre
cn: Nombre Apellido
displayName: Nombre Apellido
uidNumber: 10001
gidNumber: 5000
homeDirectory: /home/username
loginShell: /bin/bash
userPassword: {crypt}x

3. Enviar el archivo usuario.ldif al servidor LDAP para crear el nuevo usuario. Indique el
comando que usó:
$

4. Asignar una contraseña a su usuario. Indique el comando que usó:


$

5. Verificamos la creación del usuario. Indique el comando que usó y adjunte una captura del
resultado:
$

6. En los siguientes pasos vamos a modificar las propiedades de su usuario.

● Crear el archivo usuariomod.ldif y agregar el siguiente contenido:


dn: uid=username,ou=Gerencia,dc=redesXX,dc=xyz
changetype: modify
replace: sn
sn: nuevo_apellido
-
add: telephoneNumber
telephoneNumber: nro_celular
-
Replace: displayName
displayName: Persona non-grata

● Ejecutar el siguiente comando:


$ ldapmodify -x -H ldap:/// \
-D "cn=admin,dc=redesXX,dc=xyz" -W \
-f usuariomod.ldif

● Verificar los cambios con el comando siguiente:


$ ldapsearch -x -LLL -H ldap:/// \
-b "dc=redesXX,dc=xyz" \
"(uid=username)"

● Tome una captura del comando anterior y marcar los cambios realizados en este usuario

7. Finalmente eliminaremos a su usuario por no cumplir con las normas de la organización.


Nro. DD-106
Servicio LDAP en Linux
Página 15/20

● Ejecutar el siguiente comando:


$ ldapdelete -x -H ldap:/// \
-D "cn=admin,dc=redesXX,dc=xyz" -W \
"uid=username,ou=Gerencia,dc=redesXX,dc=xyz"

● Para verificar que se borró el usuario ejecutar el comando siguiente, lo esperado es que ya no
se muestre su usuario ni sus atributos.
$ ldapsearch -x -LLL -H ldap:/// \
-b "dc=redesXX,dc=xyz" \
"(uid=username)"

G. Configuración del Cliente LDAP

1. Instalar los paquetes del cliente LDAP en la máquina cliente (CliLinXX):


$ sudo apt install -y ldap-auth-client nscd

2. El comando anterior invocará un asistente que pedirá información, responder según lo que se
muestra a continuación:
○ LDAP server Uniform Resource Identifier: ldap://ip_ubuntu_server:port
○ Distinguished name of the search base: dc=redesXX,dc=xyz
○ LDAP version to use: 3
○ Make local root Database admin: Si
○ Does the LDAP database require login?: No
○ LDAP account for root: cn=admin,dc=redesXX,dc=xyz
○ LDAP root account password: pass_admin_ldap

NOTA
Puede volver a establecer dicha información cuando sea necesario con el comando sudo dpkg-
reconfigure ldap-auth-config

3. Edite las siguientes líneas del archivo /etc/nsswitch.conf de forma que queden como se
muestra continuación:
Línea Contenido

7 passwd: files systemd ldap

8 group: files systemd ldap

9 shadow: files ldap


Nro. DD-106
Servicio LDAP en Linux
Página 16/20

4. Agregar la siguiente línea al final del archivo /etc/pam.d/common-session


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

5. Reiniciar el sistema operativo cliente.

6. Ingrese proporcionando las credenciales del usuario jdoeXX, documente ese proceso y en una
terminal en dicha sesión ejecute el comando id y el comando pwd, adjunte una captura de ello:

H. Cambiando la Contraseña de rootDN

1. Primero se obtiene el hash de la nueva contraseña a utilizar con el administrador de LDAP,


ejecute lo siguiente y anote el resultado devuelto por el comando:
$ slappasswd

2. Luego creamos el archivo changerootpw.ldif con el siguiente contenido


dn: olcDatabase={1}mdb,cn=config
changetype: modify
replace: olcRootPW
olcRootPW: valor_devuelto_por_comando_anterior

3. Seguidamente procesamos la información del archivo changerootpw.ldif


$ sudo ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f changerootpw.ldif

4. A pesar del cambio anterior, aún debemos especificar la contraseña del usuario
cn=admin,dc=redesXX,dc=xyz en la base de datos dc=redesXX,dc=xyz. Debido a que esto es
una entrada común en el sufijo de la base de datos, podemos emplear ldappasswd
$ ldappasswd -x -H ldap:/// \
-D "cn=admin,dc=redesXX,dc=xyz" -W -S

NOTA
Considere lo siguiente al actualizar la contraseña

I. Ejercicio

1. Basados en las plantillas para la creación de OU y usuarios, cree una OU con el nombre
sistemas dentro de la raíz redesXX.xyz, luego cree el usuario sysadminXX con las siguientes
características:

● Que pertenezca a la ou=sistemas


● Los atributos cn, uid tendrán el valor sysadminXX
● El uidNumber (ID del usuario) sea 9990
● El directorio home sea /home/administrador_sistemasXX
● La contraseña sea XPTecsup2
Nro. DD-106
Servicio LDAP en Linux
Página 17/20

● Los atributos sn y displayName pueden tener cualquier valor.


● Los demás parámetros dejarlos por defecto

2. Pruebe iniciar sesión desde CliLinXX con el nuevo usuario e indique lo siguiente:
● Tome una captura del directorio donde se encuentra cuando inicia sesión:
Nro. DD-106
Servicio LDAP en Linux
Página 18/20

● DN de la OU creada:

● DN del usuario creado:


Nro. DD-106
Servicio LDAP en Linux
Página 19/20
Nro. DD-106
Servicio LDAP en Linux
Página 20/20

VIII. OBSERVACIONES

• Se observó que al iniciar con el laboratorio se ingresa el nombre de la base de búsqueda


LDAP, con ello se puede usar los componentes de nombres de dominio para este
propósito.
• Se observó que también se elige la versión de LDAP a usar y luego hacemos clic en
aceptar.
• Se observó que cuando se colocan tildes en los archivos creados, se genera una
respuesta cifrada

IX. CONCLUSIONES

● Se concluye que LDAP se usa para ejercer las funciones propias de un directorio activo en el
que se gestionarán las credenciales.

● Se concluye que en el desarrollo de laboratorio se crearon objetos organizados jerárquicamente


estos objetos estarán disponibles por una serie de clientes conectados mediante una red, y
proporcionarán las identidades y permisos para los usuarios.

● Se concluye que se conectó cliente y servidor, es decir en el servidor LDAP se almacenarán


los datos relativos al directorio.

También podría gustarte