设为首页 加入收藏

TOP

如何在Ubuntu 18.04上为MySQL配置SSL/TLS(二)
2019-05-25 00:08:05 】 浏览:192
Tags:何在 Ubuntu 18.04 上为 MySQL 配置 SSL/TLS
中复制的证书内容。完成后保存并关闭文件。


接下来,在MySQL服务器上显示客户端证书:


再次,将内容复制到剪贴板。


在目录中的MySQL客户端上打开一个具有相同名称的client-ssl文件:


粘贴剪贴板中的内容。保存并关闭文件。


最后,在MySQL服务器上显示客户端密钥文件的内容:


将显示的内容(包括第一行和最后一行)复制到剪贴板。


MySQL客户端上,打开目录中具有相同名称的client-ssl文件:


粘贴剪贴板中的内容。保存并关闭文件。客户端计算机现在应具有访问MySQL服务器所需的所有凭据。接下来,我们需要改变我们的远程用户。


目前,MySQL客户端具有可用于在连接时向服务器提供其证书的文件。但是,服务器仍未设置为要求来自受信任CA的客户端证书。


要更改此设置,请在MySQL服务器上再次登录MySQL root帐户:


接下来,我们需要更改远程用户的要求。 我们需要应用REQUIRE X509而不是REQUIRE SSL 。这意味着前一个要求提供的所有安全性,但另外要求连接客户端提供由MySQL服务器信任的证书颁发机构签名的证书。


要调整用户要求,请使用ALTER USER命令:


刷新更改以应用它们:


完成后退出到shell:


接下来,我们可以测试以确保我们仍然可以连接。


现在是检查我们是否可以在连接时验证双方的好时机。


MySQL客户端上,首先尝试连接而不提供客户端证书:


如果不提供客户端证书,服务器将拒绝连接。


现在,使用--ssl-ca--ssl-cert--ssl-key选项连接以指向\~/client-ssl目录中的相关文件::


您应该已成功登录。重新登录以重新获得对shell会话的访问权限:


现在我们已经确认了对服务器的访问,我们可以实现小的可用性改进。


为避免每次连接时都必须指定证书文件,我们可以创建一个简单的MySQL客户端配置文件。


MySQL客户端计算机上的主目录中,创建一个名为nano ~/.my.cnf的隐藏文件:


在文件的顶部,创建一个名为[client]的部分。下面,我们可以设置ssl-cassl-certssl-key选项指向我们从服务器复制的文件。它如下所示:


ssl-ca选项告诉客户端验证MySQL服务器提供的证书是否由我们指向的证书颁发机构签名。这允许客户端相信它正在连接到受信任的MySQL服务器。


ssl-certssl-key选项指向向MySQL服务器证明它也具有由相同证书颁发机构签名的证书所需的文件。如果我们希望MySQL服务器验证客户端也被CA信任,我们需要这个。


完成后保存并关闭文件。


现在,你可以连接到MySQL服务器,而无需在命令行添加--ssl-ca--ssl-cert--ssl-key选项:


您的客户端和服务器现在应该在协商连接时都提供证书。每一方都配置为根据其本地CA证书验证远程证书。


总结


您的MySQL服务器现在配置为需要来自远程客户端的安全连接。此外,如果您按照以下步骤使用证书颁发机构验证连接,则双方将建立某种程度的信任,即远程方是合法的。


首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Oracle RAC for aix 存储双控锁盘.. 下一篇explain执行计划分析-梁十八的博..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目