iRa*_*RaS 6 security postgresql
我在我的开发人员机器上使用 Ubuntu 12.04 LTS,刚刚意识到 psql 将密码存储在“~/.pgpass”中。此外,此文件未加密。因此,任何拥有超级用户权限(即在 sudo 组中)的人都可以访问此文件并读取存储的密码。这可能是最糟糕的情况。
相反,我想知道 psql 不会要求输入密码(只是在 postgresql 服务器上修改了 pg_hba.conf)并开始怀疑我的管理技能。
文档只是告诉我们如何创建文件以及它应该是什么样子......我想尽快禁用这个文件。但是如何?
没有解决方案
问题是pgadmin在我想存储密码时创建了这个文件。它是一个 GUI,要使用我已经登录的 GUI,并且大多数情况下,窗口管理器都有类似密钥环之类的东西,当我登录时,它会被解密。如果 pgadmin 可以使用它,那就太好了,但正如答案中所讨论的那样:它是pgadmin 的功能请求。
删除它。.pgpass只是一个文件。如果您不想存储密码,请在命令行中输入密码。psql永远不会创建或修改.pgpass,因此您必须自己设置它。
.pgpass加密存储是没有意义的;你需要密码才能解密,整个点的.pgpass是自动化的密码登录。
这里的解决方案是,.pgpass如果您真的不需要无密码登录并且不愿意接受它强加的安全妥协,请不要使用文件。由于听起来您.pgpass是由 PgAdmin-III 创建的,因此告诉它不要保存密码,它不会创建.pgpass. 当您第一次告诉它保存密码时,它给了您一个很大的警告,告诉您它将以明文形式存储密码,正是出于这个原因。
如果您需要强大且安全的无密码登录,请使用 Kerberos/GSSAPI。
也就是说,无论您做什么,任何拥有超级用户权限的人都可以获得您的密码。他们可以使用键盘记录器捕获您的输入。他们可以修改 libpq 以在输入密码时将密码保存到文件中。很多选择。如果您不信任机器上的超级用户,请找其他地方工作,因为您已经迷路了。
| 归档时间: |
|
| 查看次数: |
5992 次 |
| 最近记录: |