web-dev-qa-db-ja.com

ポート25でSMTP AUTHを無効にする

PCI-DSSのため、プレーンテキスト認証を無効にする必要があります。これは、ポート465でTLSを使用してメールサーバーとクライアント間の通信をカプセル化することで実現しました。

問題は、インターネットからメールを受信するためにポート25を開いたままにし、暗号化しないでおく必要がありますが、認証を許可しないことです。

AUTHコマンドを無効にしてみましたが、ポート465の認証も無効になります。

認証が安全なチャネルでのみ利用できるように、ポート25と465を個別に設定できるメールサーバーまたはプロキシはありますか?

また注目に値するのは、FIPSモードのstunnelでMailEnableを使用していることです。

更新:

MailEnableは、パッチが適用されたSMTP実行可能ファイルを提供しました。これにより、Windowsのレジストリを介して、各リスニングポートで認証を提供するかどうかを構成できます。これで私の問題は解決しました。うまくいけば、彼らはパッチをホットフィックスとして公開します。

7
mossymaker

はい、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)ポートに対してのみ有効になります。

7
cjc

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

2
Seb35

また、exim4を使用して特定のポートでのみtlsをアドバタイズするために次のことを行うことができます。

tls_advertise_hosts = 192.168.40.5:${if eq {$interface_port}{587} {*}{}}

したがって、192.168.40.5から接続しているクライアントとポート587を介して接続しているクライアントにのみtlsが提供されます。アドバタイズする前にtlsを要求するように認証設定がセットアップされている限り、TLSでポート587を使用するクライアントのみが認証を使用できます。

1
Josh Stompro

Eximでは、次の設定を行うことができます。

server_advertise_condition = ${if def:tls_cipher}

認証ドライバー上で、TLS内でのみアドバタイズ/利用可能です。

Eximは、MSメールサーバーとオープンインターネット間のフロントエンドゲートウェイとして非常に頻繁に使用されます。 LDAP統合により、アドレスの検証、認証などのためにADにクエリを実行できます。さまざまなマルウェア検出器への適切な統合など.

0
Phil P