使用stunnle加密传输

Stunnel是一个能够用SSL对任意 TCP 链接加密的程序。它能够运行在多种UNIX和Windows上,它是基于 OpenSSL的,因此它要求已经安装了 OpenSSL,并进行了正确的配置。——来自网络
一、须要解决的问题
  目前遇到一些软如node_exporter、cAdvisor、promethues等默认是不支持https协议的,那么在传输过程当中会很容器被别人抓包获取内容的,为解决此问题引入了stunnel,用它对上述软件的传输加密。
 
二、安装 
sudo apt install stunnel

 

三、配置node

sudo vim /etc/default/stunnel4

 将“ENABLE”的值改为“1”vim

四、建立证书bash

 sudo mkdir /etc/stunnel/tls 
 cd /etc/stunnel/tls
 sudo openssl genrsa -out key.pem 2048             #建立一个2048位的秘钥
 sudo openssl req -new -x509 -key key2.pem -out cert2.pem -days 3650 -subj "/C=US/ST=Denial/L=Springfield/O=Dis/CN=域名或主机名" 
 sudo chmod 640 key.pem  cert.pem private.pem  

 上述操做是在建立自有证书,若你有从CA机构买来的证书可替换上述操做网络

 

五、编写stunnel的配置文件加密

sudo vim /etc/stunnel/stunnel.conf


pid             = /var/run/stunnel4/stunnel.pid
output          = /var/log/stunnel4/stunnel.log       #日志位置

[node_exporter]
accept          = 9101                    #外界访问的端口,IP默认是本机
connect         = 127.0.0.1:9100              #须要加密的URL,当外界访问本机的9101端口时会访问到9100,而且9101端口出去的是ssl加密过的数据
cert            = /etc/stunnel/tls/cert.pem
key             = /etc/stunnel/tls/key.pem

 

六、启动stunnelrest

sudo systemctl restart stunnel4.service
sudo systemctl enable stunnel4.service 
sudo systemctl status stunnel4.service   #检查stunnel运行是否成功

 

七、验证日志

在本机打开wireshark,监听使用的网卡,同时打开两个网页,一个访问9100(9100)端口,另外一个访问9101(https)端口。blog

查看http协议的抓包信息ssl

查看https的包openssl

相关文章
相关标签/搜索