Protección de la aplicación web e inicio de sesión

2

Tengo un cliente que desea proteger el acceso a una aplicación web en caso de que el empleado se retire porque la aplicación da acceso a clientes, ventas, etc. Quiere "ocultar" las credenciales de inicio de sesión de esta aplicación y nos pidió que escribiéramos una aplicación de inicio de sesión que tendría que iniciarse primero, luego la aplicación registraría al usuario. De esta manera, el usuario nunca sabría sus verdaderas credenciales y no podría tener acceso remoto a esta aplicación el fin de semana. ¿Alguien ha hecho esto o tiene ideas?

    
pregunta Web App 31.08.2013 - 17:48
fuente

1 respuesta

2

Supongo que su problema es sobre el uso de una aplicación web que usted no controla . Esa aplicación web requiere algunas "credenciales de usuario" (inicio de sesión y contraseña) que no desea mostrar al usuario humano. Pero estas credenciales deben existir, y si no están en la cabeza del empleado, entonces deben estar en su máquina u otra máquina de retransmisión.

En general, puede visualizar un sistema de proxy : el empleado se conecta no a la aplicación web, sino al proxy. El empleado se autentica con el proxy a través de algún método específico del proxy, que puede ser un inicio de sesión + contraseña (no es lo mismo que las credenciales de la aplicación web). El proxy luego reenvía todas las solicitudes a la aplicación web y responde, excepto que también realiza la autenticación "verdadera" con la aplicación web.

Ese proxy puede ser algún software que se ejecute en el sistema de escritorio del empleado, pero eso es un poco débil, porque el empleado tiene, por definición, acceso físico a su propio sistema de escritorio, por lo que podrá extraer cualquier secreto que contenga, si Él pone un poco de esfuerzo en la tarea. Un sistema más sólido es hacer que el proxy sea una máquina separada, mantenida en una bahía en una sala de servidores, en la red interna de la compañía. El punto aquí es que esta máquina proxy no es accesible para el empleado desde el acceso a Internet de su hogar.

Eso es todo lo que podemos decir "en general". La facilidad o la dificultad de implementar un sistema de este tipo depende en gran medida de cómo la aplicación web hace las cosas. Por ejemplo, si la aplicación web de destino utiliza autenticación básica HTTP , entonces el proxy solo tiene que agregar un WWW-Authenticate: encabezado HTTP a cada solicitud. Si la aplicación web utiliza una "página de inicio de sesión" personalizada (ese es el caso habitual), entonces el proxy tendría que obtener esa página, enviar las credenciales (HTTP POST), luego obtener la cookie , y agregue el encabezado HTTP Cookie: a cada solicitud. Si la aplicación web utiliza OAuth y / o el código Ajax con Javascript del lado del cliente, entonces las cosas pueden volverse complejas, posiblemente bastante peludo.

    
respondido por el Thomas Pornin 03.09.2013 - 19:30
fuente

Lea otras preguntas en las etiquetas