zoukankan      html  css  js  c++  java
  • 使用stunnle加密传输

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

    3、配置

    sudo vim /etc/default/stunnel4

     将“ENABLE”的值改成“1”

    4、创建证书

     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机构买来的证书可替换上述操作

    5、编写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
    

     

    6、启动stunnel

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

    7、验证

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

    查看http协议的抓包信息

    查看https的包

  • 相关阅读:
    深入理解C++右值引用
    并发编程的原子性和顺序性
    LLVM简介
    APK及相关的Android路径
    UE4资源移动与跨项目迁移
    OpenGL简介
    IDEA无限试用插件
    使用idea搭建springcloud
    .NET Core 微服务架构 Steeltoe 使用(基于 Spring Cloud)
    微服务:注册中心ZooKeeper、Eureka、Consul 、Nacos对比
  • 原文地址:https://www.cnblogs.com/zqj-blog/p/11239638.html
Copyright © 2011-2022 走看看