Asegurar el cifrado simétrico de contraseñas para permitir a los administradores iniciar sesión como usuarios

1

Estoy tratando de encontrar la mejor manera de asegurar las credenciales de usuario para el inicio de sesión del servicio en el que estoy trabajando. La forma más segura sería utilizar hashing y salado; sin embargo, este proyecto requiere que la contraseña se descifre para que el personal de soporte pueda iniciar sesión en la cuenta del usuario (si el usuario abre un ticket de soporte si algo no funciona bien).

He investigado un poco y parece que AES es la mejor opción. Mi preocupación es cómo debo almacenar las claves de cifrado en el servidor, porque si el servidor está comprometido, el pirata informático tiene acceso a las claves para descifrar todas las credenciales.

Le agradecería que alguien me informara sobre las mejores prácticas que debería usar para este proyecto.

Nota al margen: estoy programando el backend en NodeJS y se ejecutará en un VPS de Linux privado.

    
pregunta Andy 06.02.2017 - 13:16
fuente

1 respuesta

12

En general, es una buena práctica permitir algún otro método de suplantación. Al permitir que el personal de administración acceda a las contraseñas, pierde la capacidad de verificar que un usuario determinado haya realizado una acción determinada: puede ser el usuario original, su personal de administración. También compromete a cualquier usuario que reutilice contraseñas en su sitio y en cualquier otro lugar, solo tomaría un usuario administrador anotando el nombre de usuario y la contraseña, y encontrando los mismos detalles en uso en otro sitio.

Si debe permitir el inicio de sesión como otro usuario, el personal de administración debe restablecer la contraseña a una que conozca, hacer los cambios que deben hacer y, a continuación, aplicar un restablecimiento de contraseña cuando el usuario inicie sesión.

En resumen, no haga esto: implemente otro método de suplantación, que registre al usuario administrador que accedió a la cuenta, la hora y lo que hizo, o haga uso de sus procesos de restablecimiento de contraseña existentes, y asegúrese de que la contraseña conocida por el personal administrativo se cambia la próxima vez que el usuario inicie sesión.

    
respondido por el Matthew 06.02.2017 - 13:23
fuente

Lea otras preguntas en las etiquetas