Pasar una contraseña en una variable de entorno es tan seguro como hacer que el programa lo lea desde un archivo. Solo los procesos que se ejecutan como el mismo usuario pueden leer el entorno de un proceso , y estos procesos pueden leer los mismos archivos de todos modos.
Tenga en cuenta que esto es diferente de pasar una contraseña en la línea de comando. Todos los procesos que se ejecutan en la misma máquina pueden leer los argumentos de la línea de comandos (salvo medidas de protección), no solo los procesos que se ejecutan como el mismo usuario.
Si pasa una variable a través del entorno, tenga cuidado si el programa inicia otros programas. Esos otros programas heredarán el entorno de sus padres. Así que no hagas esto si temes que los otros programas puedan filtrar accidentalmente el contenido de su entorno.
La falla en su escenario es "crear una variable de entorno apropiada cuando el sistema del servidor está configurado". Una variable de entorno es una propiedad dinámica de un proceso. No puede crearlo al configurar un sistema, no si al configurarlo quiere decir algo que sobrevive al reinicio. Lo que quiere decir es de suponer que el administrador dispuestos para esta variable esté presente en el medio ambiente cuando un determinado usuario inicia sesión. Esto se hace a través de un archivo de configuración (normalmente ~/.pam_environment
o ~/.profile
o un archivo de lectura de ~/.profile
). Por lo tanto, esta solución no elimina la contraseña de los archivos de configuración.
Configurar las cosas para que las contraseñas estén en el entorno de inicio de sesión de un usuario no es una buena idea. Significa que cada proceso que se ejecute como ese usuario tendrá el secreto, por lo que es vulnerable a una fuga en cualquier lugar.
Se debe colocar una contraseña en un archivo aparte de los archivos de configuración que están bajo control de versión y de los mecanismos de implementación normales. Está bien poner la contraseña en el entorno en algún momento si es conveniente, pero debe hacerse para un conjunto de programas lo más pequeño posible.