PostgreSQL对等身份验证对生产安全吗?

时间:2014-10-30 09:45:38

标签: postgresql security authentication

PostgreSQL对等身份验证是本网站上许多问题的来源,但一旦你了解它是如何工作的,它看起来非常棒。

例如,我可以将我的应用程序连接到开发数据库,​​而无需提供用户名和密码。

所以,我的问题是,我可以在生产服务器上使用对等身份验证吗?它足够安全吗?

非常感谢。

1 个答案:

答案 0 :(得分:3)

peer对于多种部署非常有用 - 例如当你想允许人们使用本地unix用户帐户登录并作为匹配的PostgreSQL用户快速访问数据库时。

对于webapps来说并不好,因为您通常希望每个webapp都有自己的用户。所以你通常会使用md5

我经常将两者结合起来。对于webapps,仅允许md5到其私有数据库 - 如果驱动程序支持,则通过local套接字,否则通过host的{​​{1}}个连接。允许localhost本地用户访问任何数据库,包括webapp数据库。如果您希望每个数据库中只有一个用户(这样您可以忽略权限 - 我不建议,但我知道有些人这样做)您可以使用peer映射来允许人们通过{{进行身份验证1}}作为非默认用户名的用户。

然后,您可以通过pg_ident.confpeer(kerberos)添加来自外部世界的hostssl个连接,如果是Windows数据库主机,则可以添加md5

身份验证方法并非全有或全无。有一个原因很容易提供一个备选列表并选择第一个匹配的备选列表。