sendmailはクライアントとして動作しているときにSTARTTLSを発行しません

sendmailはクライアントとして動作しているときにSTARTTLSを発行しません

メールが mimecast 経由でルーティングされるサーバーへのリレーで問題が発生しています。接続が拒否され、次のメッセージが表示されます:

553 This route requires encryption (TLS) - https://community.mimecast.com/docs/DOC-1369#553

このことから、証明書が設定され、サーバーとして動作しているときに STARTTLS をアドバタイズする sendmail が、適切なタイミングで STARTTLS を送信していない (またはまったく送信していない) のではないかと考えられます。これは、失敗した転送のトレースです。

>>220 zzz.mimecast.com ESMTP; Thu, 16 Jun 2022 11:55:55 +0200
>>> EHLO rigel-170.orion.it
250-zzz.mimecast.com Hello [212.115.64.170]
250-AUTH PLAIN LOGIN
250-STARTTLS
250 HELP
>>> MAIL From:<[email protected]>
250 Sender OK [R9SDNpJCMqeqqffSnRQQeg.de46]
>>> RCPT To:<[email protected]>
553 This route requires encryption (TLS) - https://community.mimecast.com/docs/DOC-1369#553 [R9SDNpJCMqeqqffSnRQQeg.de46]
>>> DATA
503 Illegal command sequence - https://community.mimecast.com/docs/DOC-1369#503 [R9SDNpJCMqeqqffSnRQQeg.de46]

同じサーバーが問題なく SMTP サーバーとして実行されていること (証明書側に問題がないことを示唆)、およびサブミッション メーラーが定期的に STARTTLS を送信していること (ログに STARTTLS=client が表示されている) を付け加えておきます。ただし、=client はそこに表示されておらず、これは sendmail が他のサーバーへのクライアントとして動作しているときに実際には STARTTLS を送信していないことを示唆しています。

SRV_Features、Try_TLS、TLS_Clt、TLS_Srv、TLS_Rcpt の組み合わせをいくつか試しましたが、効果はありませんでした。これまでのところ、アクセス マップに残っている TLS ディレクティブは次の 1 つです。

Try_TLS: Yes

sendmail.mcでクライアント証明書も設定しました

次に何を試したらいいのか全く分かりません。

編集

私は次のことを知りました(問題をさらに複雑にしました)。

私は(ブラックリストの問題のため)デフォルトのものとは異なるホスト名/アドレスを設定しました(アドレスとホスト名の両方が DNS に適切に登録されています)。次の行で設定しました。

CLIENT_OPTIONS(`M=S,Addr=a.b.c.d')dnl
define(`confDOMAIN_NAME', `fubar.it')dnl

これらの 2 行がコメント化されている場合、starttls は期待どおりに発行されます (SMTP セッションをトレースするとわかります)。これは意味がないようです。

編集2: コメントによると、犯人はM=SCLIENT_OPTIONS 行のビットです (これはかなり昔にどこかからコピーしたものです)。'S' は 'STARTTLS をオフにする' という意味で、これを変更すればM=s問題は解決します。参考までに、sm 14.4 時点でのデーモン/クライアント オプションのフラグの意味は次のとおりです。

 ON  OFF     Meaning
 a   A       Offer the AUTH SMTP extension
 b   B       Offer use of the SMTP VERB command
 d   D       Offer the DSN SMTP extension
 e   E       Offer the ETRN SMTP extension
 l   L       Require the client to authenticate with AUTH
 p   P       Offer the PIPELINING SMTP extension
 s   S       Offer the STARTTLS SMTP extension
 v   V       Verify a client certificate
 x   X       Offer use of the SMTP EXPN ...

よろしくお願いします、

答え1

私の理解では、Sフラグを設定するとサポートCLIENT_OPTIONSが無効になりますSTARTTLS

CLIENT_OPTIONS(`M=S,Addr=a.b.c.d')dnl

関連情報