Buen día.
Estamos intentando integrar una instalación de Mapuche de test con un sistema de Expediente Electrónico Integrado desplegado según la documentación para la instancia Demo. Mapuche funciona correctamente y el sistema de expedientes aparentemente también. No se ha modificado el dominio, se está empleando uunn.local lo cual esta configurado en los archivos host de todos los equipos involucrados para que apunten a la ip donde corre expedientes.
Al finalizar los pasos indicados mapuche comienza a mostrar el error: - Error interno
Revisando los logs se advierte:
Thu Jul 29 09:27:43.754334 2021] [php7:notice] [pid 17] [client 10.1.1.244:53146] toba_error_seguridad: Error Interno La configuracion de seguridad requiere la existencia de archivos certificado y clave privada para el SP\n[TRAZA]\n\t\n\ttoba_autenticacion_saml_onelogin->__construct \nArchivo: /usr/local/siu/mapuche/vendor/siu-toba/framework/php/nucleo/lib/autenticacion/toba_autenticacion_saml_onelogin.php, lInea 46 \n\t\n\ttoba_manejador_sesiones->get_autenticacion \nArchivo: /usr/local/siu/mapuche/php/comunes/login/ci_login.php, lInea 42 \n\t\n\tci_login->ini \nArchivo: /usr/local/siu/mapuche/vendor/siu-toba/framework/php/nucleo/componentes/interface/toba_ci.php, lInea 94 \n\t\n\ttoba_ci->inicializar \nArchivo: /usr/local/siu/mapuche/vendor/siu-toba/framework/php/nucleo/toba_solicitud_web.php, lInea 132 \n\t\n\ttoba_solicitud_web->procesar_eventos \nArchivo: /usr/local/siu/mapuche/vendor/siu-toba/framework/php/nucleo/toba_solicitud_web.php, lInea 55 \n\t\n\ttoba_solicitud_web->procesar \nArchivo: /usr/local/siu/mapuche/vendor/siu-toba/framework/php/nucleo/toba_nucleo.php, lInea 96 \n\t\n\ttoba_nucleo->acceso_we…SIGUE…
El archivo instalacion/i__produccion/p__toba_usuarios/rest/rest_arai_usuarios/cliente.ini esta configurado como sigue:
[conexion]
;;Recuerde dejar una barra (/) al finalizar la URL
to = “https://uunn.local/api-usuarios/v1/usuarios”
auth_tipo = “basic”
auth_usuario = “mapucheusuarios”
auth_password = “claveusuarios”
;Parametros para auth_tipo = ssl
;cert_file=/path_al_certificado
;cert_pwd=PASSWORDDECERT
;key_file=/path_de_clave_privada
;ca_cert=/path_al_certificado_CA
Les agradecemos si nos pueden dar algún norte para empezar a investigar.
la aplicación Toba les pide que se cree un par de certificados para el SP (aca se explica porqué pasa). Si no los generan, pueden desactivar configurado en la sección basicos verifyPeer = “0”.
Realizamos nuevamente la instalacion del sistema de expediente de desarrollo, esta vez utilizando un certificado de letsencrypt y publicando a internet el dominio. Luego aplicamos y verificamos lo antes indicado en este hilo. El dominio utilizado es seei1.uader.edu.ar.
Ahora al ingresar a mapuche nos redirecciona a https://seei1.uader.edu.ar/idp/module.php/arai/loginuserpass.php/arai/loginuserpass.php
y en pantalla dice “Ocurrio un error”
En los logs no hay entradas de error esta vez.
La sección SP ONE LOGIN del archivo instalador.env quedó:
El mensaje es demasiado generico, si no tenes una entrada de log en el IDP que pueda orientarnos te diria que es bastante dificil descubrir cual es el origen del problema.
Una opcion que se me ocurre es que les falte registrar Mapuche como SP en Arai-Usuarios, pueden acceder a este ultimo o tambien les arroja un error?.
###### CONFIG SP ONE LOGIN ######
SSO_SP_IDP_PUBLIC_KEY_FILE=/usr/local/siu/mapuche/temp/certificado_idp.crt
el archivo smal_onelogin.ini quedo:
certFile = “/usr/local/siu/mapuche/instalacion/idp.crt”
Esas 2 rutas no coinciden, por lo que una debe estar incorrecta… estaria bueno que lo corrijan asi pueden hacer uso de los comandos el instalador sin tener que realizar ajustes luego.
Gracias Richard por la respuesta.
Corregi la diferencia de rutas para llegar al certificado. Ahora ambas apuntan a /usr/local/siu/mapuche/temp/certificado_idp.crt que es donde se ubicó el archivo que se trajo del sistema de expedientes.
Para registrar Mapuche como SP en Arai-Usuarios no tuve problemas, lo que no se es si estan bien las rutas, estan armadas en base a lo que hay en la guia (adjunto captura).
Te agradezco si me puedes indicar la ubicacion del log para el idp de usuarios. En el contenedor del idp en la ruta /var/log/apache2/ solo tengo un access.log.
a primera vista las urls estan bien si es que tienen publicado Mapuche en maputest.blahblah/mapuche
Te agradezco si me puedes indicar la ubicacion del log para el idp de usuarios. En el contenedor del idp en la ruta /var/log/apache2/ solo tengo un access.log.
El log del IDP lo obtenes ejecutando
docker service logs -f ID_SERVICIO
Con eso corriendo intentas el login en Mapuche y ahi te deberia saltar que esta pasando.
Richard:
Gracias por tu respuesta.
En cuanto al maputest.uader.edu.ar/mapuche andaba sin problemas hasta que se modifico para conectar con el sistema de expedientes.
Te adjunto lo que se ve en el log del idp al intentar el acceso:
Eso significa que Mapuche esta enviando esa URL como entityID del SP… y la misma no existe entre lo que el IDP tiene registrado, lo que me lleva al siguiente punto.
Corrobora por favor en la instalacion de Mapuche, que en el archivo instancia.ini en la seccion perteneciente a Mapuche existe una entrada full_url y tiene el valor adecuado.
Es decir, el mismo dominio/alias que incluiste en el IDP…por lo que esta enviando diria que no tiene el valor correspondiente o no esta la entrada directamente y se esta intentando armar a partir del web server.
Algo que olvide preguntarte anteriormente, esta instalacion de Mapuche esta detras de algun proxy?
Hola Richard, perfecto! Luego de editar el archivo instancia.ini y corregir la full_url ya veo el inicio de sesión.
Respecto a lo del proxy es correcto lo que decís. El mapuche sale mediante un proxy reverso con Apache.
Ahora creé un usuario y le agregué la aplicación Mapuche. Al iniciar sesión obtengo el error de mapuche:
El usuario no está dado de alta en el sistema
En el log del Mapuche veo lo siguiente:
El usuario SAML ‘mchiecher’ no existe en la instancia toba, referer: https://seei1.uader.edu.ar/
El usuario nuevo creado en el arai-usuarios no existía en Mapuche, supongo que debe existir alguna manera de sincronizarlos o no sé si debería ser de manera automática.
bien barbaro, entonces era que tenia mal la URL finalmente.
Ahora creé un usuario y le agregué la aplicación Mapuche. Al iniciar sesión obtengo el error de mapuche:
El usuario no está dado de alta en el sistema
Si bien vos creas un usuario en el IDP, la cuenta asociada al mismo debe estar presente en el modulo/sistema cliente… en este caso Mapuche, ya que en ese punto se asocian tanto perfiles funcionales como de datos (al menos por ahora). Luego de dar de alta tu usuario en el IDP, deberias darlo de alta en Mapuche y asociarlo desde alli al usuario que incorporaste en Arai-Usuarios.
El usuario nuevo creado en el arai-usuarios no existía en Mapuche, supongo que debe existir alguna manera de sincronizarlos o no sé si debería ser de manera automática.
Esta la parte de sincronizacion de usuarios… aunque normalmente lo haces para inicializar de forma masiva y luego es mas sencillo (y rapido) realizar la asociacion desde la misma aplicacion.
por el error de Mapuche y siendo que iniciaste todo el proceso de nuevo, te consulto… .actualizaste el certificado del IDP en Mapuche?, los errores de validacion asi de la nada suelen estar relacionados a un certificado que no coincide… puedo estar equivocado pero es un indicio.
Sí. Volví a copiar el certificado desde el sistema de expedientes por las dudas pero persiste el mismo error. Voy a intentar nuevamente repasar todos los pasos a ver si salta algo.
Luego de renovar el certificado del IDP… renovaste los secrets asociados y re-deployaste el stack de usuarios?
Si solo estas usando usuarios via docker-compose… los re-creaste luego de actualizar el archivo?
Revisaste los permisos del archivo de certificado en Mapuche, es accesible por el web server?
Es raro lo siguiente, el Mapuche instalado manualmente toma el archivo directamente cuando se lo pisas… si los contenedores de EEI hubieran levantado el certificado nuevo, deberian coincidir y por ende no te saltaria ese error… hay algo que esta cruzado ahi, lo unico que se me ocurre es revisar lo de mas arriba.
El certificado no lo renové sino que volví el mapuche a la instancia anterior (tengo backup antes de las modificaciones). Luego lo volví a conectar al EEI segun el procedimiento copiando el certificado nuevamente desde el servidor de EEI.
Según tu sugerencia me puse a modificar los permisos del archivo certificado. Ahora al completar usuario y clave el sistema no me redirige automáticamente pero si coloco la url de mapuche en el navegador aparezco logueado.
En el log se ve:
[Thu Sep 23 07:14:36.777366 2021] [php7:notice] [pid 15] [client 172.22.0.1:44290] toba_error_seguridad: Error Interno Request Invalido\n[TRAZA]\n\t\n\ttoba_nucleo->verificar_pedido_post \nArchivo: /usr/local/siu/mapuche/vendor/siu-toba/framework/php/nucleo/toba_nucleo.php, lInea 576 \n\t\n\ttoba_nucleo->acceso_web \nArchivo: /usr/local/siu/mapuche/www/aplicacion.php, lInea 24 \n\t\n\t\n, referer: https://seei1.uader.edu.ar/
Vamos a partir desde aquí para hacer más pruebas.
Me mantengo en contacto, muchas gracias por tu impecable asistencia.