博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据加密:Stunnel
阅读量:5064 次
发布时间:2019-06-12

本文共 1662 字,大约阅读时间需要 5 分钟。

Stunnel可加密网络数据的TCP连接,采用Client/Server将CIient端数据采用SSL加密,安全传输到指定的Server端再解密还原然后发送到目的端口,其使用TLS对tcp协议进行加密

安装:
    wget http://www.stunnel.org/download/stunnel/src/stunnel-4.33.tar.gz
    tar zxvf stunel-4.33.tar.gz  ;   ./configure   ;   make && make install
 

 
创建CA根私钥及根证书:
   根私钥: openssl genrsa -des3 -out /etc/pki/CA/rootca.key 1024
   根证书: openssl req -new -x509 -key /etc/pki/CA/rootca.key -out /etc/pki/CA/rootca.crt -days 365
 
用CA根证书对子证书授权:
   用户私钥: openssl genrsa -des3 -out ~/Mysql-master.key 1024    
   用户证书: openssl req -new -key ~/
Mysql-master.key -out ~/Mysql-master.csr  
   拷贝到CA进行签名: scp Mysql-master.csr  root@CA-IP:/ca/  
   在CA端对csr请求签名:
        touch /etc/pki/CA/{index.txt,serial}
        echo "01" > /etc/pki/CA/serial
        openssl ca -keyfile
/etc/pki/CA/rootca.key -cert
/etc/pki/CA/rootca.crt -in ./Mysql-master.csr -out ./
Mysql-master.pem -days 365
 
-----------------------------------------------------------------
隧道环境: 
[Master@192.168.1.2:3306 -- stunnel:3508]  ----------------------------  [stunnel:3408 -- Slave@192.168.1.1]
 
/etc/stunnel/stunnel.conf
Server 端:
   
client=no
服务端
    compression=zlib 
    syslog=yes 
    debug=7 
    output=/var/log/stunnel.log 
    setuid=root 
    setgid=root 
    pid=/var/run/stunnel.pid 
注意:setuid需有读写/var/run/stunnel.pid的权限    
    cert=/etc/ssl/cert/
Mysql-master.pem 
服务端
证书
    key=/etc/ssl/private/
Mysql-master.key
服务端
私钥
    #CAfile =
/etc/pki/CA/certs/rootca.crt
根证书
    [mysql] 
    accept=3306
 加密本地3306数据
    connect=192.168.1.2:99999
  监听本机192.168.1.2:3306端口的加密数据并传输至对端的99999端口
 
Client 端:
   
client=yes 
    pid=/tmp/stunnel.pid 
    debug=7 
    foreground=no 
    verify=0
 客户端认证:如开启则双方都使用SSL
    #CAfile = /etc/pki/CA/certs/rootca.crt
 根证书
    [mysql] 
    accept=99999 
    connect=192.168.1.2:3306
 

 
流程图:

 

转载于:https://www.cnblogs.com/bluevitality/p/6652688.html

你可能感兴趣的文章
jquery获取div距离顶部的距离
查看>>
Near Optimal Placement of VNF, INFOCOMM'15
查看>>
学习远控界面设计二: 程序界面列表处理
查看>>
字符逆序
查看>>
JS获取字符串长度(区分中英文)
查看>>
未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序解决办法
查看>>
关于微信,我想说两句
查看>>
Java for Android 第三周学习总结
查看>>
将博客搬至CSDN
查看>>
Confluence 6 关于统一插件管理器
查看>>
Confluence 6 修改一个空间从归档到当前
查看>>
【习题 4-9 UVA - 815】Flooded!
查看>>
【codeforces 787C】Berzerk
查看>>
【codeforces 785E】Anton and Permutation
查看>>
app转让其他开发者操作流程及说明
查看>>
圣杯布局和双飞翼布局
查看>>
Esper系列(十三)Splitting and Duplicating Streams
查看>>
程序员们 不要想一辈子靠技术混饭吃
查看>>
JRE 和 JDK 的区别是什么?
查看>>
Struts2 请求处理步骤
查看>>