PCI-DSSのため、プレーンテキスト認証を無効にする必要があります。これは、ポート465でTLSを使用してメールサーバーとクライアント間の通信をカプセル化することで実現しました。
問題は、インターネットからメールを受信するためにポート25を開いたままにし、暗号化しないでおく必要がありますが、認証を許可しないことです。
AUTHコマンドを無効にしてみましたが、ポート465の認証も無効になります。
認証が安全なチャネルでのみ利用できるように、ポート25と465を個別に設定できるメールサーバーまたはプロキシはありますか?
また注目に値するのは、FIPSモードのstunnelでMailEnableを使用していることです。
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
(これらの2つのページは、かなり広範囲にわたる公式の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)ポートに対してのみ有効になります。
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をアドバタイズするために次のことを行うことができます。
tls_advertise_hosts = 192.168.40.5:${if eq {$interface_port}{587} {*}{}}
したがって、192.168.40.5から接続しているクライアントとポート587を介して接続しているクライアントにのみtlsが提供されます。アドバタイズする前にtlsを要求するように認証設定がセットアップされている限り、TLSでポート587を使用するクライアントのみが認証を使用できます。
Eximでは、次の設定を行うことができます。
server_advertise_condition = ${if def:tls_cipher}
認証ドライバー上で、TLS内でのみアドバタイズ/利用可能です。
Eximは、MSメールサーバーとオープンインターネット間のフロントエンドゲートウェイとして非常に頻繁に使用されます。 LDAP統合により、アドレスの検証、認証などのためにADにクエリを実行できます。さまざまなマルウェア検出器への適切な統合など.