由于 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
如下:
# ==========================================================================
# 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
Run Code Online (Sandbox Code Playgroud)
而 main.cf 有这样一行:
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
Run Code Online (Sandbox Code Playgroud)
在这种情况下,仅对提交 (587) 和 SMTPS (465) 端口启用身份验证。
归档时间: |
|
查看次数: |
25827 次 |
最近记录: |