web-dev-qa-db-ja.com

MicrosoftExchangeをスマートホストとして使用するようにexim4を構成します

私の会社は最近、送信メールを統合するためにActiveDirectory駆動のMicrosoftExchange環境をセットアップしました。送信メールのスマートホストとしてMSEXCHGを使用する必要があるステージングサーバーのセットがあります。

これらのサーバーはDMZにあります。そのため、 Exchange 2010スマートホストへの認証? で賛成されたソリューションは、DMZでサーバーを許可できないため、代替手段ではありません。 = Exchangeサーバーを介してメールを送信するだけです。

MSEXCHGで行ったこと:

exim4 (8)で行ったこと:

  • update-exim4.conf (8)(c.f。exim4_files (5))を使用して、_exchange.contoso.com:587_をスマートホストとして使用するようにeximを構成しました。
  • Passwd.client(exim4_files (5))に次の行を追加しました:_exchange.contoso.com:[email protected]:secret123_)

上記の設定でeximを開始した後、mainlogに次の2つのTLSエラーが表示されます。

  • TLS error on connection to ex.contoso.com [192.168.1.8] (recv): A TLS packet with unexpected length was received.
  • TLS error on connection to ex.contoso.com [192.168.1.8] (send): The specified session has been invalidated for some reason.

その後、MSEXCHGはメールの送信を拒否し、次の(最終的な)ログエントリが表示されます。

_** [email protected] R=smarthost T=remote_smtp_smarthost: SMTP error from remote mail server after MAIL FROM:<[email protected]> SIZE=1538: Host ex.contoso.com [192.168.1.8]: 530 5.7.1 Client was not authenticated_

私が試したさらなること:

それで、義務的な質問:どうすればeximにMSEXCHG環境をスマートホストとして使用させることができますか?

5

私たちの問題は、私たちのセットアップにかなり固有のものでした。 APとして機能するロードバランサーと並行して実行されている複数のExchange Serverがあります。 LBが不適切に構成されていたため、NTLMハンドシェイクが成功した後でも、認証メソッドバーGSSAPIおよびSTARTTLSの提供を怠っていました。

swaksによる詳細なテスト jetmore.org (このツールを強く推奨できます)により、これが明らかになりました。

1

組織は内部サーバー用に独自の認証局を運営していますか?おそらく、ExchangeサーバーのCA証明書をEximの証明書トラストストアに追加する必要がありますか?多くの製品がこのエラーをあまり報告していません(Eximが報告するかどうかはわかりません)。

Wireshark(最初にtcpdump -p -s0 -w /tmp/foo.pcapを使用してサーバーでキャプチャし、次にWiresharkを使用してローカルワークステーションにコピーする)は、Exchangeから送信されたサーバー証明書を表示できる必要があります。その後、クライアントが電話を切ると、不足しているCA証明書は一般的な原因。

1
Cameron Kerr