使用 stunnel 加密

使用 stunnel 加密

我在 CentOS 服务器上运行 OTRS,MySQL DB 也在 CentOS 上的远程服务器上运行。OTRS 不支持与 MySQL 的加密连接,因此连接未加密。我想使用 stunnel 加密连接,但我无法配置它。MySQL 使用默认端口 3306。

OTRS = 10.0.0.4 MySQL = 10.0.0.3

#Sample stunnel configuration on OTRS Server

#Provide the full path to your certificate-key pair file

cert = /etc/pki/tls/certs/stunnel.pem

#lock the process into a chroot jail

chroot = /var/run/stunnel

# and create the PID file in this jail

pid = /stunnel.pid

#change the UID and GID of the process for security reasons
setuid = nobody
setgid = nobody

#enable client mode
client = yes


socket = l:TCP_NODELAY=1
#socket = r:TCP:NODELAY=1

[mysqls]
accept = 0.0.0.0:3306
connect = 10.0.0.3:3307

数据库服务器上的配置文件:

#Sample configuration file for MySQL

#Provide the full path to your certificate-key pair file
cert = /etc/pki/tls/certs/stunnel.pem

#Allow only TLS, thus avoiding SSL
sslVersion = TLSv1

#lock the process into a chroot jail
chroot = /var/run/stunnel

#change the UID and GID of the process for security reasons
setuid = nobody
setgid = nobody

pid = /stunnel.pid
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1

#Configure our secured MySQL Server
[mysqls]

accept = 3307
connect = 3306

我猜 OTRS 服务器上的 stunnel 配置文件中的部分是错误的。有什么想法吗?

接受 = 0.0.0.0:3306

答案1

好的,我明白了。

我已将 Config.pm 文件中的数据库主机值从数据库服务器的真实 IPv4 地址更改为 127.0.0.1:

在此处输入图片描述

然后我在 OTRS 框上配置了 stunnel.conf 来监听 127.0.0.1:3306(OTRS 默认连接到标准 MySQL 端口)并连接到数据库主机的真实 IPv$ 地址但在端口 3307 上:

在此处输入图片描述

在数据库服务器上,stunnel.conf 如下所示:

在此处输入图片描述

在数据库服务器上运行 tcpdump 并在 Wireshark 中分析 .pcap,它表明连接已加密并且 OTRS 仍然有效:

在此处输入图片描述

我还不知道 stunnel.conf 文件是否构建得很好,但例如,我读到过 chroot 不应该再使用了,但会对其进行更深入的研究。

相关内容