碟中谍:零配置 SSL

SSL(尽管 SSL 2.0 和 SSL 3.0 协议早已被 TLS 1.0–1.3 协议取代,我们姑且仍称之为 SSL)支持于 2001 年在 MySQL 中实现,因此 MariaDB(诞生于 2009 年)一直拥有此功能。但在二十多年的 SSL 支持中,它存在一个巨大的问题。它需要繁琐的手动配置,因此大多数用户从未为此费心,而是接受了他们的查询和数据在传输时未受保护的事实。这在 2001 年可能只有轻微风险,但在 2023 年绝对是鲁莽的行为。

传统方法

让我们看看。首先,安装 MariaDB 或 MySQL 的用户必须生成私钥和证书。

你是谁?MySQL 和 MariaDB 身份验证协议的历史(1997 年至 2017 年)

MySQL 3.20 到 4.0

在那些美好的旧时光里,32MB 内存就能配得上 my-huge.cnf 这个名字,那时还没有人知道谷歌,脸书甚至都不存在,安全嘛……怎么说呢……有点可爱。计算机病毒不会窃取数百万美元,也不会扰乱选举——它们只会播放《扬基歌》或者告诉你不要玩电脑。人们使用 telnet 和 ftp,尽管一些有安全意识的管理员已经知道 ssh 了。

大约就在那个时期,前后几年,MySQL 诞生了。它有了用户,需要防止他们看到别人的数据,但允许使用自己的数据。…