服务之间共享随机密码?
问题描述:
考虑以下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的事情是在本周走势构建脚本,他们将肯定改变,但你的构建脚本将保持一个稳定的用户界面。
不存储(持续存在),在所有的密码正是我想要完成的任务。 – Krumelur