环境:
服务端(虚拟机):ubuntu18.04 + mysql5.7
客户端:Windows10

stunnel:stunnel5

1. 服务端

[1]. 安装 openssl 1.0.2

tar -xzvf openssl-1.0.2u.tar.gz
cd openssl-1.0.2u
./config -fPIC --prefix=/usr/local/openssl/ enable-shared
make
make install
cp -r /usr/local/openssl/include/openssl /usr/include

[2]. 安装 stunnel5
click me, 去下载

tar -xzvf stunnel-5.62.tar.gz
cd stunnel-5.62
./configure
make
make install

[3]. 在服务端生成2个证书
一个服务端的stunnel_s.pem,一个客户端的stunnel_c.pem;

openssl req -new -x509 -days 36500 -nodes -out stunnel_c.pem -keyout stunnel_c.pem
openssl req -new -x509 -days 36500 -nodes -out stunnel_s.pem -keyout stunnel_s.pem

[4]. 配置stunnel

mkdir /etc/stunnel
touch /etc/stunnel/stunnel.conf
vim stunnel.conf

在stunnel.conf中输入以下语句:

client = no
debug = 7
output = /var/log/stunnel.log
pid = /var/run/stunnel.pid
cert = /etc/stunnel/stunnel_s.pem
key = /etc/stunnel/stunnel_s.pem[mysql_test]
accept = 3307
connect = 127.0.0.1:3306
最后再将之前生成的stunnel_s.pem和stunnel_c.pem拷贝到/etc/stunnel下,并chmod 400 *.pem。

2. 客户端

[1]. 安装stunnel客户端
click me, 去下载
stunnel-5.65-win64-installer.exe
[2]. 在stunnel安装目录下找到config目录,此目录下有stunnel.conf配置文件,自带的,可以将其删除,然后自行创建stunnel.conf, 并输入以下内容:

client = yes
debug = 7
output = stunnel.log[mysql_test]
accept = 3305
connect = 192.168.64.131:3307
cert = stunnel.pem

[3].开启stunnel客户端和stunnel服务器


[4]. 打开stunnel.exe, 然后打开cmd, 执行 mysql -h 127.0.0.1 -P 3305 -u root -p,并输入密码。
发现此时已经连接到远程服务器的数据库,并且已经为其建立了加密隧道。

3. 下面对stunnel客户端和服务端的配置文件的关键点进行解析一下

客户端:

[mysql_test]
accept = 3305                      # 监听本地3305端口的数据
connect = 192.168.64.131:3307      # 监听本机3305端口的加密数据并将其传输到服务端192.168.64.131的3307端口上

服务端:

[mysql_test]
accept = 3307                      # 监听本地3307端口的数据
connect = 127.0.0.1:3306           # 监听本地3307端口的数据并将其传输到本地127.0.0.1的3306端口上

可以大概这么理解:当我们在客户端的cmd中输入:mysql -h 127.0.0.1 -P 3305 -u root -p时,
实际上我们在本地3305的端口上开启了监听,那么3305端口的数据将会被加密传输到192.168.64.131主机的3307端口上,
而到达192.168.64.131的3307端口上后,又将其转发到192.168.64.131主机的3306端口上,也即是127.0.0.1:3306。
这样,就为客户端和服务端之间的mysql通信建立了一条stunnel加密隧道。

4. 可能参考到的博客:

[1]. https://www.cnblogs.com/cutmr/p/15677704.html
[2]. https://blog.csdn.net/qq_43667702/article/details/87020490

使用stunnel为mysql建立加密隧道相关推荐

  1. 使用 Stunnel 建立加密隧道

    原贴:http://blog.chinaunix.net/u1/49674/showart_399365.html 使用 Stunnel 建立加密隧道 使用 Stunnel 建立加密隧道 附件中的 S ...

  2. Stunnel 加密隧道搭建

    Stunnel (http://www.stunnel.org/)是一款可以加密网络数据的TCP连接,并可工作在Unix和Windows平台上,它采用Client/Server模式,将Client端的 ...

  3. 用ssh隧道建立加密代理

    putty可以很轻易地建立ssh隧道,实现加密代理.这个方法你需要有一台外部的 sshd 服务器.在自己的电脑上利用 putty 连接 sshd 服务器,建立ssh隧道. 在putty中设置连接时选择 ...

  4. java 建立ssh隧道_SSH基础

    SSH 基本概念 SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定:SSH 为建立在应用层基础上的安全协议.SSH 是较可靠, ...

  5. MySQL配置SSL访问-配置 MySQL 使用加密连接

    配置 MySQL 使用加密连接 通过 MySQL 客户端和服务器之间的未加密连接,可以访问网络的人可以监视您的所有流量并检查客户端和服务器之间发送或接收的数据. 当您必须以安全的方式通过网络移动信息时 ...

  6. Ubuntu上搭建网站【建立数据隧道,降低开支】

    上篇:Ubuntu搭建web站点并发布公网访问 目录 1.安装WordPress 2.创建WordPress数据库 3.安装相对URL插件 4.内网穿透将网站发布上线 1.命令行方式: 2.图形化操作 ...

  7. 网页如何与mysql服务器建立连接不上,html与mysql建立连接数据库

    html与mysql建立连接数据库 内容精选 换一换 云数据库 GaussDB(for MySQL)是华为云提供的一款安全.可信的数据库服务.GaussDB(for MySQL)秉承华为云对租户的安全 ...

  8. ssh远程工具_Rsync如何利用SSH加密隧道同步文件

    请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习 1. 前言 本文主要讲解Linux系统中的Rsync如何利用SSH ...

  9. mysql课程设计案例_JAVA中MySQL建立连接

    下面是在JAVA中与MySQL建立连接的一个模块: package com.han; import java.sql.Connection; import java.sql.DriverManager ...

最新文章

  1. ASP.netcore MVC钉钉H5微应用(二)鉴权
  2. matlab球落点的数学建模,MATLAB数学建模:智能优化算法-人工鱼群算法
  3. 关于模板页调用js的问题
  4. 我们相信加密! 教程
  5. Python 爬虫进阶五之多线程的用法
  6. centos 6.5 apache mysql php_CentOS 6.5系统安装配置LAMP(Apache+PHP5+MySQL)服务器环境
  7. 查询网站web服务器,web服务器地址查询
  8. 图像分类模型的学习笔记
  9. 安装Go 1.9.2
  10. 二级计算机选择题知识点资源,计算机省二级选择题.txt
  11. go-结构化,方法的创建以及使用
  12. 工业控制pc是微型计算机,微型计算机工业控制.doc
  13. 服务器的原理,服务器原理
  14. 桌面小工具天气连接不到服务器,墨迹天气桌面小插件无法同步怎么办 墨迹天气app与服务器时间不一致怎么办...
  15. 超市商品管理系统(C++)
  16. 恒讯科技分析:国外服务器中最常用的6种“可视化管理工具”
  17. python股票回测源码_股票量化交易回测框架pyalgotrade源码阅读(一)
  18. 小飞升值记——(9)
  19. PaddleClas高效实现口红检测识别
  20. 软件开发中,做产品与做项目有什么区别?

热门文章

  1. C#制作视频播放器(Windows Media Player方法)
  2. tar指令打包文件不包含路径
  3. 捷配精密金属,感受钢铁直男的力量
  4. 南通市民将可刷手机乘公交车
  5. WSDL、XML Schema、WADL
  6. 普瑞眼科通过注册:年营收17亿净利降14% 红杉铭德是股东
  7. 苹果手机怎么能查看网页源代码
  8. 洛谷2658 汽车拉力比赛
  9. 地球引擎初级教程——Google Earth Engine计算最简单的多边形面积和周长计算
  10. 利用chromeDevTools的Performance面板进行性能分析调优