欢迎来到 无奈人生 安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

MySQL 5.7.x开启SSL连接

来源: 作者: 时间:2019-02-24 21:37 点击: 我要投稿
广告位API接口通信错误,查看德得广告获取帮助

 1 理论部分

 
1.1 SSL的理解
 
1.1.1 基本概念
 
SSL即Secure Socket Layer)- 安全套接字层(由Netscape提出
 
1.1.2 SSL的作用
 
SSL - 实现客户端和服务器之间的安全通讯(加密和完整性校验)
 
1.1.3 协议组成
 
1) SSL Record Protocol(记录协议)
 
- 建立于TCP之上
 
- 为高层提供数据封装、压缩、加密等基本功能
 
2) SSL Handshake Protocol(握手协议)
 
- 建立于Record Protocol协议之上
 
- 用户数据传输前的双方身份认证、协商加密算法、交换机密秘钥等
 
1.1.4 ISO层次
 
SSL工作于网络层和应用层之间
 
1.2 MySQL SSL
 
与包括MySQL 5.6版本在内的旧版本相比,5.7.x增加了连接加密功能,防止通讯过程中数据库信息被窃取
 
2 实践部分
 
2.1 环境配置
 
2.1.1 基本信息
 
OS=CentOS 7.3 x86_64
 
IP Address=10.168.0.2[4-5]
 
HostName=hd0[1-2].cmdschool.org
 
注:以上隐含名称解析服务
 
2.1.2 防火墙配置
 
firewall-cmd --permanent --add-service mysql
firewall-cmd --reload
firewall-cmd --list-all
2.1.3 配置安装源
 
In hd0[1-2] 
 
yum  install -y https: //dev .mysql.com /get/mysql57-community-release-el7-10 .noarch.rpm
2.1.4 配置安装包
 
In hd01 
 
yum  install -y mysql-community-server mysql-community-devel mysql-community-client 
In hd02 
 
yum  install -y mysql-community-client
2.1.5 启动数据库
 
In hd01 
 
systemctl start mysqld
systemctl  enable mysqld
2.1.6 初始化数据库
 
In hd01 
 
获取临时密码:
 
cat /var/log/mysqld .log |  grep 'A temporary password'
显示如下:
 
2017-04-22T07:10:18.747550Z 1 [Note] A temporary password is generated  for root@localhost: ufqLq&R6tgl%
初始化数据库:
 
mysql_secure_installation
向导如下:
 
[...]
Enter password  for user root:ufqLq&R6tgl%
[...]
New password:*******
Re-enter new password:*******
[...]
Change the password  for root ? ((Press y|Y  for Yes, any other key  for No) : y
New password:*******
Re-enter new password:*******
[...]
Do you wish to  continue with the password provided?(Press y|Y  for Yes, any other key  for No) : y
[...]
Remove anonymous  users ? (Press y|Y  for Yes, any other key  for No) : y
[...]
Disallow root login remotely? (Press y|Y  for Yes, any other key  for No) :
[...]
Remove  test database and access to it? (Press y|Y  for Yes, any other key  for No) : y
[...]
Reload privilege tables now? (Press y|Y  for Yes, any other key  for No) : y
[...]
2.1.7 关闭密码复杂度要求
 
In hd01 
 
cp /etc/my .cnf  /etc/my .cnf.default
vim  /etc/my .cnf
加入如下配置
 
[mysqld]
# Disable password validaion plugin
validate-password=off
重启数据库服务
 
systemctl restart mysqld
注:此操作方便后面配置用户权限,降低MySQL服务对密码复杂度的要求,这也是5.7的新特征,说真的笔者认同MySQL官方的安全主张,但不喜欢(麻烦)。
 
验证插件的禁用
 
show plugins;
显示如下:
 
+----------------------------+----------+--------------------+----------------------+---------+
| Name                       | Status   | Type               | Library              | License |
+----------------------------+----------+--------------------+----------------------+---------+
| validate_password          | DISABLED | VALIDATE PASSWORD  | validate_password.so | GPL     |
+----------------------------+----------+--------------------+----------------------+---------+
45 rows  in set (0.00 sec)
2.2 配置MySQL SSL
 
2.2.1 确保本机安装openssl
 
In hd0[1-2] 
 

[1] [2] [3] [4]  下一页

 1 理论部分

无奈人生安全网

 
1.1 SSL的理解
 
1.1.1 基本概念
 
SSL即Secure Socket Layer)- 安全套接字层(由Netscape提出
 
1.1.2 SSL的作用
 
SSL - 实现客户端和服务器之间的安全通讯(加密和完整性校验)
 
1.1.3 协议组成
 
1) SSL Record Protocol(记录协议)
 
- 建立于TCP之上
 
- 为高层提供数据封装、压缩、加密等基本功能
 
2) SSL Handshake Protocol(握手协议)
 
- 建立于Record Protocol协议之上
 
- 用户数据传输前的双方身份认证、协商加密算法、交换机密秘钥等
 
1.1.4 ISO层次
 
SSL工作于网络层和应用层之间
 
1.2 MySQL SSL
 
与包括MySQL 5.6版本在内的旧版本相比,5.7.x增加了连接加密功能,防止通讯过程中数据库信息被窃取
 
2 实践部分
 
2.1 环境配置
 
2.1.1 基本信息
 
OS=CentOS 7.3 x86_64
 
IP Address=10.168.0.2[4-5]
 
HostName=hd0[1-2].cmdschool.org
 
注:以上隐含名称解析服务
 
2.1.2 防火墙配置
 
firewall-cmd --permanent --add-service mysql
firewall-cmd --reload
firewall-cmd --list-all
2.1.3 配置安装源
 
In hd0[1-2] 
 
yum  install -y https: //dev .mysql.com /get/mysql57-community-release-el7-10 .noarch.rpm
2.1.4 配置安装包
 
In hd01 
 
yum  install -y mysql-community-server mysql-community-devel mysql-community-client 
In hd02 
 
yum  install -y mysql-community-client
2.1.5 启动数据库
 
In hd01 
 
systemctl start mysqld
systemctl  enable mysqld
2.1.6 初始化数据库
 
In hd01 
 
获取临时密码:
 
cat /var/log/mysqld .log |  grep 'A temporary password'
显示如下:
 
2017-04-22T07:10:18.747550Z 1 [Note] A temporary password is generated  for root@localhost: ufqLq&R6tgl%
初始化数据库:
 
mysql_secure_installation
向导如下:
 
[...]
Enter password  for user root:ufqLq&R6tgl%
[...]
New password:*******
Re-enter new password:*******
[...]
Change the password  for root ? ((Press y|Y  for Yes, any other key  for No) : y
New password:*******
Re-enter new password:*******
[...]
Do you wish to  continue with the password provided?(Press y|Y  for Yes, any other key  for No) : y
[...]
Remove anonymous  users ? (Press y|Y  for Yes, any other key  for No) : y
[...]
Disallow root login remotely? (Press y|Y  for Yes, any other key  for No) :
[...]
Remove  test database and access to it? (Press y|Y  for Yes, any other key  for No) : y
[...]
Reload privilege tables now? (Press y|Y  for Yes, any other key  for No) : y
[...]
2.1.7 关闭密码复杂度要求
 
In hd01 
 
cp /etc/my .cnf  /etc/my .cnf.default
vim  /etc/my .cnf
加入如下配置
 
[mysqld]
# Disable password validaion plugin
validate-password=off
重启数据库服务
 
systemctl restart mysqld
注:此操作方便后面配置用户权限,降低MySQL服务对密码复杂度的要求,这也是5.7的新特征,说真的笔者认同MySQL官方的安全主张,但不喜欢(麻烦)。
 
验证插件的禁用
 
show plugins;
显示如下:
 
+----------------------------+----------+--------------------+----------------------+---------+
| Name                       | Status   | Type               | Library              | License |
+----------------------------+----------+--------------------+----------------------+---------+
| validate_password          | DISABLED | VALIDATE PASSWORD  | validate_password.so | GPL     |
+----------------------------+----------+--------------------+----------------------+---------+
45 rows  in set (0.00 sec)
2.2 配置MySQL SSL
 
2.2.1 确保本机安装openssl
 
In hd0[1-2] 
 
无奈人生安全网

[1] [2] [3] [4]  下一页

无奈人生安全网

。 (责任编辑:admin)
【声明】:无奈人生安全网(http://www.wnhack.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱472701013@qq.com,我们会在最短的时间内进行处理。