要求在連接埠 25 上進行 SASL 驗證會拒絕我所有傳入的電子郵件

要求在連接埠 25 上進行 SASL 驗證會拒絕我所有傳入的電子郵件

我正在使用裡面的這段程式碼/etc/postfix/master.cf來迫使人們安全地“提交”465透過使用協定 SMTPS 的連接埠傳送電子郵件。 SMTPS 支援強制 TLS,我用它來要求客戶第一“加密”使用強制 TLS 和第二個連接“認證”使用SASL機制。

smtps     inet  n       -       y       -       -       smtpd
  -o syslog_name=postfix/smtps
#
  -o smtpd_use_tls=yes
  -o smtpd_tls_wrappermode=yes
  -o smtpd_tls_mandatory_protocols=!SSLv2,!SSLv3,!TLSv1,!TLSv1.1
  -o smtpd_tls_cert_file=/etc/ssl/certs/server-rsa.cert
  -o smtpd_tls_key_file=/etc/ssl/private/server-rsa.key
  -o smtpd_tls_eccert_file=/etc/ssl/certs/server-ecdsa.cert
  -o smtpd_tls_eckey_file=/etc/ssl/private/server-ecdsa.key
#
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_sasl_type=dovecot
  -o smtpd_sasl_path=smtpd
  -o smtpd_sasl_security_options=noanonymous
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#

這按預期工作。它實際上效果很好!


我想以同樣的方式保護端口25,但看起來這是不可能的,因為這個端口有兩個入境功能即“提交”“中繼接收” (延長這個連接埠的壽命是愚蠢的,我們應該盡快擺脫)

連接埠上25只有協定 SMTP,不支援強制 TLS!因此對於入境電子郵件,即“提交”和“中繼接收”,所有可以啟用的都是機會性 TLS(可以被駭客攻擊)。所以我所能啟用的只是一個壞的“加密”稍後可以使用 DANE 進行增強(不容易被駭客攻擊)

所以對於港口25我有希望“加密”在某些時候就足夠了,雖然我不明白如何設定 SASL“驗證”

我嘗試使用這段程式碼,/etc/postfix/master.cf其中程式碼的第一部分設定機會 TLS,程式碼的第二部分應該設定 SASL“驗證”

smtp      inet  n       -       y       -       -       smtpd
  -o syslog_name=postfix/smtp
#
  -o smtpd_use_tls=yes
  -o smtpd_tls_security_level=may
  -o smtpd_tls_protocols=!SSLv2,!SSLv3,!TLSv1,!TLSv1.1
  -o smtpd_tls_cert_file=/etc/ssl/certs/server-rsa.cert
  -o smtpd_tls_key_file=/etc/ssl/private/server-rsa.key
  -o smtpd_tls_eccert_file=/etc/ssl/certs/server-ecdsa.cert
  -o smtpd_tls_eckey_file=/etc/ssl/private/server-ecdsa.key
#
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_sasl_type=dovecot
  -o smtpd_sasl_path=smtpd
  -o smtpd_sasl_security_options=noanonymous
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
  -o smtpd_relay_restrictions=permit_mynetworks,permit_sasl_authenticated,defer_unauth_destination
#

不幸的是,我發現了這一行:

  -o smtpd_client_restrictions=permit_sasl_authenticated,reject

一方面迫使想要的客戶“提交”透過連接埠發送電子郵件25"authenticate"另一方面拒絕所有來自其他 MTA 的「已收到中繼」電子郵件!

那我怎麼才能實現這兩個目標:

  • 阻止任何人透過網路“提交”使用25我伺服器上的連接埠發送電子郵件。
  • “中繼接收”所有從其他 MTA 發送到我的連接埠的電子郵件25

相關內容