MySQL 只支持 TLS v1.0,默认不支持主机名验证,所以你的证书可能是给db1.example.com的,也可能是给db2.example的,浏览器则可能会用OCSP、CRL's 或 CRLsets 来验证证书是否有效。 MySQL 5.6以后就只支持CRL验证。
在这篇博客的帖子里,我将会描述不同的使用MySQL数据库的SSL配置方法。
SSL给了你什么?
你可以通过互联网使用 MySQL 复制特性(replication) 或者通过互联网连接到MySQL。
还有可能是你通过企业网去连接,这样会有很多人访问。如果你使用一个自带设备(BYOD)网络,这就更是一个问题了。
SSL在这里通过加密网络防止有针对性的监听。在与正确的服务器进行交互时,可以有效应对中间人攻击(man-in-the-middle attacks)。
你还可以使用SSL客户端证书,让它同密码一起作为身份识别的二要素。
SSL不是唯一的选择, 你可以使用SSH和许多MySQL GUI客户端,类似MySQL Workbench提供的那个产品。 但是SSH的python脚本,或者mysqldump,不是那么易用。
需要注意的事情:
使用SSL在绝大多数情况下要比不使用SSL要好,所以没有太多可能出现问题的地方。
但是以下几点需要注意&#x