mysql端ssl加密_MySQL服务器开启SSL加密功能

MySQL服务器开启SSL加密功能

我们知道,MySQL5.7之前版本,安全性做的并不够好,比如安装时生成的root空密码账号、存在任何用户都能连接上的test库等,导致数据库存在较大的安全隐患。好在5.7版本对以上问题进行了一一修复。与此同时,MySQL 5.7版本还提供了更为简单SSL安全访问配置,且默认连接就采用SSL的加密方式,这让数据库的安全性提高一个层次。

环境

IP

主机名

说明

192.168.1.101

node1

mysql服务端

192.168.1.102

node2

mysql客户端

1、SSL介绍

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

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

1、数据传输的机密性:利用对称密钥算法对传输的数据进行加密;

2、身份验证机制:基于证书利用数字签名方法对服务器和客户端进行身份验证,其中客户端的身份验证是可选的;

3、消息完整性验证:消息传输过程中使用MAC算法来检验消息的完整性。

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

2、MySQL5.7 SSL配置和启用

2.1、查看SSL开启情况

root@node1 19:58: [(none)]> show global variables like '%ssl%';

+---------------+----------+

| Variable_name | Value |

+---------------+----------+

| have_openssl | DISABLED |

| have_ssl | DISABLED |

| ssl_ca | |

| ssl_capath | |

| ssl_cert | |

| ssl_cipher | |

| ssl_crl | |

| ssl_crlpath | |

| ssl_key | |

+---------------+----------+

9 rows in set (0.01 sec)

root@node1 19:58: [(none)]> status;

--------------

mysql Ver 14.14 Distrib 5.7.22, for linux-glibc2.12 (x86_64) using EditLine wrapper

Connection id: 4

Current database:

Current user: root@localhost

SSL: Not in use

Current pager: stdout

Using outfile: ''

Using delimiter: ;

Server version: 5.7.22-log MySQL Community Server (GPL)

Protocol version: 10

Connection: Localhost via UNIX socket

Server characterset: utf8mb4

Db characterset: utf8mb4

Client characterset: utf8

Conn. characterset: utf8

UNIX socket: /data/mysql/mysql3306.sock

Uptime: 6 min 9 sec

Threads: 1 Questions: 14 Slow queries: 0 Opens: 109 Flush tables: 1 Open tables: 103 Queries per second avg: 0.037

--------------

root@node1 19:59: [(none)]>

由上可看出:目前MySQL服务没有开启SSL功能;

2.2、安装openssl

yum install openssl -y

2.3、关闭MySQL服务

systemctl stop mysqld

2.4、运行mysql_ssl_rsa_setup 命令,开启SSL连接

安装SSL,开启SSL连接

[root@node1 mysql]# ./bin/mysql_ssl_rsa_setup

Generating a 2048 bit RSA private key

.........................................+++

.............+++

writing new private key to 'ca-key.pem'

-----

Generating a 2048 bit RSA private key

....................................+++

.....................................+++

writing new private key to 'server-key.pem'

-----

Generating a 2048 bit RSA private key

.......................+++

..............................................................................+++

writing new private key to 'client-key.pem'

-----

[root@node1 mysql]#

典型的选项是--datadir指定创建文件的位置,以及--verbose查看mysql_ssl_rsa_setup执行的openssl命令 。

当运行完这个命令后,默认会在$datadir目录下生成以下pem文件,这些文件就是用于启用

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值