如何配置stunnel以进行SSL连接,然后再连接到其他服务器上的SSL端口?
这是我的设置:
我们的ISP服务器“邮件服务器”支持SSL上的smtp / imap. (不是开始.只是在ssl.)
但是,我有一堆客户机只能信任特定的内部根证书.因此,他们无法连接到“邮件服务器”.
对于这些客户端计算机,我想创建一个专用的“邮件隧道”主机,它使用stunnel监听内部签名的SSL证书,并使用第二个SSL连接将数据转发到“邮件服务器”.
可以这样做吗?
Ubuntu Server 10.10的具体步骤是什么? (我对持久性服务配置不太熟悉.)
谢谢
我不熟悉10.10的细节,但我会假设它与Debian非常接近.
原文链接:https://www.f2er.com/ubuntu/348005.html你可以做的一件事,基本上是设置来分离stunnel配置.接受SSL,并将其转发到本地端口,另一个侦听该本地端口,然后与外部主机建立SSL连接.这两个只能绑定到环回接口,因此未加密的数据不会通过网络.请记住,您基本上是在对自己进行MITM攻击.当我帮助诊断一个人正在开发的Web服务时,我使用了这样的设置.
Debian / Ubuntu中的stunnel打包版本应该可以轻松实现.启动脚本基本上会为/ etc / stunnel4中的每个配置文件(* .conf)启动一个stunnel实例.因此,您可以将两个单独的配置放在/ etc / stunnel4中,生成密钥,重新启动stunnel,它应该可以工作.
所以这是第一个接受SSL的配置
; /etc/stunnel/ssl_in.conf ; Certificate/key is needed in server mode and optional in client mode cert = /etc/stunnel/srv1.keys ; Some security enhancements for UNIX systems - comment them out on Win32 chroot = /var/lib/stunnel4/ setuid = stunnel4 setgid = stunnel4 ; PID is created inside chroot jail pid = /srv1.pid debug = 4 output = /var/log/stunnel4/ssl_in.log ; Some performance tunings socket = l:TCP_NODELAY=1 socket = r:TCP_NODELAY=1 [ssl_in_imap] accept = 993 connect = localhost:10993 [ssl_in_smtp] accept = 587 connect = localhost:10587
您创建传出连接的第二个实例.
; /etc/stunnel/ssl_out.conf ; Some security enhancements for UNIX systems - comment them out on Win32 chroot = /var/lib/stunnel4/ setuid = stunnel4 setgid = stunnel4 ; PID is created inside chroot jail pid = /clt1.pid ; Some performance tunings socket = l:TCP_NODELAY=1 socket = r:TCP_NODELAY=1 client=yes CAfile = clt1.ca verify = 0 [ssl_out_imap] accept = 10993 connect = remote_server:993 [ssl_out_smtp] accept = 10587 connect = remote_server:10587
生成服务器的filename.keys.
# Create a new key and preparte a CSR openssl req -new -keyout filename.pem -out filename.csr # Remove the passphrase from the key openssl rsa -in filename.pem -out filename.key # Self sign openssl x509 -in filename.csr -out filename.cert -req -signkey filename.key -days 720 # combine files to get the keys file stunnel needs. cat filename.key filename.cert > filename.keys
您的文件将如下所示.
-----BEGIN RSA PRIVATE KEY----- MIICXAIBAAKBgQDkwzyKrPRXGyvEgITm/7oC9fDU4Y7L9mtMXmcIR98cp0g1ndcz ... qhP3y97k67EVdSC+92pIGrAL7kBWckpJ2HP1El4KeZg= -----END RSA PRIVATE KEY----- -----BEGIN CERTIFICATE----- MIICHzCCAYgCCQDq/33qh7Dq5TANBgkqhkiG9w0BAQUFADBUMQswCQYDVQQGEwJV ... ebbhvhYLx1KkhD8/dXEbU0+kNg== -----END CERTIFICATE-----