服务之间共享随机密码?

问题描述:

考虑以下docker-compose文件:服务之间共享随机密码?

version: "3" 
services: 
    app: 
    build: src 
    environment: 
     POSTGRES_USER=app 
     POSTGRES_PASSWORD=mysecretpassword 
    [...] 

    db: 
    image: postgres 
    environment: 
     POSTGRES_USER=app 
     POSTGRES_PASSWORD=mysecretpassword 

现在,我不喜欢在mysecretpassword(即使在理论上,攻击者应该不会获得任何东西,这个密码将工作的,也不是我的源代码),以检查。

,我尝试用是生成从启动bash脚本的密码,并设置环境变量,则上述代的一种方法:

 POSTGRES_PASSWORD=${MY_GENERATED_PASSWORD} 

这工作,但我的缺点有包裹搬运工 - 随时在自定义的bash脚本中构成(我可能也可能不喜欢这样做)。

这有可能是这样一个共同的问题,有没有更好的解决方案身边?理想情况下,我希望Docker中内置的功能可以生成随机字符串作为密码。

或者我应该放弃,并检查密码? (我认为这是务实的做法,考虑到受攻击面是敞开的,如果任何容器被损害反正)

*安全:不存储密码的。改变每N分钟DB密码

  • 运行密码旋转服务
  • 应用程序(或代理)实现重试上-auth的错误,当它击中边情况下,当密码数据库已经改变,但应用仍具有旧的一个

否则,当然,docker-compose应该是一个建立容器的工具,而不是一个建立你的项目的工具。有运行任何* -compose的事情是在本周走势构建脚本,他们将肯定改变,但你的构建脚本将保持一个稳定的用户界面。

+0

不存储(持续存在),在所有的密码正是我想要完成的任务。 – Krumelur