如何为MySQL服务器和客户机启用SSL

 我来答
匿名用户
2016-03-08
展开全部
用户想要与MySQL服务器建立一条安全连接时,常常依赖VPN隧道或SSH隧道。不过,获得MySQL连接的另一个办法是,启用MySQL服务器上的SSL封装器(SSL wrapper)。这每一种方法各有其优缺点。比如说,在出现多条短时间MySQL连接的高度动态环境下,VPN或SSH隧道也许是比SSL更好的选择,因为后者建立每条连接时需要成本高昂的SSL握手计算。另一方面,如果是长时间运行的MySQL连接比较少的那些应用,基于SSL的加密可能很合理。由于MySQL服务器已经内置了SSL支持功能,你不需要实施VPN或SSH隧道之类单独的安全层,这种隧道有其自己的维护开销。
在MySQL服务器中实施SSL可以加密在服务器与客户机之间来回传输的所有数据,因而防止广域网或数据中心里面可能出现的窃听或数据嗅探行为。此外,SSL还通过SSL证书提供了身份验证机制,因而可以保护用户,远离可能出现的网络钓鱼攻击。
我们在本文中将介绍如何启用MySQL服务器上的SSL。请注意:同样过程适用于MariaDB服务器。
创建Server SSL证书和私钥
我们必须为MySQL服务器创建SSL证书和私钥,通过SSL连接到服务器时要用到它们。
首先,创建一个临时的工作目录,我们将把私钥和证书文件放在该目录下。

$ sudo mkdir ~/cert $ cd ~/cert

确保OpenSSL已安装在运行MySQL服务器的系统上。通常,所有Linux发行版在默认情况下都安装了OpenSSL。想检查一下OpenSSL有没有安装,不妨使用下面这个命令。

$ openssl version OpenSSL 1.0.1f 6 Jan 2014

现在,继续创建CA私钥和证书。下面这些命令将创建ca-key.pem和ca-cert.pem。

$ openssl genrsa 2048 > ca-key.pem $ openssl req -sha1 -new -x509 -nodes -days 3650 -key ca-key.pem > ca-cert.pem

第二个命令会询问你几个问题。你在这些字段里填入什么并不重要。只管填好那些字段。
下一步是为服务器创建私钥。

$ openssl req -sha1 -newkey rsa:2048 -days 730 -nodes -keyout server-key.pem > server-req.pem

这个命令会再次询问几个问题,你可以填写上一步中提供的相同答案。
下一步,使用下面这个命令,将服务器的私钥导出成RSA类型的密钥。

$ openssl rsa -in server-key.pem -out server-key.pem
Storm代理
2023-06-05 广告
StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,IP... 点击进入详情页
本回答由Storm代理提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式