MariaDB启用TLS后是否仍允许未使用TLS的连接正常访问?
MariaDB启用TLS后本地未加密连接兼容性解答
核心结论
默认配置下,MariaDB启用TLS后,应用A的未加密无TLS连接可以正常工作。
相关原理说明
- MariaDB服务端启用TLS属于可选支持配置,默认全局参数
require_secure_transport为OFF,会同时兼容TLS加密连接和普通未加密连接,不会强制所有接入必须走TLS - 同一主机部署的应用A大概率默认使用Unix套接字(unix socket)连接数据库,该连接方式走本地IPC通信而非TCP网络传输,和TCP层的TLS加密配置完全无关,不会受到任何影响
- 只有当你主动修改全局配置开启
require_secure_transport = ON,或是给应用A使用的数据库账号单独配置了REQUIRE TLS权限时,才会拒绝未加密连接
验证操作方法
启用TLS配置后,你可以执行以下命令测试未加密连接是否正常:
mysql -u [应用A使用的数据库用户名] -p[对应密码] --skip-ssl
如果可以正常登录进入数据库命令行,就说明未加密连接运行正常。
优化建议
如果需要确保只有应用B的连接强制走TLS加密,不需要全局开启强制加密,只需给应用B使用的数据库账号单独配置TLS要求即可,对应SQL语句如下:
ALTER USER '应用B使用的用户名'@'应用B的服务器IP地址' REQUIRE SSL; FLUSH PRIVILEGES;
该配置不会影响应用A的连接权限,同时可以保证外部访问的加密要求。
内容的提问来源于stack exchange,提问作者Sauer
相关产品推荐
相关产品推荐

