Está en la página 1de 6

PEC-2: Servicios de Directorio y Single-Sign On

Recursos
Además de los recursos básicos que encontrarán en el aula, también se podrá usar información
y material encontrado en Internet. Cuando se utilice material externo siempre se deberá poner
las referencias al final del ejercicio o al final de la PEC haciendo referencia en el texto utilizado.

Criterios de evaluación
La práctica contiene preguntas teóricas por lo que las respuestas sin justificación, las copias de
una fuente de información y/o que no contengan las referencias utilizadas, no recibirán
puntuación.

Para las preguntas prácticas se tendrán que especificar de forma detallada los pasos
realizados mostrando los resultados obtenidos (siempre que sea posible) a través de listados,
ejecuciones y/o cualquier otro tipo de salida analizados y comentados.

En caso de utilizar capturas de líneas de comando Linux, se deberá utilizar como nombre de
usuario en el sistema operativo el mismo que cada estudiante tenga asignado en la UOC. Por
ejemplo, para el correo UOC aelbaz@uoc.edu se deberá usar el nombre de usuario “aelbaz”.

Requisitos previos
Esta PEC incluye una pregunta práctica. Para su solución se deberá crear una nueva máquina
virtual sobre el sistema operativo nativo de vuestro PC. Para ello, pueden utilizar el software de
virtualización Oracle Virtual Box.

Los requisitos mínimos de la máquina virtual son:


● 2 vCPU
● 2 GB RAM
● 10 GB de espacio en disco
● Distribución Linux Ubuntu 22.04 LTS (se recomienda una instalación nueva. Se
necesitarán permisos de root/sudo).
● Paquetes OpenSSL instalados

Arquitecturas y protocolos de seguridad – PEC2 2022-2 pag. 1

Estudios de Informática, Multimedia y Telecomunicación


Formato de entrega
Entregar las respuestas a las preguntas en un documento PDF cuyo nombre identifique al
estudiante de forma inequívoca. Incluir los archivos de evidencias solicitadas en los ejercicios
junto con el documento PDF en un archivo comprimido ZIP.

Enunciado – Ejercicio 1
En este ejercicio tendremos que diseñar el directorio de una empresa para
posteriormente poderlo implementar en un servidor OpenLDAP.

Trabajaremos con una empresa ficticia dedicada a la importación y distribución de


maquinaria industrial denominada “ImpExpSA”. Esta empresa tiene un dominio
registrado llamado “impexpsa.com”.

1. [1.5 puntos] En primer lugar, realizaremos el Diseño del Directorio. En la siguiente tabla
vemos parte de los trabajadores de la empresa y algunos de sus datos personales:

Nombre y Identificador de Password Sede Departamento


Apellidos usuario

d03er42a Nueva York Dirección

John Smith p832zr65 Londres Ventas

Matias Connor x34x3412 Londres Compras

Chris Stevens 765aGT23 Londres Administracion

July Peters 40pYU321 Paris Ventas

Sandra Connor zHT12k11 Paris Compras

Alan Sanders Sjt1jt04 Paris Administracion

Joel Smith H32kwqa2 Oslo Ventas

En la primera fila tendréis que incluir como Nombre y Apellidos el vuestro y para todas
las filas escoger un identificador de usuario.

Arquitecturas y protocolos de seguridad – PEC2 2022-2 pag. 2

Estudios de Informática, Multimedia y Telecomunicación


[1.0 puntos] Realizar un diseño del directorio. Para ello tenéis que tener en cuenta las
siguientes consideraciones:

● El sufijo (raíz del árbol del directorio) debe identificar unívocamente la organización.
● La empresa es una organización internacional con gran cantidad de trabajadores y
recursos, con lo que el diseño se tiene que adaptar a posibles cambios y/o
actualizaciones.
● Se necesitará realizar un control de acceso a los recursos por ubicación física del
trabajador y/o departamento (por ejemplo, que el departamento de RRHH de Londres
solo pueda ver los datos de los trabajadores de Londres).
● El RDN (Relative Distinguished Name) debe ser único en cada nivel (un trabajador
puede cambiar de Sede debido a necesidades de la organización).
● La Dirección de la Empresa ahora únicamente tiene una sede (Nueva York), pero podría
tener más sedes en el futuro.

Entregad como resultado un gráfico jerárquico donde se muestre el diseño del directorio
elegido según las consideraciones anteriores. Incluid también la tabla anterior con los
identificadores de usuarios que hayáis elegido para cumplir estas consideraciones.

[0.5 puntos] ¿Qué clases de objetos identificas en el diseño de tu directorio? ¿Qué


atributos son obligatorios en cada una de las clases de objeto que identificas?

2. [0.5 puntos] Una vez que hemos diseñado la estructura de nuestro directorio, el
siguiente paso es realizar la implementación del mismo utilizando OpenLDAP.

Para ello, en la MV Ubuntu:

a) Instalar los paquetes slapd y ldap-utils. Mostrad una captura de pantalla donde
se muestre que el servicio slapd esté ejecutándose.

b) Reconfigurar el servicio slapd para reconfigurar el sufijo (o DN base) de tal forma que
coincida con el nombre DNS de la empresa. Muestra capturas de pantalla de las
opciones de reconfiguración que has seleccionado.

3. [1.0 puntos] Ahora vamos a comprobar el resultado del paso anterior realizando una
consulta al directorio, utilizando la herramienta ldapsearch. Para familiarizarte con la
herramienta puedes leer la información de su página de manual (man ldapsearch).

a) En primer lugar, ejecuta una consulta ldapsearch anónima en la que obtengas las
entradas del directorio y se vea el resultado de la reconfiguración del punto 2.

Arquitecturas y protocolos de seguridad – PEC2 2022-2 pag. 3

Estudios de Informática, Multimedia y Telecomunicación


Muestra una captura de pantalla y explica cada una de las opciones que le has
pasado a ldapsearch.

b) Modifica ahora la consulta anterior para que la realice el usuario cn=admin y sea
necesario facilitar el password de este usuario para obtener los resultados. Muestra
una captura de pantalla y explica cada una de las opciones que le has pasado a
ldapsearch.

c) ¿Obtienes los mismos resultados en los dos puntos anteriores? ¿Has obtenido el
mismo número de respuestas y visto los mismos atributos para cada usuario? ¿Qué
conclusión sacas a partir de ello? Justifica la respuesta.

4. [1.5 puntos] A continuación, hemos de replicar nuestro diseño de directorio en el


servidor OpenLDAP.

a) Crea un fichero ldif (con el nombre username.ldif, donde username es tu nombre de


usuario de la UOC) que contenga la jerarquía que has definido en el diseño del
directorio que has propuesto. Entrega este fichero ldif con el PDF de las respuestas
de la PEC.

b) Añade el contenido del directorio al servidor OpenLDAP con ldapadd, explicando


cada una de las opciones que le has pasado a la herramienta ldapadd. Incluye una
captura de pantalla de la ejecución del comando anterior. Se recomienda
familiarizarse con la herramienta ldapadd leyendo su página de manual (man
ldapadd).

5. [3.5 puntos] Una vez hemos añadido los datos que corresponden con nuestro diseño
del directorio en nuestro servidor OpenLDAP, realizaremos las siguientes operaciones

a) [0.5 puntos] Realiza una consulta al directorio con ldapsearch que te devuelva
todas las unidades organizativas que tenemos. Muestra una captura de pantalla con
la ejecución del comando y el resultado.

b) [0.5 puntos] Realiza una consulta al directorio con ldapsearch que te devuelva
todos los usuarios del directorio. Muestra una captura de pantalla con la ejecución
del comando y el resultado obtenido.

c) [0.5 puntos] A continuación vamos a crear una lista de control de acceso (ACL) en
el directorio. Primero utiliza la herramienta slapcat para leer la configuración del

Arquitecturas y protocolos de seguridad – PEC2 2022-2 pag. 4

Estudios de Informática, Multimedia y Telecomunicación


servidor OpenLDAP en formato LDIF. Muestra una captura de pantalla donde se
vea la entrada correspondiente al sufijo dc=impexpsa,dc=com. Emplea la página
de manual de slapcat para familiarizarte con la herramienta (man slapcat). ¿Qué
backend se está utilizando?

d) [1.0 puntos] Crea un nuevo fichero ldif (con el nombre username_acl.ldif) para
añadir una nueva regla de control de acceso, que permita únicamente al usuario
responsable de la Administración de París (Alan Sanders) la información de esta
sede. Incluye este fichero en la entrega de la PEC junto con el PDF y el fichero el
apartado 4 a). Muestra una captura de pantalla de su contenido.

e) [1.0 puntos] Utiliza la herramienta ldapmodify para añadir el fichero del


apartado anterior al directorio. Utiliza la página de manual de slapcat para
familiarizarte con la herramienta (man ldapmodify). Muestra una captura de pantalla
de la ejecución de ldapmodify y el resultado de la aplicación de la ACL ejecutando
una consulta con el usuario responsable de la Administración de París (Alan
Sanders) y la misma consulta con otro de los usuarios.

Arquitecturas y protocolos de seguridad – PEC2 2022-2 pag. 5

Estudios de Informática, Multimedia y Telecomunicación


Enunciado – Ejercicio 2
Disponemos de un IdP (Identity Provider) que tiene soporte completo a todos los tipos
de flujo de Open ID (https://www.myidp.com). En nuestro caso, somos un proveedor de
servicio donde estamos desarrollando una aplicación web de tipo SPA (Single Page
Application) donde deseamos autenticar al usuario y solicitarle acceso para acceder a
información sobre su identidad. La información de identidad está disponible en la URL
/userinfo del IdP, pero este endpoint está protegido por lo que requiere la presencia de
un ID token. Para la autenticación y autorización del usuario se utilizará Authorization
Code Flow with PKCE.

Nota:-> https://www.myidp.com es un URL inventada, que simula un proveedor IDP para


poder realizar el ejercicio.

1. [1.5 puntos] Detallar en un diagrama de secuencias las interacciones y parámetros que


deberemos implementar para autenticar, autorizar y acceder a la información del usuario
desde nuestra aplicación. Incluir un ejemplo de las URLs así como de los parámetros
utilizados justificando el valor utilizado en cada uno de ellos.

2. [0.5 puntos]¿En qué casos se recomienda usar "Authorization Code Grant with PKCE"
respecto a su variante sin PKCE? Justifica la respuesta.

Arquitecturas y protocolos de seguridad – PEC2 2022-2 pag. 6

Estudios de Informática, Multimedia y Telecomunicación

También podría gustarte