根据 PCI-DSS,我们必须禁用纯文本身份验证。我们通过在端口 465 上使用 TLS 封装邮件服务器和客户端之间的通信来实现此目的。
问题在于,端口 25 必须保持开放且未加密,我们才能从互联网接收电子邮件,但不应允许身份验证。
我尝试禁用 AUTH 命令,但这也会破坏端口 465 上的身份验证。
是否有邮件服务器或代理允许对端口 25 和 465 进行单独配置,以便只能通过安全通道进行身份验证?
还值得注意的是:我们在 FIPS 模式下使用带有 stunnel 的 MailEnable。
更新:
MailEnable 提供了一个修补的 SMTP 可执行文件,允许我通过 Windows 注册表配置是否在每个监听端口上提供授权。这解决了我的问题 — 希望他们会将补丁作为修补程序发布。
答案1
是的,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
如下:
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
smtp inet n - n - - smtpd
submission inet n - n - - smtpd
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
smtps inet n - n - - smtpd
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
main.cf 中有一行如下:
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
在这种情况下,仅对提交(587)和 SMTPS(465)端口启用身份验证。
答案2
看来 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
答案3
您还可以执行以下操作,仅使用 exim4 在某些端口上宣传 tls。
tls_advertise_hosts = 192.168.40.5:${if eq {$interface_port}{587} {*}{}}
因此,只有从 192.168.40.5 连接的客户端和通过端口 587 连接的客户端才会获得 tls。只要您的身份验证设置为在通告之前需要 tls,那么只有使用端口 587 和 TLS 的客户端才能使用身份验证。
答案4
Exim 允许您设置:
server_advertise_condition = ${if def:tls_cipher}
在身份验证驱动程序上,因此它仅在 TLS 中宣传/可用。
Exim 经常用作 MS 邮件服务器和开放互联网之间的前端网关;LDAP 集成让您可以查询 AD 以进行地址验证、身份验证等;可以很好地集成到各种恶意软件检测器中,等等。