Configuración: Supongamos que estoy generando correctamente un hash de contraseña (por ejemplo, concatenándolo con un / dev / urandom salt y un secreto local y lo hashing con bcrypt), ahora voy a almacenar el resultado en una "información de usuario" archivo que contiene nombre, nombre de usuario, correo electrónico, sal y resultado de hash en Linux. Digamos que establezco los permisos adecuados en el archivo para protegerlo, y que generalmente tomo las precauciones adecuadas para proteger mi servidor de los intrusos / intrusos.
Pregunta: ¿Es importante que haga algo más para proteger el archivo? ¿Está bien la codificación de texto sin formato o se debe usar otra codificación para intentar ofuscarla? ¿Debe estar encriptado y se requiere una contraseña para descifrarlo?
Actualización de los comentarios:
- Hubo una buena respuesta (al menos parcial) que las contraseñas con hash deben almacenarse en áreas protegidas de la red en lugar de DMZ siempre que sea posible.
- También el secreto local debe almacenarse por separado del archivo hash, para que un atacante que tiene uno no obtenga ambos automáticamente. Se recomendó un HSM (Módulo de seguridad de hardware).
- Se señaló que un archivo puede ser vulnerable a un ataque de escape de URL, a diferencia de una base de datos.
- No en un comentario, pero también encontré este tema relacionado útil, el consejo adicional relevante parecía ser asegurarse de almacenar el archivo en una ubicación segura y de errar por el lado de cifrarlo.