在 DigitalOcean 上启动托管 Postgres 集群时,为什么要下载 CA 证书?

Bas*_*que 3 postgresql connections certificate

我第一次尝试由 DigitalOcean.com 作为托管服务提供的 Postgres 集群。

\n

作为配置新集群的一部分,他们的 Web 界面为我提供了用户名、密码、端口号等。该网页上有一个小链接,上面写着Download the CA certificate。我认为CA意味着证书颁发机构

\n

\xe2\x9e\xa5 为什么我会使用或不使用该链接来下载证书?

\n

当我单击该链接时,我的计算机上最终会出现一个名为ca-certificate.crt. 我将如何使用这个文件?

\n

jja*_*nes 5

为了详细说明 Laurenz 的答案,如果有人可以拦截您用于 Digital Ocean 的互联网流量,他们可以设置一个恶意PostgreSQL服务器,您会在不知情的情况下连接到该服务器,然后他们可以记录您的查询、结果,甚至可能是您的密码。

使用 verify-full 是一种确保您实际连接的服务器有权访问由 CA 向您为连接指定的主机名颁发的证书(以及相应的密钥)的方法。因此,除非中间人破坏了实际的 CA,或者诱骗您安装了恶意的 CA 证书,否则他将无法再使用这种伎俩。

即使您不是特别关心 MITM,您也应该下载证书(通过 https!)并安装和配置它以供使用,如果没有其他的话,作为学习体验。您可以通过在连接字符串中指定 IP 地址而不是主机名来测试它,并且它应该被阻止,因为 IP 地址(可能)不在服务器的证书中。