Postfixでメールを送信する場合、受信者のIPとユーザー名を受信ヘッダーで非表示にするにはどうすればよいですか?


13

メールを送信するときに、Postfixは認証されたユーザーのIPとユーザー名をメールのReceivedヘッダーに挿入します。これは、メールサーバーから送信された特定のメールの送信者を追跡するのに役立ちますが、プライバシーにも影響します。アカウントが危険にさらされてスパムゾンビにならないようにすべてのユーザーを信頼できる小規模な状況では、すべてのユーザーにIPアドレスとアカウント名をブロードキャストしないようにします。つまり、これを送信しないようにPostfixを設定するにはどうすればよいですか。

受信:[xxxx](pc1.example.com [xxxx])から(TLSv1と暗号DHE-RSA-AES256-SHA(256/256ビット)を使用)(クライアント証明書は要求されません)(認証された送信者:ユーザー)メールで。 example.com(Postfix)とESMTPSA ID CC77010C148 for; 2011年11月11日金曜日04:55:18 +0000(UTC)

回答:


20

標準的な解決策は、header_checksオプションを使用することです。これ機能しますが、着信と発信の両方ですべてのメールの受信行をフィルタリングすると(これにより)、送信れたメールのReceivedヘッダーが失われる可能性があります。これはトラブルシューティングに重要です。この問題を回避するために、我々は、適用されるheader_checksだけで、おそらくに送られた私たちにメールを送ってきたことができなかったメールに提出ポート(あなたがしている使用してサブミッションポートをあなたではありません?)。

この投稿でheader_checks、提出ポートにのみ適用する方法について説明します。私たちがしなければならないことは合格ですcleanup_service_nameのにオプションを提出我々は新しいクリーンアップサービス、設定することができるようサービス「subcleanupを。」の関連セクションは次の/etc/postfix/master.cfようになります。

submission inet n       -       -       -       -       smtpd
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
  -o milter_macro_daemon_name=ORIGINATING
  -o cleanup_service_name=subcleanup

これで、header_checksオプションを新しいクリーンアップサービスに渡すことができます。のその部分は次の/etc/postfix/master.cfようになります。

cleanup   unix  n       -       -       -       0       cleanup
subcleanup unix n       -       -       -       0       cleanup
  -o header_checks=regexp:/etc/postfix/submission_header_checks

最後に、/etc/postfix/submission_header_checks問題のあるReceivedヘッダー行をフィルタリングする正規表現を含むファイルを作成する必要があります。ファイルに入れる正規表現は、smtpd_sasl_authenticated_header設定したかどうかによって異なります。

場合smtpd_sasl_authenticated_headeryesは、使用します。

/^Received:.*\(Authenticated sender:/ IGNORE

それ以外の場合は、次を使用します。

/^Received:.*\(Postfix/ IGNORE

(2番目のケースの処理方法を示してくれたDominic PとBryan Dreweryに感謝します。)


電話する必要がありますpostmap submission_header_checksか?
Mitar、2014年

@Mitarの手がかりはありませんが、そうだとわかった場合は、自由に回答を編集してください。これらは10.04の古い説明ですが、14.04がリリースされたときに更新する予定です。
Michael Kropat 14年

それはなしで働いたようです。:-)
Mitar 2014年

1
+1、非常に役立つ回答をありがとう。それは数年後です、そして私はマイナーな微調整をしなければなりませんでした。Postfix 2.9.6を実行しています。正規表現を次のように変更しました/^Received:.*\(Postfix/ IGNORE。ヘッダーに「認証された送信者」の部分がなかったためです。私の新しい正規表現に関連するリスクはありますか?
ドミニクP

1
この回答は、smtpd_sasl_authenticated_header = yesが設定されていることを前提としています。それがなければ、ドミニクによって修正された正規表現が必要です。
ブライアン醸造所、

-1

使用できます

smtpd_sasl_authenticated_header = no

中には、postfix/main.cfあなたの送信メールのヘッダー情報を除去します。


なぜこの回答は@Michaelよりはるかに簡単なのですか?これは、送信ポートを介して受信したメールからだけでなく、すべてのヘッダーからIPを削除しますか?
knocte

2
とにかく、@ knocte smtpd_sasl_authenticated_headerはデフォルトで "no"に設定されています。有効にすると、PostfixはSASL認証に使用されたユーザー名を最初の「Received」ヘッダーに追加します。これが、質問に示されている「Authenticated sender:user」の部分を追加するものです。@Michaelの回答では、ユーザー部分だけでなく、クライアントのIPを含む「Received」ヘッダー全体が削除されます。
n.st 2016年

@ n.st:Markusの回答ではIPが削除されないため、この質問はないのですか?
knocte 2016年

@knocteその通りです。
n.st 2016年

1
反対投票するには125以上が必要です。私はそれをテストしました、そしてそれはIPではなくユーザー名だけを削除します。
ジョン、
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.