[client]
# 客户端类型SSL证书,用于客户端(如命令行工具),或者主从关系中的从库
ssl-ca=/home/mysql/certs/ca-cert.pem
ssl-cert=/home/mysql/certs/client-cert.pem
ssl-key=/home/mysql/certs/client-key.pem
此外,为了方便统一管理,在同一台机器可以使用同时支持服务端和客户端类型的单一SSL证书.只需要生成SSL证书时指定两种类型的用法或者直接不指定任一种用法.
配置完毕后,检查下SSL是否已启用
mysql> SHOW VARIABLES LIKE ‘%ssl%’;
+—————+———————–+
| Variable_name | Value ? ? ? ? ? ? ? ? |
+—————+———————–+
| have_openssl ?| YES ? ? ? ? ? ? ? ? ? |
| have_ssl ? ? ?| YES ? ? ? ? ? ? ? ? ? |
| ssl_ca ? ? ? ?| /home/mysql/certs/ca-cert.pem ?|
| ssl_capath ? ?| ? ? ? ? ? ? ? ? ? ? ? |
| ssl_cert ? ? ?| /home/mysql/certs/mysql-cert.pem |
| ssl_cipher ? ?| ? ? ? ? ? ? ? ? ? ? ? |
| ssl_key ? ? ? | /home/mysql/certs/mysql-key.pem |
+—————+———————–+
5 rows in set (0.00 sec)
如果输出如上,说明SSL已正常启用
2.3.2?require SSL与require X509
为了确保外网访问的MySQL用户使用了SSL加密,在生成用户时可以强制要求REQUIRE SSL或REQUIRE X509:
mysql> CREATE USER ‘testuser’@’1.2.3.4’ IDENTIFIED BY ‘testpass’ REQUIRE SSL;
mysql> CREATE USER ‘testuser’@’1.2.3.4’ IDENTIFIED BY ‘testpass’ REQUIRE X509;
两者的区别在于,REQUIRE SSL只要求客户端使用指定ca证书对服务端证书进行验证,而REQUIRE X509还要求服务端对客户端证书进行验证.为了避免中间人攻击,确保更安全的通信,一般建议使用REQUIRE X509.
2.3.3?OpenSSL与yaSSL
MySQL可以使用自带的yaSSL库进行加密通信,也可以使用OpenSSL进行加密通信.具体使用哪种,需要在编译时指定WITH_SSL:STRING的参数:
bundled (use yassl),yes (prefer os library if present,otherwise use bundled),system
(use os library),</path/to/custom/installation>
为了更好的安全性,可以使用系统自带的OpenSSL,并及时做好yum/apt更新.
如果考虑不同版本的兼容性,那么建议使用自带的yaSSL.
(编辑:好传媒网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|