使用 mutt 时存储加密密码

使用 mutt 时存储加密密码

我已点击以下链接: 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:使用机密管理服务。

这个领域不存在真正的标准,并且有这个空间有很多选择。秘密管理服务集中管理秘密,提供大规模秘密访问的审计和控制。优点和缺点将根据您的部署和实施而变化,并且进一步深入这个领域将主要基于意见。

此外,这是另一个问题这很大程度上涉及可能有帮助的问题领域。

相关内容