Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Propagar la identidad del usuario sin perderla

5 tareas · 40 min · Principiante

El TLS mutuo dice qué servicio llama. No dice en nombre de qué persona. Una petición del usuario atraviesa varios servicios y, en algún salto, esa identidad se reenvía de más, se cambia por la del servicio o se pierde. Una clienta de Domicilios Cuchumbí denuncia que alguien desconocido sabía su dirección y su teléfono. Tienes la configuración de la pasarela, lo que acepta cada servicio, un token obtenido por intercambio y las trazas de esa mañana.

0 de 5 · 0%

Objetivo de la sala

El TLS mutuo dice qué servicio llama. No dice en nombre de qué persona. Una petición del usuario atraviesa varios servicios y, en algún salto, esa identidad se reenvía de más, se cambia por la del servicio o se pierde. Una clienta de Domicilios Cuchumbí denuncia que alguien desconocido sabía su dirección y su teléfono. Tienes la configuración de la pasarela, lo que acepta cada servicio, un token obtenido por intercambio y las trazas de esa mañana.

Hay dos formas de perder al usuario por el camino. La primera es que un servicio llame al siguiente con su propia cuenta de servicio, casi siempre con permisos amplios «porque necesita leer de todo». El que recibe solo ve al servicio y no puede aplicar los permisos de la persona: el servicio intermedio se convierte en un ayudante que hace por cualquiera lo que esa persona no podría hacer sola. Es el problema clásico del ayudante confundido.

La segunda es la contraria: reenviar el token original del usuario a todos los servicios. Así el usuario no se pierde, pero cualquier servicio que reciba ese token puede presentarlo en otro lado, y el que lo acepta ya no sabe si viene del usuario o de un intermediario.

Responde para continuar

Si facturacion consulta a cuentas siempre con su propia cuenta de servicio, ¿qué deja de poder hacer cuentas?

Ver pista de ayuda

La cuenta de servicio dice quién llama, no por quién.

Un token firmado dice para quién fue emitido en su audiencia. Un servicio que comprueba que la audiencia es la suya rechaza los tokens hechos para otro, y con eso un token robado o reenviado en un sitio no sirve en el siguiente. Abre el laboratorio y lee validacion-tokens.yaml junto a pasarela.conf. Un servicio aceptó, por comodidad, la audiencia del primer salto.

Responde para continuar

¿Qué audiencia, distinta de la suya, acepta el servicio de pagos? Escríbela tal como aparece.

Ver pista de ayuda

Busca el comentario del cambio que lo permitió.

Ahora el otro lado. cuentas no comprueba de quién es la cuenta pedida cuando la pide facturacion, y facturacion no comprueba la relación detrás del parámetro de titular. En llamadas.log cada traza dice quién es el usuario que inició la petición y qué cuenta terminó pidiendo facturacion. Cuenta las llamadas de facturacion a cuentas en las que la cuenta pedida no es la del usuario de esa traza.

Responde para continuar

¿Cuántas llamadas de facturacion a cuentas pidieron una cuenta distinta de la del usuario de la traza?

Ver pista de ayuda

Compara la columna del usuario con el final de la ruta pedida a cuentas.

Hay una tercera vía, y Cuchumbí la probó con notificaciones: intercambiar el token. El servicio intermedio presenta el token del usuario ante el emisor y pide uno nuevo, con la audiencia del siguiente servicio y con el alcance justo. El estándar de intercambio de tokens de OAuth 2.0 (RFC 8693, de 2020) describe ese pedido y permite que el token nuevo nombre, además del usuario, al servicio que hace la llamada por él. Así el receptor sabe las dos cosas y puede decidir con ellas. Lee token-intercambiado.txt.

Responde para continuar

¿Qué afirmación del token intercambiado nombra al servicio que llama en nombre de la usuaria? Escribe su nombre tal como aparece.

Ver pista de ayuda

Es la única afirmación que contiene una identidad de servicio.

El hallazgo de facturacion no se corrige solo con validar el parámetro de titular, aunque haya que hacerlo. Mientras cuentas confíe en una cuenta de servicio con lectura total, cualquier error futuro de facturacion volverá a abrir todas las cuentas. La corrección tiene que llevar la identidad de la persona hasta el servicio que guarda el dato, que es el único que puede decidir con ella.

Responde para continuar

¿Qué cambio quita la causa del hallazgo entre facturacion y cuentas?

Ver pista de ayuda

El dato lo guarda cuentas; la persona la conoce la pasarela.

Inicia sesión para registrar tus puntos y progreso en el ranking.

Whoami-Labs Pro

Whoami-Labs Pro utiliza cookies

Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad