我想build立一个远程数据库连接到运行postgresql的服务器。 我已经使用LE证书在远程服务器上运行nginx。 我的问题是,如果postgresql证书需要由我们encryption或者如果一个自签名证书就足够的CA签名。 我正在尝试了解在为数据库连接使用自签名证书时的安全风险。
如果您控制连接的两端,自签名证书是完全正确的。 您可以向客户端提供CA证书以进行validation。
存在公共CA证书,以便尚未与服务器进行可信通信的客户端仍然“正常,看起来像是我信任的人签署的合法证书”。
重要的是至less使用sslmode=verify-ca并将CA证书作为root.crt给客户端,以便它可以检查服务器并确保服务器能够访问它所期望的服务器。 如果您使用的自签名证书只有一台主机,那么verify-full模式不是必需的,它可以防止使用合法但被盗的由可信CA签名的证书进行的MiTM攻击。
看手册 。