🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónDenegar por defecto y comprobar en cada petición
5 tareas · 40 min · Principiante
Lo que la política dice importa menos que lo que la aplicación hace cuando la política no dice nada: una ruta sin regla, un servicio de política que no responde, un permiso que se retiró a media mañana. Constructora Furatena te entrega el código que corre antes de cada petición, su inventario de rutas, los eventos del servicio de política y una semana de aprobaciones de caja menor.
Objetivo de la sala
Lo que la política dice importa menos que lo que la aplicación hace cuando la política no dice nada: una ruta sin regla, un servicio de política que no responde, un permiso que se retiró a media mañana. Constructora Furatena te entrega el código que corre antes de cada petición, su inventario de rutas, los eventos del servicio de política y una semana de aprobaciones de caja menor.Denegar por defecto significa que el acceso se concede solo cuando una regla lo permite de forma expresa. Todo lo demás (una ruta nueva sin regla, una acción que nadie previó, un error al consultar la política) termina en denegar. Las recomendaciones de OWASP sobre autorización lo ponen entre sus primeros principios, junto con el mínimo privilegio, y el módulo 14 lo trató como fallar cerrado.
La razón es asimétrica: si una regla falta y el sistema deniega, alguien se queja y se escribe la regla; si falta y el sistema permite, nadie se queja y el hueco queda abierto hasta que lo encuentre quien no debía. Abre middleware_autorizacion.py y lee las dos ramas que devuelven PERMITIR sin preguntar a la política.
Responde para continuar
¿Cómo describes el comportamiento del middleware de Furatena?
Ver pista de ayuda
Mira qué devuelve cuando regla es None y qué devuelve en el except.
El comentario del middleware supone que una ruta sin regla es una ruta nueva que todavía no se usa. Pero una ruta desplegada responde desde el primer día. Compara rutas-desplegadas.txt con reglas_por_ruta.yml: las que aparecen en el primero y no en el segundo pasan sin preguntar a nadie.
De las que faltan, una solo lee; la otra cambia un dato que en una constructora vale dinero.
Responde para continuar
¿Qué ruta que modifica datos no tiene regla? Escríbela sin el método, tal como figura en el inventario.
Un punto de decisión centralizado es también un punto único de fallo, y lo que haga la aplicación cuando no responde es una decisión de diseño, no un detalle. Abrir la puerta «para no frenar la obra» convierte cada caída en una ventana en la que no rige ninguna regla. Fallar cerrado tiene un costo visible (la gente no puede trabajar unos minutos) y por eso se acompaña de alta disponibilidad del servicio de política, no de una excepción que permite.
Lee registro-politica.log y mide lo que se resolvió sin política.
Responde para continuar
¿Cuántas peticiones se resolvieron como permitidas sin consultar la política, sumando todas las caídas registradas? Escribe solo el número.
Comprobar en cada petición significa decidir con los permisos de ahora, no con los del momento en que la persona inició sesión. Un token o una sesión que guarda los roles del ingreso deja vivo un permiso retirado hasta que caduque. Por eso las decisiones sensibles consultan el estado actual, y los tokens de vida larga no se usan como fuente de permisos.
Abre api_movil.py y cruza eventos-roles.txt con aprobaciones-caja-menor.log. Fíjate en el canal de cada aprobación de la persona a la que le retiraron el rol.
Responde para continuar
¿Qué gasto se aprobó después de que a su aprobador le retiraran el rol de residente? Escribe su identificador.
Los tres hallazgos tienen la misma raíz: hay caminos en los que la aplicación concede acceso sin una regla que lo permita en ese momento.
Responde para continuar
¿Qué conjunto de cambios propones?
Ver pista de ayuda
Una opción arregla el caso visto hoy; otra cambia lo que pasa con el caso que nadie ha previsto.
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
Preferencias
Configuraciones de cookies
Elige qué categorías permitir. Las esenciales siempre están activas. Consulta la Política de Privacidad.
Esenciales
Siempre activas · sesión, CSRF, tema y esta preferencia
Necesarias para iniciar sesión, proteger formularios (CSRF) y recordar tu elección de cookies y tema. Sin ellas la plataforma no funciona de forma segura.
Analíticos
Hoy no activos en la plataforma; listos para cuando se conecten
Nos ayudan a entender uso de cursos y páginas. Si los activas, se usarán cuando conectemos analítica; hasta entonces no se carga ningún tracker.
Marketing
Hoy no activos; campañas futuras solo con tu permiso
Comunicaciones o campañas. No activos hoy en la plataforma; quedarán listos si los conectamos y solo si los permites.