Administrar credenciales de db para aplicaciones web

1

¿Existe una alternativa a los archivos de propiedades para administrar las credenciales de conexión de DB (y otros servicios) para un grupo de aplicaciones web? ¿No podría utilizar algo similar a un registro de servicio ?

Por ejemplo, la aplicación web del cliente se conectaría al servidor del "registro de credenciales" con una clave y luego recuperaría las credenciales de la base de datos necesarias. De esa manera, todas las credenciales podrían ser gestionadas / actualizadas / etc. en un solo lugar, en el registro de credenciales. También sería una alternativa a tener contraseñas no cifradas en un archivo de texto en el servidor web.

¿La gente hace esto en la práctica? Específicamente, ¿existe una forma más automatizada de administrar un gran número de credenciales en un gran número de aplicaciones / entornos?

    
pregunta xdhmoore 18.04.2018 - 23:07
fuente

3 respuestas

1

Sí, hay varias herramientas que proporcionan la automatización de las mejores prácticas para la gestión de un política de credenciales de la base de datos .

Si está utilizando AWS, entonces hay AWS Secrets Manager . Para una solución independiente del proveedor de la nube, hay un Vault de Hashicorp que administra secretos de todo tipo.

Si desea implementar algo localmente en su propio entorno, hay Conjur que es de código abierto. También hay otras herramientas comerciales como okta y otros

    
respondido por el ARau 20.06.2018 - 03:58
fuente
0

Depende de qué amenaza quieres protegerte. Si no quiere tener secretos en los archivos fuente / config, puede almacenar su "secreto maestro" (el que se conecta al "registro de credenciales") en una variable de entorno.

Si, en un sistema multi-tenanted, se pueden ver las variables de entorno de todo el sistema; Recomiendo tener secretos individuales por inquilino, para acceder al registro de credenciales. Por supuesto, también está protegido con los ACL adecuados.

Una solución alternativa es usar el acceso basado en certificados para obtener credenciales. Almacena la clave privada protegida en su máquina (solo accesible para el usuario / proceso solicitante), y una referencia a ella, como una huella digital, en un archivo de configuración.

    
respondido por el ndrix 20.04.2018 - 19:59
fuente
0

Un método alternativo sería usar un servidor de autenticación externo para almacenar las credenciales con los mecanismos de seguridad necesarios (por ejemplo: Servidor de Servicios de Directorio / LDAP). La autenticación de la base de datos puede manejarse en este servidor en lugar de manejarse en el programa, ya que el núcleo de autenticación podría descargarse en estos servidores de autenticación.

Espero que puedas eliminar tus inquietudes de esta manera ...

    
respondido por el Sayan 20.06.2018 - 02:52
fuente

Lea otras preguntas en las etiquetas