DeamonPortOptions を使用して genericstable マスカレードによる DKIM 署名を修正する

DeamonPortOptions を使用して genericstable マスカレードによる DKIM 署名を修正する

私は debian サーバーから sendmail を使ってメールを送信しています。genericstable によるマスカレードを使用して、複数のドメインでメールを送信できるようにしたいと考えています。メールに OpenDKIM で署名していますが、マスカレードが行われる前に OpenDKIM がメールに署名するため、キーが一致しません。

OpenDKIMはこの問題に対処していますREADMEページ

Milter プロトコルが MTA に組み込まれている方法により、opendkim は、これら 2 つの機能で必要な変更が行われる前にヘッダーを確認します。つまり、DKIM 署名は、MTA によって実際に送信されるヘッダーではなく、メール クライアントによって最初に挿入されたヘッダーに基づいて生成されます。その結果、署名されたデータと受信データが一致しないため、受信側の検証エージェントは署名を検証できなくなります。

この問題に対する提案された解決策は次のとおりです。

(1)必要に応じてヘッダーをすでに書き込んだ状態でメールを送信し、これらの機能の必要性を排除する(または単にオフにする)。

(2) 別々のボックスまたは同じボックスに 2 つの MTA を設定します。最初の MTA はすべての書き換え (つまり、これら 2 つの機能を使用) を実行し、2 番目の MTA は opendkim を使用して署名を追加し、書き換えは一切行いません。

(3) 設定ファイルに複数の DaemonPortOptions 行を設定します。最初のデーモン ポート (ポート 25) はヘッダーの書き換えを行い、メッセージを 2 番目のポートにルーティングします。2 番目のポートは書き換えは行いませんが、署名を行い、メッセージを送信します。

問題を解決するために 3 番目の解決策を使用したいのですが、どのように開始すればよいかわかりません。何らかの理由で、最初の解決策は使用したくないのです。

私のsendmail.mcファイルの現在のDeamonPortOptionsは

DAEMON_OPTIONS(`Family=inet,  Name=MTA-v4, Port=smtp')dnl
DAEMON_OPTIONS(`Family=inet,  Name=MSP-v4, Port=submission, M=Ea')dnl

README で提案されているように、sendmail で 1 つのポートをマスカレード用、もう 1 つのポートを DKIM の追加と送信用に使用するように設定することは可能ですか?

ご協力いただければ幸いです。

答え1

submit.mc/構成にマスカレード機能と設定を追加することで、この問題を解決できましたsubmit.cf。これにより、ローカル メール プログラム (MSP) は、MTA によって DKIM milter に送信される前に From: ヘッダーを変更します。

私は同じものMASQUERADE_ASMASQUERADE_DOMAIN線を使いましたsendmail.mc

関連情報