请选择 进入手机版 | 继续访问电脑版

[MySql] mysql设置 SSL证书登录的实现

[复制链接]
查看143 | 回复13 | 2021-9-12 21:28:56 | 显示全部楼层 |阅读模式
目次

前言

国家等级保护三级安全要求,mysql 的 ssl 必要 安全证书加密,这里必要 研究一下,选几个账户演示下即可。mysql 的版本为 8.0.20

一、Mysql 启用 SSL 设置

1.1 检查是否开启 ssl

  1. mysql> show variables like '%ssl%';
  2. +--------------------+-----------------+
  3. | Variable_name | Value |
  4. +--------------------+-----------------+
  5. | have_openssl | YES |
  6. | have_ssl | YES | # 已开启ssl
  7. | mysqlx_ssl_ca | |
  8. | mysqlx_ssl_capath | |
  9. | mysqlx_ssl_cert | |
  10. | mysqlx_ssl_cipher | |
  11. | mysqlx_ssl_crl | |
  12. | mysqlx_ssl_crlpath | |
  13. | mysqlx_ssl_key | |
  14. | ssl_ca | ca.pem |
  15. | ssl_capath | |
  16. | ssl_cert | server-cert.pem |
  17. | ssl_cipher | |
  18. | ssl_crl | |
  19. | ssl_crlpath | |
  20. | ssl_fips_mode | OFF |
  21. | ssl_key | server-key.pem |
  22. +--------------------+-----------------+
  23. 17 rows in set (0.56 sec)
复制代码

1.2 设置用户是否使用 SSL 毗连

  1. mysql> select ssl_type from user where user = 'dev_fqr' ;
  2. +----------+
  3. | ssl_type |
  4. +----------+
  5. | |
  6. +----------+
  7. 1 row in set (0.05 sec)
复制代码

默认用户是没有使用 SSL 登录的。
我们可以逼迫 这个管理用户使用 SSL 登录。

  1. alter user 'xxx'@'%' require ssl;
  2. 取消ssl验证:
  3. alter user 'xxx'@'%' require none;
复制代码

更改后,该账户就无法登录了,查看状态变成下面这种

  1. mysql> select ssl_type from user where user = 'dev_fqr' ;
  2. +----------+
  3. | ssl_type |
  4. +----------+
  5. | ANY |
  6. +----------+
  7. 1 row in set (0.01 sec)
复制代码

测试登录,本机无法直接登录。

  1. [root@localhost data]# mysql -u dev_fqr -p
  2. Enter password:
  3. ERROR 2026 (HY000): SSL connection error: SSL is required but the server doesn't support it
复制代码

长途 客户端无法直接登录:

mysql设置
SSL证书登录的实现

1.3 使用 SSL 登录

要想通过 SSL 登录,就必要 用到下面这几个证书,通过 client 证书 与 server 端举行 校验通过才能登录成功。

mysql设置
SSL证书登录的实现

1) 本机登录

在 data 目次 下的三个文件证书登录。

  1. [root@localhost data]# mysql -udev_fqr -pDev@fqr2021 --ssl-ca=ca.pem --ssl-cert=client-cert.pem --ssl-key=client-key.pem
  2. mysql: [Warning] Using a password on the command line interface can be insecure.
  3. Welcome to the MySQL monitor. Commands end with ; or \g.
  4. Your MySQL connection id is 55
  5. Server version: 8.0.22 MySQL Community Server - GPL
  6. Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
  7. Oracle is a registered trademark of Oracle Corporation and/or its
  8. affiliates. Other names may be trademarks of their respective
  9. owners.
  10. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  11. You are enforcing ssl connection via unix socket. Please consider
  12. switching ssl off as it does not make connection via unix socket
  13. any more secure.
  14. mysql>
复制代码

2)navicate 长途 客户端登录

把这三个证书下载下来

mysql设置
SSL证书登录的实现

设置 证书目次 ,即可长途 访问:

mysql设置
SSL证书登录的实现

二、总结

由于 测评的时间 不会看 JDBC 内里 的设置 ,以是 JDBC 就不改了,不然要改动的地方非常的多,具体 演示的时间 可以用提前准备 两个账号,到时间 用客户端毗连 即可。
如今 两台 mysql 的ssl 用户如下:

mysql设置
SSL证书登录的实现

到此这篇关于mysql设置 SSL证书登录的实现的文章就先容 到这了,更多干系 mysql SSL证书登录内容请搜索 脚本之家从前 的文章或继续欣赏 下面的干系 文章盼望 大家以后多多支持脚本之家! 


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

avatar 散漫竹子 | 2021-9-13 05:01:02 | 显示全部楼层
看了这么多帖子,第一次看到这么高质量内容!
回复

使用道具 举报

avatar 热忽行退 | 2021-9-19 06:46:26 | 显示全部楼层
以后就跟admin楼主混了!
回复

使用道具 举报

avatar 顺势而为47 | 2021-9-20 02:45:04 | 显示全部楼层
好多兽医在广场上义诊,admin楼主去看看吧!
回复

使用道具 举报

avatar 浪漫无边际缺 | 2021-9-20 07:17:41 | 显示全部楼层
这么版块的帖子越来越有深度了!
回复

使用道具 举报

avatar 喝意调伴除 | 2021-9-23 21:15:50 | 显示全部楼层
一口气看完了,我要下去回味回味了!
回复

使用道具 举报

avatar 蜜蜜ss2017 | 2021-9-26 23:27:30 | 显示全部楼层
求加金币!
回复

使用道具 举报

avatar 卬起頭丶嶶笑 | 2021-9-28 19:26:47 | 显示全部楼层
什么狗屁帖子啊,admin楼主的语文是苍老师教的吗?
回复

使用道具 举报

avatar 卡庙寺 | 2021-10-2 18:07:23 | 显示全部楼层
感觉不错!
回复

使用道具 举报

avatar 润唇膏贡 | 2021-10-4 17:46:57 | 显示全部楼层
admin楼主是一个典型的文艺青年啊!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则