2013-10-08 20 views
7

我使用我的Gmail帐户配置了msmtp。 我显然希望避免在配置文件中以纯文本格式编写密码。 幸运的是,msmtp提供了选项passwordeval,它可用于从可执行文件的输出中获取密码。msmtp和smtp帐户密码 - 如何混淆

问题是:我该如何使用它?

我发现here以下建议: passwordeval gpg -d /some/path/to/.msmtp.password.gpg

这并没有太大的意义对我说:如果有人能够进入我的配置文件,他肯定会设法运行这样的命令并获得密码GPG。

所以我相信我只剩下在二进制可执行文件中混淆密码的唯一选项,即使我几乎在任何地方都读取这个这是不好的!

我不可能破解的实现是:如果sendmail进程正在运行,输出正确的密码,否则给一个假密码。

您的建议? 其他(更安全)的技巧不同于在二进制文件中存储pass?

+1

gpg -d工作原因是因为它需要文件被加密到的人的私钥。因此,只需将该加密文件放在公共场所,它仍然是加密的,只有一个人(具有密钥的人)可以对其进行解密。假设秘密密钥在用户的机器上被锁定并且不泄漏。它还假定他们没有设置任何缓存解锁密码的代理,而黑客可以直接访问同一台机器。所有攻击中99%都不太可能发生。 – Sukima

+0

上面的评论应该是一个答案。 – asymmetric

回答

0

没有关于如何保存凭据

  • 必须使用的凭据以纯文本的约束标准溶液后
  • 和无人值守的方式
  • 的系统上是不完全由你控制(如果你只是对持有秘密的文件设置适当的权利)

你有几个解决方案,没有一个完全解决你的问题:

  • 加密以对称的方式你的凭据:你需要输入密钥来解密他们的非对称方式
  • 加密:你需要提供你的私钥,必须保存在某个地方(无人值守的方式)或键入的
  • 模糊处理:你提到,这个只在某些人群保护
  • get it from somewhere else - 你需要确定一个这样或那样的系统

你需要采取考虑哪些风险是可以接受的,并从那里开始。

0

gpg -d工作的原因是因为它需要文件被加密的人的私钥。因此,只需将该加密文件放在公共场所,它仍然是加密的,只有一个人(具有密钥的人)可以对其进行解密。假设秘密密钥在用户的机器上被锁定并且不泄漏。它还假定他们没有设置任何缓存解锁密码的代理,而黑客可以直接访问同一台机器。所有攻击中99%都不太可能发生。 - - Sukima 14年2月12日在5:13