私の会社は最近、送信メールを統合するために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を構成しました。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
_
私が試したさらなること:
MAIN_TLS_ENABLE = 1
_を_exim4.conf.localmacros
_に入れます( http://blog.xig.ch/Exim-Smarthost-mit-Authentifizierung-%FCber-STARTTLS_127.html )それで、義務的な質問:どうすればeximにMSEXCHG環境をスマートホストとして使用させることができますか?
私たちの問題は、私たちのセットアップにかなり固有のものでした。 APとして機能するロードバランサーと並行して実行されている複数のExchange Serverがあります。 LBが不適切に構成されていたため、NTLM
ハンドシェイクが成功した後でも、認証メソッドバーGSSAPI
およびSTARTTLS
の提供を怠っていました。
swaks
による詳細なテスト jetmore.org (このツールを強く推奨できます)により、これが明らかになりました。
組織は内部サーバー用に独自の認証局を運営していますか?おそらく、ExchangeサーバーのCA証明書をEximの証明書トラストストアに追加する必要がありますか?多くの製品がこのエラーをあまり報告していません(Eximが報告するかどうかはわかりません)。
Wireshark(最初にtcpdump -p -s0 -w /tmp/foo.pcap
を使用してサーバーでキャプチャし、次にWiresharkを使用してローカルワークステーションにコピーする)は、Exchangeから送信されたサーバー証明書を表示できる必要があります。その後、クライアントが電話を切ると、不足しているCA証明書は一般的な原因。