客户端模式下的 stunnel 作为 sendmail 的代理

客户端模式下的 stunnel 作为 sendmail 的代理

我正在配置一个内部邮件网络,该网络应该使用 SSL 进行所有传输,并且我希望所有加密都由 stunnel 完成。到目前为止,我的 pop3s、imaps 和 sendmail 都处于服务器模式,并且都使用 stunnel 提供的 SSL 加密。是否可以使用 stunnel 用 SSL 加密包装传出连接?

我如此 - 我该怎么做呢,我很难找到一个合适的教程......

正如我在另一个问题中所说的那样 - 我是一个嵌入式平台的开发人员 - 我通常不会配置像 sendmail 这样奇怪的东西......

答案1

您的解释非常出色且清晰。如果 sendmail 配置为提供 TLS,则它本身具有 TLS 功能,并且在连接到提供 TLS 的另一个 MTA 时,将自动协商安全连接。有一篇关于此内容的好文章,网址为http://www.brandonhutchinson.com/Using_TLS_with_Sendmail.html

我自己的 m4 文件显示:

dnl TLS support
define(`confCACERT_PATH', `/etc/pki/tls/certs')dnl
define(`confCACERT', `/etc/pki/tls/certs/ca-bundle.crt')dnl
define(`confSERVER_CERT', `/etc/pki/tls/certs/sendmail.pem')dnl
define(`confSERVER_KEY', `/etc/pki/tls/certs/sendmail.pem')dnl

除此之外,还有一个自签名证书,这就是我使服务器支持 TLS 所需的全部内容。您可以通过与 MTA 对话并执行 EHLO 来测试该功能:

[madhatta@risby tmp]$ telnet www.teaparty.net 25
Trying 193.219.118.100...
Connected to www.teaparty.net.
Escape character is '^]'.
220 : ESMTP banner removed
EHLO me
250-www.teaparty.net Hello (source address deleted), pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE 14000000
250-ETRN
250-STARTTLS
250-DELIVERBY
250 HELP

请注意250-STARTTLS。一旦您的所有邮箱都提供此功能,它们就应该自动加密所有服务器间的 SMTP 连接。如果您想更进一步,可以创建自己的 CA 根证书并将其安装在所有服务器上,然后使用它来签署每台服务器的证书,这样服务器就可以在协商 TLS 时验证彼此的身份,这将增加内部安全性。创建和使用您自己的 CA 超出了本答案的范围!

相关内容