我们在工作中使用 Amazon RDS 作为数据库。最近我们收到一封来自 Amazon 的自动电子邮件,称他们将更新 SSL 证书,如果我们不在 X 时间内升级数据库实例,它们将停止运行。幸运的是,他们提供了AWS 文档中解释了如何执行此操作。
虽然我不得不承认我有点困惑,但说明非常简单明了。步骤 1 和步骤 2 描述了如何下载 SSL 证书并将其安装在客户端应用程序中。客户端应用程序需要安装服务器的 SSL 证书才能连接到它,这不是很不寻常吗?我在这里可能完全错了,但我想到的类比是,Web 浏览器在访问网站之前同样不需要提供 PKCS7 证书文件,对吗?他们只是访问它们。
同样,我从来不记得在连接到数据库实例之前必须在 MySQL WorkBench 中安装证书文件。所以我认为,在我的情况下,以及在大多数人的情况下,该链接文档(上文)中的步骤 1 和步骤 2 可能都是不必要的。
但是,就像我说的,我可能完全错了。有人能告诉我什么时候以及为什么需要在访问数据库的客户端应用程序中安装 SSL 证书吗?
答案1
他们使用的是私有 PKI,因此本质上是自签名证书,这是有道理的。这是一种不好的做法,但文档都在那里,希望您在下载证书之前有一些带外的方式来确认证书。风险在于攻击者可以更改 KB 网页和证书,并拥有您的连接;您永远不会知道,直到它被刊登在报纸上。
/编辑 - 继续下载证书并查看信任链。除非您自己已经这样做了,否则您不会信任 Amazon 根 CA。
我更经常处于相反的情况——想要与云服务建立安全连接,而不必为我这边的真实证书付费。我会导出我的自签名证书,并将其导入到云服务中,这样他们就知道他们正在连接到我告诉他们的那个人。在这种情况下,有半个面包总比没有好。