Está en la página 1de 13

Servicios de Red

LABORATORIO N° 10

Servidor LDAP en Linux

CÓDIGO DEL CURSO: II4030

Alumno(s) Nota
Nro. DD-106
Servicio LDAP en Linux Página 2/13
Nota
Apellidos y Nombres: Lab. Nº 10
:

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 CentOS 7 para la clonación de los equipos
solicitados y en el caso de AWS debe lanzar dos instancias de CentOS7.

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/13
Nota
Apellidos y Nombres: Lab. Nº 10
:

VII.PROCEDIMIENTO

A. CREACIÓN DE LOS EQUIPOS VIRTUALES

1. (En VMWare) Abrir el VMware Workstation. Definir los equipos virtuales con las siguientes
características:

Opción Valor
Clon de La plantilla de Linux indicada por el instructor (CentOS 7)
Nombre LDAP Srv
Memoria 2 GB
Red Bridge

Opción Valor
Clon de La plantilla de Windows indicada por el instructor
Nombre LDAP Cli
Memoria 2 GB
Red Bridge

2. (En AWS) Lanzar dos instancias CentOS 7.

3. Iniciar el equipo LDAP Srv y configure dicho sistema de acuerdo a los siguientes datos:

Opción Valor
Dirección IP <Archivo de direccionamiento IP>
Máscara de subred <Máscara_de_red_local>
Servidores DNS <Servidores_de_Google>
Nombre de Equipo 1. El hostname del sistema operativo deberá contar con la siguiente
estructura: primera letra de su primer nombre, seguido de su
apellido paterno y de las letras ldap. Un nombre válido sería
jdiazldap para alguien que se llame Juan Diaz.
2. Edite el archivo /etc/hosts con nano y agregue la siguiente línea
al final:
<IP_Srv> <Nombre_de_equipo>.aqp
3. Salir e iniciar sesión nuevamente: logout

4. Configurar el equipo LDAP Cli de acuerdo a los siguientes datos (X es su número asignado):

Opción Valor
Dirección IP <Archivo de direccionamiento IP>
Máscara de subred <Máscara_de_red_local>
Servidores DNS <Servidores_de_Google>
Nombre de Equipo 4. El hostname del sistema operativo deberá contar con la siguiente
estructura: CliX, donde X es el número que le corresponde.
5. Salir e iniciar sesión nuevamente: logout

5. En todas las configuraciones del laboratorio cambiar la X por el número que le corresponde.
Nro. DD-106
Servicio LDAP en Linux Página 4/13
Nota
Apellidos y Nombres: Lab. Nº 10
:

B. DISEÑANDO EL ESQUEMA DE DIRECTORIO

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

dc=aqp

dc=redesX

ou=gerencia ou=administracion ou=logistica ou=rrhh ou=produccion

cn=personaX cn=goperaciones cn=jadministracion cn=jalmacen cn=jinventarios cn=jrrhh cn=jplanta


Nro. DD-106
Servicio LDAP en Linux Página 5/13
Nota
Apellidos y Nombres: Lab. Nº 10
:

2. De acuerdo al árbol con el que se trabajará tendremos los siguientes DN para los usuarios.

Usuario Distinguished Name (DN)

personaX cn=personaX, ou=gerencia, dc=redesX, dc=aqp


goperaciones cn=goperaciones, ou=gerencia, dc=redesX, dc=aqp
jadministracio cn=jadministracion, ou=administracion, dc=redesX,
n dc=aqp

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

Usuario Distinguished Name (DN)

jalmacen
jinventarios
jrrhh
jplanta

C. INSTALACION Y CONFIGURACION DE OpenLDAP

1. En el servidor CentOS instalar los siguientes paquetes:

# sudo yum -y install openldap compat-openldap openldap-clients


openldap-servers openldap-servers-sql openldap-devel

2. Habilitar el servicio LDAP y habilitarlo con el siguiente comando:

# sudo systemctl enable slapd

# sudo systemctl start slapd

3. Verificar que el servicio slapd se encuentre activo.

# sudo systemctl status slapd

4. Verificar que el puerto del servicio LDAP se encuentre en escucha (LISTEN):

# sudo netstat -antup | grep -i 389

Nota: En caso no tenga instalado netstat, ejecutar el siguiente comando #sudo yum -y
install net-tools y luego volver a ejecutar el comando netstat

5. (En AWS) Habilitar e iniciar firewalld

6. Ejecutar los siguientes comandos para permitir el LDAP en el servidor:

# sudo firewall-cmd --permanent --add-service=ldap

# sudo firewall-cmd --reload

7. Habilitar los logs para LDAP

# sudo vi /etc/rsyslog.conf

local4.* /var/log/ldap.log #Añadir esta línea


# sudo systemctl restart rsyslog
Nro. DD-106
Servicio LDAP en Linux Página 6/13
Nota
Apellidos y Nombres: Lab. Nº 10
:
8. Ahora que el servicio se encuentra activo, generaremos una contraseña para el administrador
LDAP:

# slappasswd -h {SSHA} -s LDAPTecsup2

9. Del comando anterior tendrá una salida similar a la siguiente, la cual deberá guardar para ser
usado más adelante para configurar LDAP

10. Los archivos de configuración de OpenLDAP se encuentran en la ruta


/etc/openldap/slapd.d/ los cuales NO SE DEBEN editar manualmente, para ello usaremos
utilitarios de OpenLDAP.

11. Para configurar el backend de almacenamiento de OpenLDAP, o la base de datos de OpenLDAP,


realizamos lo siguiente:

 Crear el archivo db.ldif, agregar el siguiente contenido, donde crearemos la raíz para
redesX.aqp, el administrador adminX y le asignaremos la contraseña generada con el
comando slappasswd anteriormente, luego guardar los cambios:

# Contenido
1 dn: olcDatabase={2}hdb,cn=config
2 changetype: modify
3 replace: olcSuffix
4 olcSuffix: dc=redesX,dc=aqp
5
6 dn: olcDatabase={2}hdb,cn=config
7 changetype: modify
8 replace: olcRootDN
9 olcRootDN: cn=adminX,dc=redesX,dc=aqp
1
0
1
dn: olcDatabase={2}hdb,cn=config
1
1
changetype: modify
2
1
replace: olcRootPW
3
1
olcRootPW: <salida de slappasswd {SSHA}…>
4

 Enviar la configuración al servidor LDAP con el siguiente comando:

# sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f db.ldif

 Para verificar que los cambios se realizaron, usamos el utilitario ldapsearch. Para ello
ejecutar el siguiente comando:

# sudo ldapsearch -Y EXTERNAL -H ldapi:/// -b cn=config olcDatabase={2}hdb

 Mostrar la salida del comando anterior y marcar los parámetros modificados olcSuffix,
olcRootDN y olcRootPW.
Nro. DD-106
Servicio LDAP en Linux Página 7/13
Nota
Apellidos y Nombres: Lab. Nº 10
:

12. También debemos permitir el acceso a la base de datos LDAP al usuario administrador que se
especificó en el paso anterior (adminX):

 Crear el archivo monitor.ldif, agregar el siguiente contenido al archivo y guardar los


cambios:

# Contenido
1 dn: olcDatabase={1}monitor,cn=config
2 changetype: modify
3 replace: olcAccess
4 olcAccess: {0}to * by
dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,
cn=auth" read by dn.base="cn=adminX,dc=redesX,dc=aqp" read by *
none

 Enviar la configuración al servidor LDAP:

# sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f monitor.ldif

 Para verificar que los cambios se realizaron, usamos el utilitario ldapsearch. Para ello
ejecutar el siguiente comando y verificar los cambios realizados:

# sudo ldapsearch -Y EXTERNAL -H ldapi:/// -b cn=config olcDatabase={1}monitor

Nota: Para tener una salida más general de los parámetros de la base de datos de LDAP puede
usar el comando ldapsearch -Y EXTERNAL -H ldap:/// -b cn=config
olcDatabase=\*

 Ejecutar el comando # sudo slaptest -u para verificar los parámetros de configuración.

D. CREANDO EL ESQUEMA DEL DIRECTORIO LDAP

1. Copiar la plantilla del archivo de configuración de base de datos a la ruta /var/lib/ldap con el
nombre DB_CONFIG y actualizar los permisos:

# sudo cp /usr/share/openldap-servers/DB_CONFIG.example
/var/lib/ldap/DB_CONFIG

# sudo chown ldap:ldap /var/lib/ldap/

2. Exportar los esquemas cosine.ldif, nis.ldif e inetorgperson.ldif:

# sudo ldapadd -Y EXTERNAL -H ldapi:/// -f


/etc/openldap/schema/cosine.ldif
# sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
# sudo ldapadd -Y EXTERNAL -H ldapi:/// -f
/etc/openldap/schema/inetorgperson.ldif

3. Crear la raíz de la estructura del esquema de directorio.

 Crear el archivo dominio.ldif y agregar el siguiente contenido:

# Contenido
1 dn: dc=redesX,dc=aqp
Nro. DD-106
Servicio LDAP en Linux Página 8/13
Nota
Apellidos y Nombres: Lab. Nº 10
:
2 objectClass: top
3 objectClass: domain
4 dc: redesX
5
6 dn: cn=adminX,dc=redesX,dc=aqp
7 objectClass: organizationalRole
8 cn: adminX
9 Description: Administrador LDAP

 Enviar el archivo dominio.ldif al servidor LDAP

# ldapadd -x -W -D "cn=adminX,dc=redesX,dc=aqp" -f dominio.ldif

Nota: La contraseña que se solicita para el comando ldapadd debe ser del usuario administrador
de directorio (adminX)

4. Verificar la creación de las entradas anteriores con el comando:

# ldapsearch -x -b "dc=redesX,dc=aqp"

5. Tomar una captura a la salida del comando anterior donde se muestre la creación de la raíz
dc=redesX,dc=aqp y del usuario cn=adminX,dc=redesX,dc=aqp.

6. Crear las unidades organizacionales

 Crear el archivo ou.ldif y agregar el siguiente contenido

# Contenido
1 dn: ou=gerencia,dc=redesX,dc=aqp
2 objectClass: top
3 objectClass: organizationalUnit
4 ou: gerencia
5 description: Dirección General
6
7 dn: ou=administracion,dc=redesX,dc=aqp
8 objectClass: top
9 objectClass: organizationalUnit
1 ou: administracion
0
1 description: Área de administración
1

 Enviar el archivo ou.ldif al servidor LDAP

#ldapadd -x -W -D "cn=adminX,dc=redesX,dc=aqp" -f ou.ldif

Nota: La contraseña que se solicita para el comando ldapadd debe ser del usuario administrador
de directorio (adminX)

 Crear el archivo ou2.ldif donde definirá las unidades organizacionales de logistica,


rrhh y produccion según el esquema presentando al inicio de laboratorio.
Nro. DD-106
Servicio LDAP en Linux Página 9/13
Nota
Apellidos y Nombres: Lab. Nº 10
:
 Enviar el archivo ou2.ldif al servidor LDAP. Indicar el comando que usó para este paso:

 Ejecutar el siguiente comando cuando termine de crear todas las unidades organizacionales:

# ldapsearch -x -W -D "cn=adminX,dc=redesX,dc=aqp" -b "dc=redesX,dc=aqp"


"(objectClass=organizationalUnit)"

 Mostrar la salida del comando anterior, donde se muestren todas las unidades
organizacionales:

E. ADMINISTRANDO USUARIOS LDAP

1. En los siguientes pasos crearemos el usuario personaX:

 Crear el archivo personaX.ldif y agregar el siguiente contenido

# Contenido
1 dn: uid=personaX,ou=gerencia,dc=redesX,dc=aqp
2 objectClass: top
3 objectClass: inetOrgPerson
4 objectClass: posixAccount
5 objectClass: shadowAccount
6 cn: personaX
7 sn: apellidoX
8 uid: personaX
9 uidNumber: 9999
10 gidNumber: 100
11 homeDirectory: /home/personaFolderX
12 loginShell: /bin/bash
13 userPassword: {crypt}x
14 shadowLastChange: 17058
15 shadowMin: 0
16 shadowMax: 99999
17 shadowWarning: 7
18 displayName: <PrimerNombre> <PrimerApellido>

Nota: Cambiar <PrimerNombre> y <PrimerApellido> por sus datos correspondientes.

 Enviar el archivo usuarios.ldif al servidor LDAP para crear el nuevo usuario

# ldapadd -x -W -D "cn=adminX,dc=redesX,dc=aqp" -f personaX.ldif

Nota: La contraseña que se solicita para el comando ldapadd debe ser del usuario administrador
de directorio (adminX)

 Con el siguiente comando, asignar la contraseña Clip4ss al usuario personaX:

# ldappasswd -s Clip4ss -W -D "cn=adminX,dc=redesX,dc=aqp" -x


Nro. DD-106
Servicio LDAP en Linux Página 10/13
Nota
Apellidos y Nombres: Lab. Nº 10
:
"uid=personaX,ou=gerencia,dc=redesX,dc=aqp"

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

# ldapsearch -x "cn=personaX" -b "dc=redesX,dc=aqp"

 Tomar una captura al comando anterior:

2. En los siguientes pasos crearemos el usuario usertestX:

 Crear el archivo usertestX.ldif y agregar el siguiente contenido

# Contenido
1 dn: uid=usertestX,ou=administracion,dc=redesX,dc=aqp
2 objectClass: top
3 objectClass: inetOrgPerson
4 objectClass: posixAccount
5 objectClass: shadowAccount
6 cn: usertestX
7 sn: apellidoTestX
8 uid: usertestX
9 uidNumber: 9998
10 gidNumber: 100
11 homeDirectory: /home/usertestX
12 loginShell: /bin/bash
13 userPassword: {crypt}x
14 shadowLastChange: 17058
15 shadowMin: 0
16 shadowMax: 99999
17 shadowWarning: 7
18 displayName: Usuario Test

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

 Asignar la contraseña Tecsup2 al usuario usertestX. Escribir el comando que usó:

 Verificamos la creación del usuario. Indicar el comando que usó:

 Tomar una captura de la salida del comando anterior:


Nro. DD-106
Servicio LDAP en Linux Página 11/13
Nota
Apellidos y Nombres: Lab. Nº 10
:
3. En los siguientes pasos vamos a modificar el usuario usertestX.

 Crear el archivo usermod.ldif y agregar el siguiente contenido:

# Contenido
1 dn: uid=usertestX,ou=administracion,dc=redesX,dc=aqp
2 Changetype: modify
3 Replace: sn
4 sn: <PrimerApellido>
5 -
6 add: telephoneNumber
7 telephoneNumber: 123456789
8 -
9 Replace: displayName
10 displayName: Persona non-grata

 Ejecutar el siguiente comando:

# ldapmodify -x -W -D "cn=adminX,dc=redesX,dc=aqp" -f usermod.ldif

 Verificar los cambios con el comando siguiente:

# ldapsearch -x cn=usertestX -b dc=redesX,dc=aqp

 Tomar una captura del comando anterior y marcar los cambios realizados en este usuario

4. Finalmente eliminaremos el usuario usertestX por ser persona non-grata.

 Ejecutar el siguiente comando:

# ldapdelete -x -W "uid=usertestX,ou=administracion,dc=redesX,dc=aqp" -D
"cn=adminX,dc=redesX,dc=aqp"

 Para verificar que se borró el usuario ejecutar el comando siguiente, lo esperado es que ya no
se muestre el usuario usertestX ni sus atributos.

# ldapsearch -x cn=usertestX -b dc=redesX,dc=aqp

F. CONFIGURACIÓN DEL CLIENTE LDAP

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

# sudo yum install -y openldap-clients nss-pam-ldapd

2. Ejecutar el siguiente comando para agregar el cliente al servidor LDAP y reiniciar el servicio
cliente LDAP

# sudo authconfig --enableldap --enableldapauth --ldapserver=<IP_Srv>


--ldapbasedn="dc=redesX,dc=aqp" --enablemkhomedir --update

# sudo systemctl restart nslcd

Nota: Cambiar <IP_servidorLDAP> por la dirección IP del servidor.


Nro. DD-106
Servicio LDAP en Linux Página 12/13
Nota
Apellidos y Nombres: Lab. Nº 10
:
3. Verificar el acceso con el usuario personaX:

# getent passwd personaX

4. Mostrar la salida del comando anterior:

5. (Sólo AWS) Para ingresar a la instancia con un usuario remotamente debemos configurar el
archivo /etc/ssh/sshd_config los parámetros:

PermitRootLogin yes
PasswordAuthentication yes
PasswordAuthentication yes

6. (Sólo AWS) Reiniciar el servicio ssh:

#sudo systemctl restart sshd

7. Cerrar sesión con el usuario actual e iniciar sesión con el usuario personaX. Tomar una captura
del directorio donde se encuentra cuando ingresa con este usuario:
Nro. DD-106
Servicio LDAP en Linux Página 13/13
Nota
Apellidos y Nombres: Lab. Nº 10
:

VIII.OBSERVACIONES

IX.CONCLUSIONES:

También podría gustarte