我已经在ssl = on中配置了postgresql.conf(并安装了证书等)。这样可以确保所有客户端都始终通过SSL进行连接吗?

(即ssl = on是否可以通过SSL加密进行连接吗?)

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

#1 楼

ssl = on仅使使用SSL成为可能。

要确保所有客户端都使用SSL,请在hostssl中添加pg_hba.conf行,例如,

hostssl  all  all  0.0.0.0/0  md5


并删除所有host行。 (好吧,也许保留那些用于localhost。)

如果希望强迫客户端发送证书,则必须将md5更改为cert。例如,

hostssl  all  all  0.0.0.0/0  cert


评论


我已经在postgresql.conf和pg_hba.conf中设置了所有设置。但是我仍然可以使用sslmode = disable连接。例如psql“ sslmode = disable host = localhost dbname = test”我在这里错过了什么吗?

–安迪·阿尔多(Andy Aldo)
18年5月24日在4:42



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

– Peter Eisentraut
18年6月4日在13:49

#2 楼

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

评论


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

– KajMagnus
2011年12月1日的1:18

(谢谢您,当我有必选的15个代表时,我会在后面对您的回答进行投票。)

– KajMagnus
2011年12月1日的1:19