数据库使用SSL加密连接

简介

数据库开通SSL加密连接是确保数据传输过程中安全性的关键措施,它通过加密数据、验证服务器身份、保护敏感信息、维护数据完整性和可靠性,同时满足行业标准和法规要求,进而提升用户体验和信任度,为企业的数据安全和业务连续性提供坚实保障。

具体步骤

系统环境:Ubuntu20.04
MySQL版本:5.7.9
首先,跳转到MySQL的bin目录,然后使用root权限生成所需证书:

#我的服务器中MySQL安装在/usr/local目录下
cd /usr/local/mysql/bin
#使用root用户
sudo su
#证书生成
./mysql_ssl_rsa_setup

最后会在data目录下生成相关证书。
在这里插入图片描述
查看证书期限

openssl x509 -in server-cert.pem -noout -dates

在这里插入图片描述
可以看到该证书有效期为10年,到期后或需要轮转证书,需要关闭MySQL,然后重新生成证书

因为使用root用户生成的文件权限是归属于root,所以需要将生成的证书文件权限分配给MySQL用户

 chown -R mysql:mysql data/

在这里插入图片描述

重启MySQL

systemctl restart mysqld

然后进入数据库查看是否已开启ssl连接:

show variables like '%ssl%';

在这里插入图片描述
接下来,我们可以创建需要使用ssl远程连接的用户或更新现有用户强制使用ssl连接:

#创建新用户
CREATE USER 'ssluser'@'%' IDENTIFIED BY 'password' REQUIRE SSL;
GRANT ALL PRIVILEGES ON *.* TO 'ssluser'@'%';
FLUSH PRIVILEGES;
#更新现有用户,%代表可以使用任何用户连接,也可以使用特定主机进行进行操作。
ALTER USER 'test'@'%' REQUIRE SSL;
FLUSH PRIVILEGES;

验证

查询用户的SSL要求

#我这里命令使用的是test用户,实际我是用root用户做的测试,具体用户看你的情况
SELECT user, host, ssl_type FROM mysql.user WHERE user = 'test';

在这里插入图片描述
使用Navicat进行远程连接:
首先需要先将客户端证书拷贝到本地:

sudo cp ca.pem client-cert.pem client-key.pem /home/test
#因为我是root用户直接拷贝的,所以使用SFTP下载到本地出现了权限不足问题,需要使用chown命令将证书文件权限分配给当前用户
sudo chown teat:test ca.pem client-cert.pem client-key.pem

需要拷贝CA证书(ca.pem),客户端证书(client-key.pem),客户端密钥(client-key.pem)。
然后在Navicat添加客户端证书:
在这里插入图片描述
测试连接
在这里插入图片描述
现在就表明已经配置成功了,然后可以进行抓包测试
在这里插入图片描述
可以看到抓包结果已经显示了TLS协议加密了,使用SSL连接会导致大约10%到30%的性能损耗,具体取决于加密算法、硬件性能和连接类型(长连接通常比短连接更有效)。

今日推荐

小说:《龙符》
简介:苍茫大地,未来变革,混乱之中,龙蛇并起,谁是真龙,谁又是蟒蛇?或是天地众生,皆可成龙?朝廷,江湖门派,世外仙道,千年世家,蛮族,魔神,妖族,上古巫道,势力,相互纠缠,因缘际会。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/800296.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HTML5+CSS3小实例:纯CSS实现奥运五环

实例:纯CSS实现奥运五环 技术栈:HTML+CSS 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-sca…

1.CATIA:CAA调用Excel接口

生成调用Excel的头文件 参考如下进行excel头文件的生成: 如何使用vs2022通过excel.exe生成VC、C++能够使用的头文件 添加如下的接口: #include "CApplication.h" #include "CWorkbook.h" #include "CWorkbooks.h" #include "CWorkshee…

AMD software 将两个显示器合并为一个超宽显示器

最近玩游戏的时候&#xff0c;发现了一个骚操作。 可以将两个显示器&#xff08;更多个的自己去试&#xff0c;不知道&#xff09;组合为一个显示器&#xff0c;注意&#xff0c;这里说的不是将两个显示都连接电脑从而使用双屏显示器&#xff0c; 而是 将两个显示器组合为一个…

实验一:图像信号的数字化

目录 一、实验目的 二、实验原理 三、实验内容 四、源程序及结果 源程序&#xff08;python&#xff09;&#xff1a; 结果&#xff1a; 五、结果分析 一、实验目的 通过本实验了解图像的数字化过程&#xff0c;了解数字图像的数据矩阵表示法。掌握取样&#xff08;象素个…

利用AI辅助制作ppt封面

如何利用AI辅助制作一个炫酷的PPT封面 标题使用镂空字背景替换为动态视频 标题使用镂空字 1.首先&#xff0c;新建一个空白的ppt页面&#xff0c;插入一张你认为符合主题的图片&#xff0c;占满整个可视页面。 2.其次&#xff0c;插入一个矩形&#xff0c;右键选择设置形状格式…

uniapp-vue3-vite 搭建小程序、H5 项目模板

uniapp-vue3-vite 搭建小程序、H5 项目模板 特色准备拉取默认UniApp模板安装依赖启动项目测试结果 配置自动化导入安装依赖在vite.config.js中配置 引入 prerttier eslint stylelint.editorconfig.prettierrc.cjs.eslintrc.cjs.stylelintrc.cjs 引入 husky lint-staged com…

2024Datawhale AI夏令营---基于术语词典干预的机器翻译挑战赛--学习笔记

#Datawhale #NLP 1.背景介绍&#xff1a; 机器翻译&#xff08;Machine Translation&#xff0c;简称MT&#xff09;是自然语言处理领域的一个重要分支&#xff0c;其目标是将一种语言的文本自动转换为另一种语言的文本。机器翻译的发展可以追溯到20世纪50年代&#xff0c;经历…

springboot 适配ARM 架构

下载对应的maven https://hub.docker.com/_/maven/tags?page&page_size&ordering&name3.5.3-alpinedocker pull maven:3.5.3-alpinesha256:4c4e266aacf8ea6976b52df8467134b9f628cfed347c2f6aaf9e6aff832f7c45 2、下载对应的jdk https://hub.docker.com/_/o…

【银河麒麟操作系统】虚机重启lvs丢失现象分析及处理建议

了解银河麒麟操作系统更多全新产品&#xff0c;请点击访问麒麟软件产品专区&#xff1a;https://product.kylinos.cn 环境及现象描述 40台虚机强制重启后&#xff0c;其中8台虚机找不到逻辑卷导致启动异常&#xff0c;后续通过pvcreate 修复重建pv&#xff0c;激活vg和lv并修复…

矿产资源潜力预测不确定性评价

研究目的&#xff1a; 不确定性评估&#xff1a; 到底什么叫不确定性&#xff0c;简单来说就是某区域内的矿产资源量&#xff0c;并不确定到底有多少&#xff0c;你需要给出一个评估或者分布。 研究方法&#xff1a; 1.以模糊集来表示某些量&#xff1a; 关于什么是模糊集&am…

AWS Aurora Postgres 的开源替代品:存储和计算分离 | 开源日报 No.278

neondatabase/neon Stars: 13.0k License: Apache-2.0 Neon 是一个无服务器的开源替代品&#xff0c;用于 AWS Aurora Postgres。它将存储和计算分离&#xff0c;通过在节点集群中重新分配数据来替换 PostgreSQL 存储层。 提供自动扩展、分支和无限存储。Neon 安装包括计算节…

【常见开源库的二次开发】基于openssl的加密与解密——Base58比特币钱包地址——算法分析(三)

目录&#xff1a; 目录&#xff1a; 一、base58(58进制) 1.1 什么是base58&#xff1f; 1.2 辗转相除法 1.3 base58输出字节数&#xff1a; 二、源码分析&#xff1a; 2.1源代码&#xff1a; 2.2 算法思路介绍&#xff1a; 2.2.1 Base58编码过程&#xff1a; 2.1.2 Base58解码过…

基于高德地图实现Android定位功能实现(二)

基于高德地图实现Android定位功能实现&#xff08;二&#xff09; 在实现的高德地图的基本显示后&#xff0c;我们需要不断完善地图的功能 地图界面设计&#xff08;悬浮按钮等&#xff09; 首先就是地图页面的布局&#xff0c;这个根据大家的实际需求进行设计即可&#xff…

nacos 适配瀚高数据库、ARM 架构

下载nacos源码: https://github.com/alibaba/nacos/tree/2.3.1 瀚高技术文档 1、修改pom.xml 根目录nacos-all => pom.xml<dependencyManagement><dependency><groupId>com.highgo</groupId><artifactId>HgdbJdbc</artifactId><…

xss复习总结及ctfshow做题总结xss

xss复习总结 知识点 1.XSS 漏洞简介 ​ XSS又叫CSS&#xff08;Cross Site Script&#xff09;跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Script代码&#xff0c;当用户浏览该页之时&#xff0c;嵌入其中Web里面的Script代码会被执行&#xff0c;从而达到恶意攻击用户的…

MySQL篇:事务

1.四大特性 首先&#xff0c;事务的四大特性&#xff1a;ACID&#xff08;原子性&#xff0c;一致性&#xff0c;隔离性&#xff0c;持久性&#xff09; 在InnoDB引擎中&#xff0c;是怎么来保证这四个特性的呢&#xff1f; 持久性是通过 redo log &#xff08;重做日志&…

【ARM】MDK-服务器与客户端不同网段内出现卡顿问题

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 记录不同网段之间的请求发送情况以及MDK网络版license文件内设置的影响。 2、 问题场景 客户使用很久的MDK网络版&#xff0c;在获取授权时都会出现4-7秒的卡顿&#xff0c;无法对keil进行任何操作&#xff0c;彻底…

java——Junit单元测试

测试分类 黑盒测试&#xff1a;不输入代码&#xff0c;给输入值&#xff0c;看程序能够给出期望的值。 白盒测试&#xff1a;写代码&#xff0c;关注程序具体执行流程。 JUnit单元测试 一个测试框架&#xff0c;供java开发人员编写单元测试。 是程序员测试&#xff0c;即白…

【边缘计算网关教程】6.松下 Mewtocol TCP 协议

前景回顾&#xff1a;【边缘计算网关教程】5.三菱FX3U编程口通讯-CSDN博客 松下 Mewtocol TCP 协议 适配PLC&#xff1a;松下FP0H 松下XHC60ET 1. 硬件连接 Mewtocol TCP协议采用网口通信的方式&#xff0c;因此&#xff0c;只需要保证网关的LAN口和松下PLC的IP在一个网段即…

【车载开发系列】GIT教程---如何下载代码库

【车载开发系列】GIT教程—如何下载代码库 【车载开发系列】GIT教程---如何下载代码库 【车载开发系列】GIT教程---如何下载代码库一. 设置用户名和邮箱二. 生成SSH三. 登录远程github仓库配置四. Git中的ssh协议介绍五. 什么是GitLab六. GitLab与GitHub区别1&#xff09;用途和…