我已點擊以下連結: Mutt:如何安全地儲存密碼?
我不知道我錯過了什麼,但沒有按照我需要的方式工作。這是我注意到的
當我進入 shell 提示字元並輸入 mutt 時,它會彈出一個螢幕供我輸入密碼,一旦輸入密碼,郵件用戶端就會彈出,我可以毫無問題地發送和接收電子郵件。如果我關閉它並再次執行它,它不會要求輸入密碼,但如果我完全關閉並 ssh 返回伺服器並輸入 mutt ,它會要求輸入密碼。
我試圖完成的是加密密碼,這樣當我運行 cronjob 時,它就不會出現問題並繞過要求輸入密碼的情況。有人可以幫我讓它發揮作用嗎?
答案1
有幾種不同的選項具有不同的安全級別,因此讓我們概述一些選項,以便您做出最佳決定。為了自動解密,密碼必須儲存在某個地方(在磁碟上、記憶體或另一台機器上)。通常值得考慮:
- 誰有權使用該機器?
- 它是否可公開存取或託管可公開存取的服務?
選項1:將未加密的電子郵件密碼儲存在 muttrc 檔案中。
將 muttrc 的讀取權限限制為執行 cron 的用戶,並加密底層檔案系統。由於您使用的是 Gmail,建立應用程式密碼如果受到威脅,可以輪換/撤銷。這可能是解決該問題最簡單的方法。
此解決方案的缺點是,root
使用者或任何具有sudo
權限的人都可以存取此文件。您可以配置sudo
為需要密碼以幫助減少這種可能性。
選項2:將未加密的 gpg 密碼儲存在檔案中。
對於此選項,您將 mutt 配置為以非互動方式執行 gpg。應限制 mutt 密碼和 gpg 密碼檔案的讀取存取權限。您還應該加密底層檔案系統以防止實體存取。這只會增加在 muttrc 中儲存未加密的密碼的模糊性。同樣的缺點也存在,並且該解決方案將被認為同樣安全。
要讓非互動式使用者執行 gpg,您需要使用以下命令執行 gpg 命令:
--batch
禁用互動模式--passphrase-file
為 gpg 私鑰提供密碼--pinentry-mode loopback
將 pinentry 查詢重定向回呼叫者。
所以,在 mutttrc 中:
source "/usr/local/bin/gpg -d --batch --passphrase-file=$HOME/.passFile.txt --pinentry-mode loopback $HOME/.mutt/passwords.gpg |"
選項 3:使用機密管理服務。
這個領域不存在真正的標準,並且存在這個空間有很多選擇。秘密管理服務集中管理秘密,提供大規模秘密存取的審計和控制。優點和缺點將根據您的部署和實施而變化,並且進一步深入這個領域將在很大程度上基於意見。
此外,這是另一個問題這很大程度上涉及可能有幫助的問題領域。