PostgreSQL 强制 sslmode=verify-full

jla*_*rcy 0 postgresql configuration postgresql-9.3

我已经创建了我的 CA、服务器和客户端证书和密钥。我尝试过使用sslmode带有psql. 我已编辑该pg_hba.conf文件以强制hostssl仅使用 SSL 。现在我想设置我的服务器以强制验证为sslmode=verify-full. 我已经阅读了两次文档 I 并且不明白如何继续。他们说它由环境变量控制,但无法使其工作。我必须如何设置此变量以及如何使其持久化。有谁知道如何进行?

更新:我在 Ubuntu Server 14.04 上运行 PostgreSQL 9.3

Dan*_*ité 8

也许您想将客户端限制为提供给定证书的客户端,如使用客户端证书中所述

要要求客户端提供受信任的证书,请将您信任的证书颁发机构 (CA) 的证书放在数据目录的 root.crt 文件中,将 postgresql.conf 中的参数 ssl_ca_file 设置为 root.crt,并设置 clientcert 参数在 pg_hba.conf 中相应的 hostssl 行上设置为 1

另一方面,sslmode=verify-full是客户端功能。它通过确保客户端连接到预期的服务器而使客户端受益。它对服务器没有好处,因为它是被检查的服务器。

将服务器配置为“拒绝不被检查”似乎没有多大意义,就好像服务器会说“我不相信自己”一样。

  • 服务器不会说“我不相信自己”,但它可以(如果实施)说“我不信任未正确配置的客户端,请自行正确配置”。这对服务器本身没有任何好处,但对运行服务器的人会有好处。 (2认同)