¿Qué tan segura es esta URL de token para subcontratistas sin cuentas?

0

Imagina que eres una empresa de taxis que subcontrata a conductores independientes para que conduzcan dentro de ciertas ciudades y pueblos.

Le envía al subcontratista un enlace a una página que tiene campos para que el subcontratista ingrese y envíe información (como la cantidad de dinero que ganaron en un trabajo que se les pidió hacer o comentarios sobre el trabajo). El subcontratista no necesita credenciales (una cuenta con nombre de usuario y contraseña) para acceder a este enlace. Solo necesitan el enlace, que está específicamente diseñado para ellos, y que tiene un parámetro de cadena de consulta que es un token de acceso generado aleatoriamente. El subcontratista que ingresa y envía información de la página a la que se dirige el enlace envía datos a la base de datos de la compañía.

Este token de acceso al final de la URL está destinado a mantener la página segura y accesible solo por el subcontratista. El token de acceso también se basa en el tiempo. El subcontratista tiene 24 horas para ingresar la información de ese enlace.

¿Cuál es tu opinión? ¿Qué tan seguro es esto? Esto me recuerda a los enlaces para restablecer la contraseña que envían los sitios web. ¿Qué pasa si en lugar de 24 horas el enlace duró 1 mes?

    
pregunta Adé 01.09.2015 - 02:34
fuente

3 respuestas

1

Hay varios escenarios en los que tienes que pensar. Si está enviando la URL a través de HTTP, usted (y sus clientes) son vulnerables a man-in-the-middle ataque (el atacante tendrá acceso a la información que le envían los subcontratistas) e incluso si lo está enviando a través de SSL que protegerá su URL solo durante el tránsito, y si confía en los correos electrónicos para enviarla entonces SSL no lo protegerá de las inseguridades del correo electrónico que puede pasar por muchos servidores antes de llegar a su cliente; y antes de todo, es un método débil para hacerlo, ya que no es compatible con los mecanismos de autenticación más simples (como las sesiones).

Además, el hecho de que necesite enviar el subcontratista de URL cada vez que requiera su información, con su validez durante 24 horas, lo expondrá a más amenazas, ya que mejora la longitud de atacar a la superficie . Y si el URL almacena en la caché la URL y un subcontratista puede usarla más de una vez (no lo especificó a través de su pregunta), entonces incluso SSL no sirve para este caso en particular.

También hay que tener en cuenta otras consideraciones: ¿qué pasa con cualquier enrutamiento interno, el registro del servidor?

Para tu última pregunta:

  

¿Qué pasaría si en lugar de las 24 horas el enlace durara 1 mes?

Una vez más, si aumenta la validez temporal de la URL, al mismo tiempo mejora el ataque de superficie que el correo electrónico del subcontratista (o el sistema con el que recibe su URL) puede verse comprometido por el tiempo.

    
respondido por el user45139 01.09.2015 - 10:03
fuente
0

Aunque, esto suena como tarea, es posible que una persona técnica a veces no entienda algunas cosas.

Debe asegurarse de que la persona que ingresa la información sea la indicada. La manera estándar de verificar John Doe es que John Doe es tener su correo electrónico y enviar el enlace a su correo electrónico, o tener su teléfono (celular) y enviar un número aleatorio a través de SMS que deben ingresar cuando ingresan al enlace.

Esto no habla acerca de la implementación u otros temas como el spam. Tendrás que hacer una lluvia de ideas y pensar en ellos.

    
respondido por el Salah-1 01.09.2015 - 07:28
fuente
0

Esto es bastante seguro, suponiendo que hayas puesto en práctica una forma de lidiar con las colisiones y que alguien intente adivinar aleatoriamente otras cadenas. Ya que está sobre ssl, y suponiendo que su finalización termina exactamente en su servidor, se resiste a que alguien intente cada combinación durante el período de validez de la cadena, y las isps intermedias no estén guardando la url, debería estar bien.

    
respondido por el munchkin 01.09.2015 - 10:55
fuente

Lea otras preguntas en las etiquetas