使用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的包

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM