MYSQL8安全之SSL认证_mysql ssl,太香了_mysql userssl

查看openssl版本

openssl version

image.png

生成SSL连接所需要的RSA密钥对

datadir 指定数据库文件鹿筋

user和uid 指定运行mysql_ssl_rsa_setup命令的用户

mysql_ssl_rsa_setup --datadir=/var/lib/mysql --user=mysql --uid=mysql

默认执行即可

mysqld_ssl_rsa_setup

-vvv 详细,debug模式

image.png
会自动在datadir目录下创建下面的证书文件

  • ca-key.pem:CA证书私钥文件,用于生成SSL连接所需的服务器和客户端证书。
  • ca.pem:CA证书公钥文件,用于验证SSL连接中服务器和客户端证书的合法性。
  • client-cert.pem:客户端证书,在SSL连接中用于验证客户端的身份。
  • client-key.pem:客户端证书的私钥,用于加密和解密SSL连接中客户端发送的数据。
  • private_key.pem:私钥文件,用于加密和解密SSL连接中的数据。
  • public_key.pem:公钥文件,用于验证SSL连接中的数据。
  • server_cert.pem:服务器证书,用于验证MySQL数据库服务器的身份。
  • server_key.pem:服务器证书的私钥,用于加密和解密SSL连接中服务器发送的数据。
2、配置SSL证书

https://blog.csdn.net/Sn_Keys/article/details/126425869

[mysqld]

指定CA证书公钥文件的路径

ssl-ca=/path/to/ca.pem

指定mysql服务器证书的路径

ssl-cert=/path/to/server_cert.pem

指定mysql服务器证书的私钥路径

ssl-key=/path/to/server_key.pem

[client]

指定CA证书公钥文件的路径

ssl-ca=/path/to/ca.pem

指定mysql客户端证书的路径

ssl-cert=/path/to/client_cert.pem

指定mysql客户端证书的私钥路径

ssl-key=/path/to/client_key.pem

重启mysql服务

重启mysql服务

systemctl restart mysqld

检查状态

– 检查数据库是否启用SSL
show variables LIKE ‘have_SSl’;

image.png

– 查看全局变量中包含"SSL"字符的所有变量名和值
show global variables LIKE ‘%SSL%’;

– 查看tls安全传输版本
show global variables LIKE ‘tls_version’;

MySQL5.7.35 开始,不推荐使用 TLSv1TLSv1.1 连接协议
image.png

3、配置SSL用户
创建用户普通认证方式

– 创建用户
CREATE USER 用户名@‘%’ IDENTIFIED BY ‘表名’;

– 给用户授权
GRANT ALL ON *.* TO 用户名@‘%’;

– 应用权限配置
FLUSH PRIVILEGES;

– 查看用户权限
SELECT user,host,ssl_type,ssl_cipher FROM mysql.user;

创建用户强制证书认证

REQUIRE SSL 强制要求客户端使用 SSL/TLS加密协议与服务器进行通信
REQUIRE X509强制要求客户端不仅要使用 SSL/TLS连接,而且还需要提供一个有效的 x509证书。在使用 REQUIRE X509 时,MySQL 服务器会验证客户端提供的证书是否是受信任的,并且该证书是否匹配已经注册的用户帐户中的证书

– require ssl 强制用户使用证书认证
CREATE USER 用户名@‘%’ IDENTIFIED BY ‘表名’ require ssl;

– require x509 强制用户使用证书认证
CREATE USER 用户名@‘%’ IDENTIFIED BY ‘表名’ require x509;

image.png

– 给用户授权
GRANT ALL ON *.* TO 用户名@‘%’;

– 应用权限配置
FLUSH PRIVILEGES;

– 查看用户权限
SELECT user,host,ssl_type,ssl_cipher FROM mysql.user;

image.png

设置用户强制证书登录

– 设置强制ssl
alter user user0001@‘%’ require ssl;

– 取消强制ssl
alter user user0001@‘%’ require none;

最后

从时代发展的角度看,网络安全的知识是学不完的,而且以后要学的会更多,同学们要摆正心态,既然选择入门网络安全,就不能仅仅只是入门程度而已,能力越强机会才越多。

因为入门学习阶段知识点比较杂,所以我讲得比较笼统,大家如果有不懂的地方可以找我咨询,我保证知无不言言无不尽,需要相关资料也可以找我要,我的网盘里一大堆资料都在吃灰呢。

干货主要有:

①1000+CTF历届题库(主流和经典的应该都有了)

②CTF技术文档(最全中文版)

③项目源码(四五十个有趣且经典的练手项目及源码)

④ CTF大赛、web安全、渗透测试方面的视频(适合小白学习)

⑤ 网络安全学习路线图(告别不入流的学习)

⑥ CTF/渗透测试工具镜像文件大全

⑦ 2023密码学/隐身术/PWN技术手册大全

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

扫码领取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值