Keycloak en Producción · Lección 09
¿Por qué Keycloak requiere que un Client registre explícitamente una lista de 'redirect URIs' válidas, en vez de permitir redirigir hacia cualquier URL después de una autenticación exitosa?
Restringe hacia dónde puede redirigirse al usuario después de autenticarse, evitando que un atacante manipule el flujo de autenticación para redirigir el código de autorización (o el token) hacia una URL maliciosa controlada por él, en vez de hacia la aplicación legítima original
Esta restricción de redirect URIs no tiene absolutamente ninguna relación real con la seguridad del flujo de autenticación completo
Solo es relevante configurar redirect URIs válidas si el Client tiene exactamente un único usuario en total autenticándose a través de él
Permitir redirigir hacia cualquier URL después de la autenticación sería exactamente igual de seguro que restringir la lista a URIs específicas previamente aprobadas
Keycloak en Producción · Lección 09
Completa el código
La restricción evita que un atacante redirija el código de autorización hacia una URL
Revisa: evita que un atacante redirija el código de autorización hacia una URL maliciosa.
Keycloak en Producción · Lección 09
¿Por qué un atacante que logra manipular el parámetro de redirect URI en una petición de autenticación (si Keycloak permitiera cualquier URL sin restricción) podría interceptar el código de autorización destinado originalmente al usuario legítimo?
Pista: si Keycloak permitiera redirigir hacia cualquier URL sin ninguna restricción, un atacante podría manipular esa petición para que, tras la autenticación exitosa del usuario legítimo, el código de autorización se enviara hacia un servidor controlado por el atacante en vez de hacia la aplicación legítima original; ese atacante podría entonces usar ese código interceptado para obtener acceso no autorizado, algo que la lista de redirect URIs previamente aprobadas previene al rechazar cualquier destino no autorizado explícitamente.
✓
¡Lección completada!
Configuración de redirect URIs y seguridad de clients
0
XP ganado
3
Vidas restantes