在端口 25 上禁用 SMTP AUTH

mos*_*ker 7 smtp pci-dss tls

由于 PCI-DSS,我们需要禁用明文身份验证。我们通过在端口 465 上使用 TLS 封装邮件服务器和客户端之间的通信来实现这一点。

问题在于端口 25 必须保持打开和未加密状态才能从 Internet 接收电子邮件,但不应允许进行身份验证。

我尝试禁用 AUTH 命令,但这也会破坏端口 465 上的身份验证。

是否有邮件服务器或代理允许对端口 25 和 465 进行单独配置,以便仅通过安全通道进行身份验证?

同样值得注意的是:我们在 FIPS 模式下使用 MailEnable 和 stunnel。

更新:

MailEnable 提供了一个修补的 SMTP 可执行文件,它允许我通过 Windows 的注册表配置是否在每个侦听端口上提供授权。这解决了我的问题——希望他们将补丁发布为修补程序。

cjc*_*cjc 7

是的,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) 端口启用身份验证。