PostgreSQL:强制执行 ssl

Posted

技术标签:

【中文标题】PostgreSQL:强制执行 ssl【英文标题】:PostgreSQL : enforce ssl 【发布时间】:2013-12-09 15:28:03 【问题描述】:

我已将 PostgreSQL 数据库服务器配置为使用 SSL。我的 JBoss 数据源也配置为通过 SSL 进行通信。一切正常。

但是,当用户尝试使用 pgAdmin 进行连接时,可以在不更改 pgadmin 中的任何 SSL 配置的情况下进行连接。这是否意味着 postgres 数据库服务器仍在接受非 ssl 连接?

如果不是,那么 pgadmin 能够与启用 SSL 的 postgresql 通信的有效理由是什么。

如果是,我们如何强制 db 服务器只接受 ssl 连接。

注意:我使用的是单向 ssl(无客户端证书),并且我确实确保所有 pg_hba.conf 条目都使用“hostssl”(而不是“host”)。

【问题讨论】:

【参考方案1】:

PgAdmin 可能被设置为使用“首选”的 ssl 模式(换句话说,如果可用,请使用 ssl)。这通常是包括 pgAdmin 在内的 libpq 应用程序的默认设置。

所以首先要检查的是验证您的设置是什么。您可以通过摆弄您的 ssl 选项来进行测试。

最后确保您通过网络连接进行连接。 hostssl 不适用于 unix 域套接字。

【讨论】:

以上是关于PostgreSQL:强制执行 ssl的主要内容,如果未能解决你的问题,请参考以下文章

如何在 postgresql 中强制删除索引关系?

使用Postgresql以非超级用户身份创建强制转换

在 Postgresql 中,对两列的组合强制唯一

在 Postgresql 中,对两列的组合强制唯一

将 Django Enum 约束强制到 PostgreSQL 端

如何强制 PostgreSQL 使用某个索引?