Seguridad de la contraseña al conectarse a ldap con la aplicación de rieles

6

¿Cómo almacena un nombre de usuario / contraseña de forma segura en una aplicación de Rails cuando lo usa para muchas búsquedas de LDAP?

La conexión en la aplicación requiere

ldap_bind_authenticate(Net::LDAP.new, username, password)

cada vez que se realiza una búsqueda, y las credenciales del usuario no se almacenan al iniciar sesión. A menudo veo que los desarrolladores utilizan un usuario de prueba para las búsquedas y almacenan un par de nombre de usuario y contraseña de texto simple en el modelo user.rb. ¿Hay una forma más segura de hacer esto?

    
pregunta essefbx 24.03.2015 - 23:01
fuente

1 respuesta

1

Descargo de responsabilidad: nunca he usado ruby / ruby on rails y en esta respuesta describo cómo actuaría en general.

Tienes dos formas de resolver este problema:

  1. Use un usuario adicional para todas sus búsquedas.

    • Pro: no tiene que almacenar las credenciales de los usuarios después de que él / ella haya iniciado sesión.
    • Con: No sé si esto es importante en su aplicación, pero no puede rastrear qué usuario ha iniciado una consulta basada en sus registros de LDAP.
    • Implementación: debe almacenar credenciales confidenciales para un servicio externo dentro de su aplicación. Este es exactamente el mismo problema que con las credenciales de la base de datos, así que creo que debería almacenar sus credenciales LDAP de la misma manera que ellas.
  2. Utilice el usuario que ha iniciado sesión para realizar búsquedas

    • Pro: puedes hacer un seguimiento de lo que cada usuario ha hecho usando tus registros LDAP
    • Con: tienes que almacenar la información del usuario sin cifrar en algún lugar mientras el usuario ha iniciado sesión.
    • Implementación: guarde la información del usuario sin cifrar en la sesión o algo así para que pueda acceder a ellos cuando lo necesite.

Personalmente, preferiría la primera solución, ya que no implica almacenar muchas contraseñas de usuario de texto simple en algún lugar.

    
respondido por el Martin 25.03.2015 - 16:03
fuente

Lea otras preguntas en las etiquetas