2016-04-21 101 views
0

我在寫一個執行一些數據庫操作的python腳本。我已將數據庫憑證保存在配置文件中,並通過Python中的RawConfigParser讀取。因此,爲了確保數據庫密碼的安全,是否有任何方法可以在配置文件中只加密數據庫密碼值,並在通過ConfigParser讀取後對其解密。我看到使用PyCrypto我可以加密整個文件,但是我只想對密碼進行加密,因爲其他字段會受到將來的更改。保護python屬性文件中的值

+0

我不清楚你的威脅模型是什麼。這個腳本的用戶是否可以訪問這個數據庫?如果是這樣,他們可以簡單地使用自己的憑據嗎?如果沒有,您將採取哪些措施來確保他們不使用此腳本來獲取他們未授予的權限? –

+0

@JonKiparsky這個想法是,如果有人訪問我的屬性文件,他/她不應該能夠獲得數據庫憑證。因此,如果我可以使用二進制密鑰或一個可以在執行代碼時作爲環境變量傳遞的密鑰對這些字段進行加密,那麼我認爲我應該很好。類似於Java中的Jasypt。 – user5147250

回答

0

我在做安全諮詢時遇到了這個問題。沒有最佳做法,但這完全是關於管理風險。

在用戶配置文件中存儲憑據(例如~/.secret~/.config)是常見操作。您可以將文件權限設置爲0600,以便其他用戶(超級用戶除外)不能讀取它。

或者,您可以在環境中傳遞證書。最好是通過遠程連接(SSH)完成,但每次重新啓動應用程序時都必須手動登錄並傳遞變量。

還要確保數據庫用戶的權限非常有限。