问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何配置MySQL SSL?

发布网友 发布时间:2022-04-22 14:59

我来回答

2个回答

热心网友 时间:2023-11-10 03:00

MySQL默认的数据通道是不加密的,在一些安全性要求特别高的场景下,我们需要配置MySQL端口为SSL,使得数据通道加密处理,避免敏感信息泄漏和被篡改。
当然,启用MySQL
SSL之后,由于每个数据包都需要加密和解密,这个对MySQL的性能是有不小影响的,读者们在使用的时候,要根据实际情况斟酌。
MySQL客户端登录服务器时候的密码不是明文传输,有加密策略处理。
笔者是在
ubuntu12.04
系统上使用MySQL
5.5版本测试的,其他环境请读者自行匹配。
配置MySQL服务器证书
编辑
/etc/mysql/my.cnf
文件
#
ssl-ca=/etc/mysql/cacert.pem
#
ssl-cert=/etc/mysql/server-cert.pem
#
ssl-key=/etc/mysql/server-key.pem
把上面三行默认证书配置注释打开,使用自己的证书。笔者就使用上次在搭建自己的CA服务

OpenSSL
CA
实战文章中生成的证书
ssl-ca=/home/yunweipai/user_certs/ca_cert.cer
ssl-cert=/home/yunweipai/user_certs/web.cer
ssl-key=/home/yunweipai/user_certs/web_key_plain.pem
这里需要注意的是,在ubuntu上,配置证书后如果不生效,参考这里解决方法
注意上面配置的
web_key_plain.pem
文件,由于MySQL不支持加密后的私钥,因此我们使用命令
openssl
rsa
-in
web_key.pem
-passin
pass:Yunweipai@123
-out
web_key_plain.pem
将私钥解密。MySQL不支持私钥加密的原因是从安全性角度考虑,因为如果要用户传递一个加密的私钥,那么必须要用户传密码,那么MySQL怎么存储这个密码呢?这就引出了我们在密码存储和传输的安全建议里面提到的一系列问题了。
所以MySQL为了简化实现,就不支持私钥加密。
指定客户端连接方式
MySQL服务端在对客户端授权的时候,可以通过选项指定客户端连接MySQL
服务器的SSL级别,参考MySQL赋权的
REQUIRE值:
ssl_option
SSL:
不认证客户端,客户端不需要提供证书
X509:
客户端必须发送一个有效的X509证书
issuer:
客户端的证书是否是服务器所配置的CA颁发的(在我们场景下是ca_cert.cer颁发的证书)
subject:
认证证书的subject(关于证书的subject在之前的文章有介绍)
cipher:
指定加密算法
这些选项可以叠加使用,如:X509|issuser
客户端连接(SSL方式)
mysql
客户端连接
mysql
-u
root
-pChangeme_123
-P
3306
--ssl-ca=/home/yunweipai/user_certs/ca_cert.cer
Welcome
to
the
MySQL
monitor.
Commands
end
with
;
or
\g.
Your
MySQL
connection
id
is
36
Server
version:
5.5.43-0ubuntu0.12.04.1
(Ubuntu)
Copyright
(c)
2000,
2015,
Oracle
and/or
its
affiliates.
All
rights
reserved.
Oracle
is
a
registered
trademark
of
Oracle
Corporation
and/or
its
affiliates.
Other
names
may
be
trademarks
of
their
respective
owners.
Type
'help;'
or
'\h'
for
help.
Type
'\c'
to
clear
the
current
input
statement.
mysql>
\s
--------------
mysql
Ver
14.14
Distrib
5.5.43,
for
debian-linux-gnu
(i686)
using
readline
6.2
Connection
id:
36
Current
database:
Current
user:
root@localhost
SSL:
Cipher
in
use
is
DHE-RSA-AES256-SHA
Current
pager:
stdout
Using
outfile:
''
Using
delimiter:
;
Server
version:
5.5.43-0ubuntu0.12.04.1
(Ubuntu)
Protocol
version:
10
Connection:
Localhost
via
UNIX
socket
Server
characterset:
latin1
Db
characterset:
latin1
Client
characterset:
latin1
Conn.
characterset:
latin1
UNIX
socket:
/var/run/mysqld/mysqld.sock
Uptime:
29
sec
Threads:
1
Questions:
109
Slow
queries:
0
Opens:
48
Flush
tables:
1
Open
tables:
41
Queries
per
second
avg:
3.758
--------------
JDBC连接
在jdbc字符串中增加下面参数
useSSL=true&verifyServerCertificate=false
这么就不需要客户端配置证书了,配置就简单很多。因为mysql本身有账号口令认证,因此不需要证书认证。

热心网友 时间:2023-11-10 03:00

MySQL默认的数据通道是不加密的,在一些安全性要求特别高的场景下,我们需要配置MySQL端口为SSL,使得数据通道加密处理,避免敏感信息泄漏和被篡改。


当然,启用MySQL SSL之后,由于每个数据包都需要加密和解密,这个对MySQL的性能是有不小影响的,读者们在使用的时候,要根据实际情况斟酌。

Windows下如何配置MySQL SSL安全传输:

1、首先明确你的MySQL版本是否支持或是否开启SSL:show global variables like 'have_%ssl';


2、确认OpenSSL安装并加入PATH系统路径环境变量。


3、正确创建号证书。


4、通过my.cnf或者命令行在mysql启动的时候加载证书配置,例如:
mysqld --ssl-ca=ca-cert.pem --ssl-cert=server-cert.pem --ssl-key=server-key.pem。


5、客户端连接时同样要记得加载证书。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
企业培训学到了什么 培训感悟简短 有关培训的感悟 通过培训学到什么 培训你学到了什么 领导问培训学到什么怎么回复 Linux系统安装FTP服务器 Linux系统的网络文件共享 建筑的七盏明灯的内容简介 面向对象设计七大原则 简单说 交互设计七大定律 linux怎么配置ssl 如何设置ssl端口 在外汇市场中利用利差进行无风险套利 请问用金融衍生工具进行对冲套利怎么理解? 老公在微信上认识一个女人和她视频关心还聊爱昧话他想做什么 关于外汇牌价和交叉汇率套利 高频套利是个什么意思 外汇ab仓是什么意思 外汇ab仓套利模式是骗 外汇交易中常用的套利手段有哪些 怎么做无风险套利,能举例说明吗? 套利者将会如何套汇?这种活动对汇率有什么影响? 金融外汇套利赚取本金的3一8倍是真的吗 套汇代表着什么? 外汇市场如何做对冲套利? 套汇是什么意思 外汇交易中的原油套利是什么意思? 怎样看待外汇市场上的套利? 鹰潭在哪里打征信报告 大门口贴对联是什么生肖 404 Not Found 如何在Web服务器上设置SSL https怎么配置 如何在服务器中配置SSL连接 Clodop的云打印中的SSL怎么配置? 新网虚拟怎么开启SSL配置 EXCEL 怎么整列除于一个数 EXCEL,怎么把一列数据除以另一列数据 execl 中的除法公式如何下拉到整个列? 怎么在Excel表格中的整列中进行加减乘除的复合计算 excel表格公式求教,并且怎样整列应用? 编写python测试程序,导入相关模块,以主程序运行,用户输入四个数字分别输出最大值以及最小值 Python 编写并测试函数change(str1),其功能是对参数str1进行大小写转换? 怎么用python对qq登录界面写测试脚本 贴墙纸的基膜和糯米胶套装多少钱? 那位知道海基布,基膜,胶粉,墙纸胶的价格, 贴墙纸的基膜和糯米胶套装多少钱 墙纸基膜嘉力丰,蓝羽,百得,瑞宝哪种更环保一些? 贴壁纸和刷基膜是分开收费的吗? 什么牌子的糯米胶防水性最好? 蓝羽糯米胶