当前位置:   article > 正文

Linux配置mysql数据库SSL加密_show global variables like '%ssl%

show global variables like '%ssl%

一、SSL介绍

SSL(Secure Socket Layer:安全套接字层)利用数据加密、身份验证和消息完整性验证机制,为基于TCP等可靠连接的应用层协议提供安全性保证。

SSL协议提供的功能主要有:

           1、数据传输的机密性:利用对称密钥算法对传输的数据进行加密。
           2.、身份验证机制:基于证书利用数字签名方法对服务器和客户端进行身份验证,其中客户端的身份验证是可选的。
           3、消息完整性验证:消息传输过程中使用MAC算法来检验消息的完整性。

如果用户的传输不是通过SSL的方式,那么其在网络中数据都是以明文进行传输的,而这给别有用心的人带来了可乘之机。所以,现在很多大型网站都开启了SSL功能。同样地,在我们数据库方面,如果客户端连接服务器获取数据不是使用SSL连接,那么在传输过程中,数据就有可能被窃取。

二、MySQL5.7 SSL启用

2.1 通过命令查看是否开启SSL

show global variables like '%ssl%';

当"have_ssl" 为YES的时候,说明数据库是已经开启支持SSL加密连接方式的。

2.2 查看当前登录连接是否是通过SSL加密方式连接

2.3 如果没有支持开启SSL,则需要在启动安装mysql_ssl_rsa_setup 使其能支持SSL 功能

若未开启,通过以下步骤:

  • 关闭MySQL服务
  • 运行如下命令:
    mysql_ssl_rsa_setup –-data-dir=/data/mysql-ssl --uid=mysql
    其中:–-data-dir:指定证书和密钥存放位置;–uid:指定所属用户
  • 查看生成的密钥和证书

2.4 MySQL配置文件

  1. 强制ssl验证
  2. 在[mysqld]下添加如下代码:
  3. require_secure_transport = ON
  4. 指定服务端密钥和证书路径
  5. 在[mysqld]下添加如下代码:
  6. ssl-ca = /home/tools/mysql/ca.pem
  7. ssl-cert = /home/tools/mysql/server-cert.pem
  8. ssl-key = /home/tools/mysql/server-key.pem
  9. 指定客户端密钥和证书路径
  10. 在[client]下添加如下代码:
  11. ssl-ca = /home/tools/mysql/ca.pem
  12. ssl-cert = /home/tools/mysql/client-cert.pem
  13. ssl-key = /home/tools/mysql/client-key.pem

三、配置SSL

3.1 首先登录数据库,查看安装路径

show variables like 'datadir';

 

3.2 知道数据库安装路径之后,查看是否生成了相关秘钥文件

ll /home/tools/mysql/*.pem

 3.3 添加ssl参数到etc/my.cnf配置文件

  1. [mysql]
  2. ssl-ca=/var/lib/mysql/ca.pem
  3. ssl-cert=/var/lib/mysql/client-cert.pem
  4. ssl-key=/var/lib/mysql/client-key.pem
  5. [mysqld]
  6. ssl-ca=/var/lib/mysql/ca.pem
  7. ssl-cert=/var/lib/mysql/client-cert.pem
  8. ssl-key=/var/lib/mysql/client-key.pem

 3.4 然后使用命令重启

systemctl restart mysqld

3.5 给用户设置SSL

  1. 老用户直接修改
  2. ALTER USER 'root'@'19.130.%' REQUIRE SSL;
  3. FLUSH PRIVILEGES;
  1. 创建新用户
  2. GRANT ALL PRIVILEGES ON *.* TO 'ssl_test'@'%' IDENTIFIED BY 'ssl_test' REQUIRE SSL;
  3. FLUSH PRIVILEGES;

然后在执行2.2的操作查看数据库连接是否是已经是SSL加密校验

 

 参考文章地址:

MySQL 5.7.18 加密连接mysql_ssl_rsa_setuphttps://www.linuxidc.com/Linux/2017-10/148131.htmMySQL5.7配置SSL加密https://www.cnblogs.com/biaopei/p/13039321.html  小笔记:

  1. https://www.linuxidc.com/Linux/2017-10/148131.htm
  2. https://www.cnblogs.com/biaopei/p/13039321.html
  3. 查看数据库安装目录
  4. show variables like 'datadir';
  5. 查看ssl参数状态,查看have_ssl,为YES,这表示已经开始支持SSL了
  6. show global variables like '%ssl%';
  7. show global status like '%ssl%';
  8. show status like 'ssl_cipher';
  9. \s 和 status 命令查看数据库连接信息
  10. 查看证书过期时间
  11. SHOW STATUS LIKE 'Ssl_server_not%';
  12. 证书文件:
  13. ca-key.pem # CA私钥
  14. ca.pem # 自签的CA证书,客户端连接也需要提供
  15. client-cert.pem # 客户端连接服务器端需要提供的证书文件
  16. client-key.pem # 客户端连接服务器端需要提供的私钥文件
  17. private_key.pem # 私钥/公钥对的私有成员
  18. public_key.pem # 私钥/公钥对的共有成员
  19. server-cert.pem # 服务器端证书文件
  20. server-key.pem # 服务器端私钥文件
  21. 设置用户使用SLL登录
  22. ALTER USER david@'%' REQUIRE SSL;
  23. FLUSH PRIVILEGES;
  24. 数据库配置SLL
  25. 登录数据库-查看数据库安装目录
  26. show variables like 'datadir';
  27. 1、在etc/my.cnf 文件配置
  28. [mysql]
  29. ssl-ca=/var/lib/mysql/ca.pem
  30. ssl-cert=/var/lib/mysql/client-cert.pem
  31. ssl-key=/var/lib/mysql/client-key.pem
  32. [mysqld]
  33. ssl-ca=/var/lib/mysql/ca.pem
  34. ssl-cert=/var/lib/mysql/client-cert.pem
  35. ssl-key=/var/lib/mysql/client-key.pem
  36. 2、systemctl restart mysqld 重启
  37. 然后登陆数据库查看 \s或者status
  38. 1、在 /etc/pam.d/system-auth文件配置
  39. auth required pam_tally2.so deny=5 unlock_time=600
  40. 2、 添加环境变量
  41. vi ~/.bashrc
  42. export PASS_MAX_DAYS=180
  43. export PASS_MIN_DAYS=0
  44. export PASS_MIN_LEN=5
  45. export PASS_WARN_AGE=7
  46. source ~/.bashrc
  47. echo $PASS_WARN_AGE
  48. 3、查看ssl参数状态,查看have_ssl,为YES,这表示已经开始支持SSL了
  49. show global variables like '%ssl%';
  50. /etc/profile
  51. export TMOUT=600
  52. source etc/profile
  53. echo $TMOUT
  54. 使用修改.bashrc文件(在用户的家目录下)进行环境变量的编辑,只对当前用户有用。使用修改 /etc/profile 文件进行环境变量的编辑,是对所有用户有用。大家一定要注意区别。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/854857
推荐阅读
相关标签
  

闽ICP备14008679号