我在 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 不应该再使用了,但会对其进行更深入的研究。