强制PostgreSQL客户端使用SSL?


29

我已经配置ssl = onpostgresql.conf(并安装了证书等)。这样是否可以确保所有客户端始终通过SSL连接?

(就是说,ssl = on如果没有 SSL加密,是否无法连接?)

还有其他方法可以确保所有客户端始终通过SSL / TLS连接吗?

亲切的问候,KajMagnus

Answers:


27

ssl = on 仅启用使用SSL的可能性。

为了确保所有客户端都使用SSL,请在中添加hostsslpg_hba.conf,例如,

hostssl  all  all  0.0.0.0/0  md5

并删除所有host行。(好吧,也许保留它们localhost。)


我已经在postgresql.conf和中设置了所有设置pg_hba.conf。但是我仍然可以与保持联系sslmode=disable。例如psql“ sslmode = disable host = localhost dbname = test”我在这里错过了什么吗?
安迪·奥尔多

@AndyAldo一个人需要查看整个配置以进行分析。这超出了范围。
Peter Eisentraut

13

不,这仅允许使用SSL。您还需要对pg_hga.conf文件进行适当的更改。


2
哦,我一定对文档有误读:我以为hostssl要求客户端提供自己的SSL证书,但是现在我注意到cert可以在pg_hga.conf中指定一种身份验证方法。
KajMagnus 2011年

(谢谢,我将在要求的15次答辩后再给您答复。)
KajMagnus 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.