Solucion de problemas
IDP
Como hacer seguimiento
Para hacer un seguimiento a los logs de un contenedor, se debe ejecutar el comando docker logs
con el modificador --follow
:
docker logs -f ID_CONTAINER
Esto continuara listando los mensajes que emita el contenedor, hasta que se detenga el mismo o se desee cortar el listado presionando Ctrl-C.
Ver logs
Como en algún caso los módulos API, IDM, IDP pueden estar corriendo en el mismo contenedor, es importante poder separar los logs para obtener unicamente lo que necesitamos. La forma mas sencilla de realizarlo con las herramientas que tenemos es:
Para el IDP:
docker logs -f ID_CONTAINER | grep -i simplesamlphp
Para el módulo API:
docker logs -f ID_CONTAINER | grep -i api
Para el IDM:
docker logs -f ID_CONTAINER | grep -i idm
En caso de tener los modulos en contenedores separados, simplemente podemos utilizar el metodo de seguimiento mencionado mas arriba.
Errores SimpleSAMLPhp
Lista de errores comunes que surgen de la libreria SimpleSAMLPhp y su posible causa.
Error | Posible Causa |
---|---|
Metadata not Found | Se refiere a que no se encontro el entityID del SP entre los metadatos del IDP. Una causa posible es que falte registrar la aplicacion en el IDM, o que se haya agregado al conector con un EntityID diferente del presentado por la aplicacion. |
Inconsistencia de tiempo | Se refiere a que el SP tiene una diferencia de tiempo con el IDP y por ende el assertion puede parecer creado en el futuro o recibido fuera de su periodo de validez. Verifique fecha y hora del SP |
Binding no Soportado | El request realizado al endpoint no llego por el medio esperado, revise la metadata del IDP y SP, configurando adecuadamente el endpoint para el request solicitado |
Modulo no ubicado | No se encontro el authsource especificado, verifique la configuracion del IDP |
Lista de errores comunes que surgen del mecanismo provisto por SIU-Arai: Usuarios
Error | Posible Causa / Solución |
---|---|
Token Vencido | El Token de validez de mensaje llegó luego de su fecha de expiración. Revise parametro token_lifetime |
Email Duplicado | Al buscar el mail se encontro mas de una vez y no esta permitido. Revise parametro controlar_mail_duplicado |
Identificador Incorrecto | El usuario especificado no existe |
Password Incorrecto | El password especificado no coincide con el almacenado |
Password Vencido | El password está mas alla de su periodo de validez y debe ser cambiado por politicas de acceso. Revise tab Control Acceso para el usuario y/o parametro password_duracion_dias |
Cuenta Vencida | La cuenta del usuario especificado se encuentra bloqueada por politicas de acceso. Revise tab Control Acceso para el usuario |
Cambio de Password Pendiente | Se solicito un cambio de password y se encuentra vigente. Revise cambios de password pedidos |
Acceso denegado | La aplicación solicitada requiere que el usuario posea una cuenta en la misma o pertenezca a un grupo con acceso. Revise permisos del usuario o definicion de la aplicacion |
SP
Ver logs
Para visualizar los logs del SP se debe ejecutar lo siguiente:
docker logs -f ID_CONTAINER_APP
Verificar Metadata SP
Para verificar la metadata del SP, los diferentes bindings de los endpoints, certificados, algoritmos y Nameid-Format navegar:
App Toba: http://urlApp/?metadata
App no Toba: http://urlApp/saml/metadata
Aplicacion Toba (errores nucleo)
Error Interno: Error de seguridad ante el faltante del token anti-csrf en un pedido POST. Revise Binding del SP.
Usuario no Existe: Error de seguridad, la cuenta especificada para el usuario no existe en la instancia Toba de la aplicacion.
- Caso Puntual: Revise toba-usuarios y la asignacion de cuenta para el usuario
- Caso General: Revise
instalacion/saml_onelogin.ini
y verifique el parametroatributo_usuario
Usuario no posee acceso: Revise toba-usuarios y la asignacion de permisos para la cuenta del usuario.
SAML response not found: Revise metadata SP y verifique que el profile del endpoint utilizado por el IDP sea correcto (coincidan endpoint y binding).
Inconsistencia de certificados
En caso de que los certificados y/o claves especificados para IDP y SP no coincidan, probablemente obtengamos un error indicando que la respuesta SAML es inválida.
Para verificar que el par cert/key coinciden, debemos obtener el mismo resultado de las operaciones siguientes
openssl x509 -noout -modulus -in certificate.crt | openssl md5
openssl rsa -noout -modulus -in privateKey.key | openssl md5
Una vez verificado que no nos quedaron archivos cruzados, debemos verificar que le entregamos a la contraparte la información correcta, para ello podemos acceder a las URLs que exponen la metadata tanto del IDP como del SP.