由于 PCI-DSS,我们需要禁用明文身份验证。我们通过在端口 465 上使用 TLS 封装我们的邮件服务器和客户端之间的通信来实现这一点。
问题在于端口 25 必须保持打开且未加密,以便我们从 Internet 接收电子邮件,但不应允许身份验证。
我试过禁用 AUTH 命令,但这也破坏了端口 465 上的身份验证。
是否有邮件服务器或代理允许单独配置端口 25 和 465,以便仅通过安全通道进行身份验证?
还值得注意的是:我们在 FIPS 模式下使用 MailEnable 和 stunnel。
更新:
MailEnable 提供了一个修补过的 SMTP 可执行文件,它允许我通过 Windows 的注册表配置是否在每个侦听端口上提供授权。这解决了我的问题——希望他们能将补丁作为修补程序发布。
是的,postfix 完全可以做到这一点。
看一下 Postfix HOWTO:
http://postfix.state-of-mind.de/patrick.koetter/smtpauth/
特别是:
http://postfix.state-of-mind.de/patrick.koetter/smtpauth/smtp_auth_mailclients.html
(这两个页面链接自相当广泛的官方 Postfix 文档页面http://www.postfix.org/docs.html)
对于我的服务器,中的配置
master.cf
如下所示:而 main.cf 有这样一行:
在这种情况下,身份验证仅针对提交 (587) 和 SMTPS (465) 端口打开。
似乎 Postfix 的选项 smtpd_tls_auth_only = yes 正是您搜索的内容。它允许仅在激活 TLS 时使用 SMTP AUTH,这仅与您的配置的端口 25 相关。
http://www.postfix.org/SASL_README.html#id396969
http://www.postfix.org/postconf.5.html#smtpd_tls_auth_only
您还可以执行以下操作以仅使用 exim4 在某些端口上通告 tls。
因此,只有从 192.168.40.5 连接的客户端和通过端口 587 连接的客户端才会被提供 tls。只要您的身份验证设置设置为在广告之前需要 tls,只有使用端口 587 和 TLS 的客户端才能使用身份验证。
Exim 让您设置:
在身份验证驱动程序上,因此它仅在 TLS 中公布/可用。
Exim 经常用作 MS 邮件服务器和开放 Internet 之间的前端网关;LDAP 集成让您查询 AD 以进行地址验证、身份验证等;与各种恶意软件检测器等的良好集成