作者:蔡玮
中间件dble测试成员,主要负责dble的日常测试工作,热衷于探索发现,学习新技术。
本文来源:原创投稿
*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。
SSL协议简介
众所周知,如果我们在网络上传输数据时信息都是使用明文的话,会很容易出现数据被监听和窃取的情况,从而造成一定的安全性的问题,这对于一些个人敏感信息乃至公司的数据安全无疑造成了很大的风险。
基于此,势必有一定的需求,对网络上传输的数据进行“包裹化”处理,而SSL即在此背景之下应运而生。Netscape公司于1996年提出了安全协议SSL,其是工作于应用层和传输层之间的一款协议,设计即全面,其涉及的概念众多,不仅仅“包裹化”了数据【数据加密】,更是提供了身份验证和消息完整性验证机制,为网络数据传输安全性建设做出了巨大贡献,从而非常大程度上改善了互联网的安全性问题。
对于数据库层面,加密通信同样显得很重要,毕竟任何业务的数据存储最终都要落实到数据库上,其重要性不言而喻。所以对于MySQL而言,SSL已经是一个成熟的功能并广泛应用。对于协议实现原理以及加密算法不再是本文介绍的重点,在此就不再赘述,可参考历史公众号文章:MySQL : SSL 连接浅析
SSL 之 DBLE 篇
概述
作为一款数据库中间件产品,在使用 DBLE 时,将 MySQL 挂载到 DBLE 后端后,完全可以脱离 MySQL 而与 DBLE 进行直接建立连接。那么问题来了,如何确保与 DBLE 进行通信时数据的安全性呢?显然,在这方面 DBLE 需要向 MySQL 学习,使用 SSL 武装自己,以确保通信时用户数据的安全性。
在即将要发版的 DBLE 版本中,我们将会支持 SSL 加密连接,需要注意的是目前加密处理是处于 Client — DBLE 通信阶段,DBLE — MySQL 通信阶段暂未涉及。同时在已经发版的 DBLE 3.22.01.1 的小版本中也已率先支持了 SSL ,感兴趣的同学可以下载相关的版本进行试用。
使用说明
对于 DBLE 的 SSL 连接配置和 MySQL 有一定的相似性,但是并不尽相同,下面就 DBLE 对于 SSL 加密的使用进行简要的配置使用介绍。
熟悉 SSL 的同学应该知道,使用 SSL 的前提必然是各种证书【涉及各种密钥信息】,DBLE 也并不例外。MySQL 中使用的是自签名证书,自签名证书是由不受信的CA机构颁发的数字证书,也就是自己签发的证书。与受信任的CA签发的传统数字证书不同,自签名证书是由一些公司或软件开发商创建、颁发和签名的。DBLE 同样采用和 MySQL 一样的方式:使用自签名证书方式制作 SSL 证书。
证书制作
证书制作需要借助 OpenSSL 来进行,如果机器上并未安装可手动进行安装 OpenSSL 。
1、 制作CA自签名证书(包含公钥)和私钥
openssl genrsa 2048 > ca-key.pem
openssl req -new -x509 -nodes -days 3600 -key ca-key.pem -out ca.pem
2、 创建私钥和签发服务端的数字证书
openssl req -newkey rsa:2048 -days 3600 -nodes -keyout server-key.pem -out server-req.pem
openssl rsa -in server-key.pem -out server-key.pem
openssl x509 -req -in server-req.pem -days 3600 -CA ca.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem
3、创建私钥和签发客户端的数字证书(与上相似)
openssl req -newkey rsa:2048 -days 3600&
数据库中间件DBLE SSL加密连接配置详解

本文详细介绍了数据库中间件DBLE如何支持SSL加密连接,以确保与DBLE通信时用户数据的安全性。内容包括SSL协议的作用、DBLE的SSL支持情况、证书的制作与转换、DBLE服务端和客户端的配置方法,以及不同SSL连接模式的测试与分析。通过SSL加密,数据在传输过程中得到有效保护,提升了通信安全性。
最低0.47元/天 解锁文章
354

被折叠的 条评论
为什么被折叠?



