elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Análisis del vídeo del hackeo al Sindicato de los Mossos de Esquadra


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  Pasar usuario de una aplicación web a otra
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Pasar usuario de una aplicación web a otra  (Leído 1,170 veces)
nascent

Desconectado Desconectado

Mensajes: 6


Me haces muy feliz hijo


Ver Perfil
Pasar usuario de una aplicación web a otra
« en: 5 Junio 2017, 17:44 »

Buenos días con todos.

Tengo el siguiente escenario y quisiera me orienten como poder solucionarlo de la mejor manera.

Tengo una aplicación web en mvc con c#, desde esta aplicación me autentico con AD y después me carga un panel (con varios iconos) del cual llamo a otras aplicaciones de la empresa (tenemos las fuentes, también están en c# y están en otros servidores).

Actualmente llamo a cada aplicación del panel por POST y le mando el usuario, las aplicaciones solo cogen el usuario asumiendo que ya esta autenticado y con ese usuario armo sus perfiles.

Mi consulta es ¿cual es la forma correcta de ingresar a los otros aplicativos desde mi panel? ya que basta con saber el usuario que le mando por POST para poder ingresar a mis aplicaciones del panel desde cualquier otros sitio.

De ante mano gracias por las respuestas


En línea

************************03-07-2007************************
No creas saberlo todo. Porque siempre habra alguien que sabe mas que tu.
LaThortilla (Effort)

Desconectado Desconectado

Mensajes: 229


¿En que vida harás lo que en esta no?


Ver Perfil WWW
Re: Pasar usuario de una aplicación web a otra
« Respuesta #1 en: 6 Junio 2017, 00:46 »

Desconozco la estructura de tu sistema, o si las aplicacioens estan en distintos servidores.


Lo que tienes que hacer es generar sessiones. en php existen las variables de session, en .net supongo que tambien....


bueno lo que tienes que hacer es:

1. cuando el usuario se autentica, creas en la base de dato un hash (sha1, md5 el que prefieras),con elementos del usuario y datos random, fecha y hora de creación, ip, host y mas.(El fin es crear un identificador único y robusto.)

2. En la tabla que almacenes El hash que creaste, puedes almacenar la fecha de creación, nombre del host, ip y cualquier otro dato del pc desde el que se crea la session (recomendaciones por seguridad, esto puede servir para validar que no se este usando desde 2 pcs distintos)

3. Al mismo tiempo que creas la session en la base en tu servidor vas a crear una variable de session (estas variables de session son variables globales que se crean en el servidor, busca en la documentación de .net como crearlas) en esta variable vas a guardar el hash que es el que va  ha servir para autenticarte y validar que en efecto ya iniciaste session...

4. Si llamas a una aplicación que se encuentra en un servidor distinto que en el que creaste la variable de session, tendrás que crear una tabla de tokens, estos tokens son iguales a la session , osea que seran como una subsession pero a una aplicación.

5. una ves crees el token en tu servidor principal, enviaras ese token en el post que haces para llamar a tu aplicacion secundaria, y crearas una hash en la base de datos (Igual que el que cuando creaste la session) y lo guardaras en la tabla de tokens de aplicaciones.


6. en el servidor secundario repetirás el proceso, crearas otra variable de session en el servidor secundario con el hash  de aplicacion que generaste.

Nota: esto del token de aplicación es una medida de seguridad. si por algún tipo de ataque el hash de aplicación es capturado solo se tendrá acceso a una parte de tu sistema. esto fuera distinto si lo hicieras todo con el mismo que el de la session general. que en este caso podria acceder a cualquier aplicación.


importante: al finalizar de usar la aplicación cerrar la session y eliminar la variable de session de los servidores primarios y secundarios.



las variables de session generan un tipo de Cookie en el navegador que sirve para autenticarse con el servidor


« Última modificación: 6 Junio 2017, 01:08 por LaThortilla (Effort) » En línea

Blog de Programacion, Hacking, seguridad, y  más.
Curso de programación Python Grátis Activo
[/glow]
nascent

Desconectado Desconectado

Mensajes: 6


Me haces muy feliz hijo


Ver Perfil
Re: Pasar usuario de una aplicación web a otra
« Respuesta #2 en: 6 Junio 2017, 17:02 »

Effort.

Gracias por tomarte el tiempo de explicarlo tan sencillo, me parece buena idea creo que lo implementare ya que tengo aplicaciones en diferentes servidores y en diferentes lenguajes y con esta solución no tendría inconveniente en aplicarlo en aplicaciones con diferente tecnología.


En línea

************************03-07-2007************************
No creas saberlo todo. Porque siempre habra alguien que sabe mas que tu.
LaThortilla (Effort)

Desconectado Desconectado

Mensajes: 229


¿En que vida harás lo que en esta no?


Ver Perfil WWW
Re: Pasar usuario de una aplicación web a otra
« Respuesta #3 en: 6 Junio 2017, 17:17 »

Effort.

Gracias por tomarte el tiempo de explicarlo tan sencillo, me parece buena idea creo que lo implementare ya que tengo aplicaciones en diferentes servidores y en diferentes lenguajes y con esta solución no tendría inconveniente en aplicarlo en aplicaciones con diferente tecnología.


Un placer. si tienes mas dudas mandame un twitt :V @Lathortilla
En línea

Blog de Programacion, Hacking, seguridad, y  más.
Curso de programación Python Grátis Activo
[/glow]
nascent

Desconectado Desconectado

Mensajes: 6


Me haces muy feliz hijo


Ver Perfil
Re: Pasar usuario de una aplicación web a otra
« Respuesta #4 en: 8 Junio 2017, 18:10 »

Un placer. si tienes mas dudas mandame un twitt :V @Lathortilla

Effort.

Supongo que al enviar el tocken al llamar a la aplicación, como comparo o como se que el tocken viene de mi aplicación principal y no desde otro lugar.
En línea

************************03-07-2007************************
No creas saberlo todo. Porque siempre habra alguien que sabe mas que tu.
LaThortilla (Effort)

Desconectado Desconectado

Mensajes: 229


¿En que vida harás lo que en esta no?


Ver Perfil WWW
Re: Pasar usuario de una aplicación web a otra
« Respuesta #5 en: 11 Junio 2017, 06:01 »

Bueno lo correcto seria validar la ip desde donde salio el toquen.

la otra es validar que ese toquen exista en la base de datos.
 
En línea

Blog de Programacion, Hacking, seguridad, y  más.
Curso de programación Python Grátis Activo
[/glow]
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines