web-dev-qa-db-ja.com

Exchangeで受信者の確認を有効にするにはどうすればよいですか?

私の問題は基本的にこれに要約されます。Exchange(2016)は、存在しないアドレスのメールを受け入れ、後で送信者に失敗を通知するためにDSN(配信ステータス通知)を送信します。代わりに、550応答で存在しないアドレスに送信されたメールをすぐに拒否したいと思います。

より多くの背景

私のセットアップはおおよそ次のようになります。

                                                 +-----+
                  Datacenter          Office     |User1|
+----------+      +---------+      +----------+  +-----+  +-----+
| Internet | <--> | Postfix | <--> | Exchange |           |UserN|
+----------+      +---------+      +----------+  +-----+  +-----+
                                                 |User2|
                                                 +-----+

着信メールは最初に私のPostfixサーバーに届きます。Postfixサーバーはウイルススキャン、スパムフィルタリング、検疫を行います。その後、オフィスのExchangeサーバーに転送されます。

Postfixは、Exchangeサーバーに対して受信者の検証を行うように構成されています。これには、サーバーへの接続と、RCPT TOコマンドまでの部分的なSMTPトランザクションの実行が含まれます。サーバーがコード250で応答した場合、受信者は有効であると見なされます。

問題は、Exchangeが常に250で応答していることです...明らかに、RCPT TOコマンドを受信して​​も検証を試みません。

Exchangeでスパム対策機能と受信者の検証を有効にするためのtechnetの指示に従いましたが、ExchangeのSMTPサーバーの動作が以前とまったく同じであるため、何が行われたのかわかりません。

これを機能させるためにExchangeサーバーで実行したコマンドは次のとおりです。

& $env:ExchangeInstallPath\Scripts\Install-AntiSpamAgents.ps1
Restart-Service MSExchangeTransport

Set-RecipientFilterConfig -Enabled $true
Set-RecipientFilterConfig -RecipientValidationEnabled $true

Exchangeの受信者検証は、RCPT TOを受信するとすぐに検証を実行するように想定されていますか? (そうでない場合、それは正確に何をしますか?)

3
Chris L

この質問 は似ており、受け入れられた答えは私のために働いた。

RCPT TOコマンドの直後に受信者の検証を行うには、(フロントエンドトランスポートではなく)ハブトランスポートに接続する必要があります。ポート2525にバインドされている既存のハブトランスポートを編集し、[匿名ユーザー]が接続できるようにチェックボックスをオンにしました(既知のサーバーのみがアクセスできるように、他の方法でこれをロックしてください)。

次に、このExchangeサーバーと通信するときにポート2525を使用するように、ゲートウェイ(postfix)サーバーの設定を変更しました。この時点で、受信者の検証は意図したとおりに機能し始めました。

1
Chris L

SMTP通信で失敗を試みる代わりに、LDAPルックアップに切り替えます。はるかに信頼性があります。

0
Sembee