2017-03-05 135 views
2

考慮以下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中內置的功能可以生成隨機字符串作爲密碼。

或者我應該放棄,並檢查密碼? (我認爲這是務實的做法,考慮到受攻擊面是敞開的,如果任何容器被損害反正)

回答

0

頂級安全:不存儲密碼的。改變每N分鐘DB密碼

  • 運行密碼旋轉服務
  • 應用程序(或代理)實現重試上-auth的錯誤,當它擊中邊情況下,當密碼數據庫已經改變,但應用仍具有舊的一個

否則,當然,docker-compose應該是一個建立容器的工具,而不是一個建立你的項目的工具。有運行任何* -compose的事情是在本週走勢構建腳本,他們將肯定改變,但你的構建腳本將保持一個穩定的用戶界面。

+0

不存儲(持續存在),在所有的密碼正是我想要完成的任務。 – Krumelur