其他分享
首页 > 其他分享> > Stunnel 安装、配置及其 SSL/TLS 证书验证

Stunnel 安装、配置及其 SSL/TLS 证书验证

作者:互联网

一、Stunnel 介绍

Stunnel 是一个开源、跨平台、支持独立于原程序(客户端/服务端)之外通过端口转发提供 TLS 加密的代理应用,无需对原程序(客户端/服务端)做任何代码层面上的更改。Stunnel 依赖于 OpenSSL 库,具有 OpenSSL库的安全特性和扩展性。

官方网站:https://www.stunnel.org/index.html

二、安装与配置

下面以 ubuntu 为例,其它系统大同小异。

1、服务端安装与配置

1.1、服务端安装

sudo apt install stunnel

1.2、服务端配置

一般安装后会存放在 /opt/stunnel/ 目录下。如果没有,可参考示例文件配置:/usr/share/doc/stunnel4/examples/stunnel.conf-sample,或者官网文档说明:https://www.stunnel.org/static/stunnel.html#EXAMPLES

;权限
setuid = stunnel4
setgid = stunnel4

;进程ID
pid = /var/run/stunnel.pid

;日志
debug = info
output = /var/log/stunnel.log

;运行模式,yes 为客户端,no 为服务端
client = no

; 这里随便起个名字就行,起到方便部署就行,不一定非得是协议的标准写法
[https]
accept  = 443
connect = 8000

; 指定路径证书
;cert = /etc/stunnel/stunnel.pem
cert = /etc/stunnel/stunnel.crt
key = /etc/stunnel/stunnel.key

2、客户端安装与配置

1.1、客户端安装

同服务端

sudo apt install stunnel

1.2、客户端配置

;权限
setuid = stunnel4
setgid = stunnel4

;进程ID
pid = /var/run/stunnel.pid

;日志
debug = info
output = /var/log/stunnel.log

;运行模式,yes 为客户端,no 为服务端
client = yes

; 这里随便起个名字就行,起到方便部署就行,不一定非得是协议的标准写法
[https]
accept  = 127.0.0.1:2110
connect = server_ip:443

;verify 此选项最新版本已废弃,可通过verifyChain 和 verifyPeer 选项目来设置;verify = 3,Verify the peer against a locally installed certificate.
verify = 3
cert = server.crt
key = server.key
CApath = .

三、验证

1、启动服务端和客户端

sudo stunnel

或者

sudo service stunnel4 start

2、发送 TCP 消息

通过 telnet 命令测试

telnet 127.0.0.1 2110

或者通过启动已有客户端程序

3、查看 Stunnel 客户端和服务端日志

如果有错误会有明显的错误日志

如:

SSL_connect: 14090086: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed

标签:TLS,stunnel4,stunnel,server,SSL,Stunnel,服务端,客户端
来源: https://blog.csdn.net/czhxinyu/article/details/118943785