Postfixのみを使用して受信メールの添付ファイルをブロックする方法は?


9

PostfixとDovecotを実行しているメールサーバー(CentOS 6.5)があります。

Postfixはポート25で受信メールをリッスンし、587を送信メールでリッスンしています

問題は、PDF添付ファイル付きのアウトバウンドメールがブロックされ、PDF添付ファイル付きのインバウンドメールのみがブロックされることです。

main.cfにこの構成行があります

 mime_header_checks = regexp:/etc/postfix/blocked_attachments

blocked_attachmentsファイルには以下が含まれます。

/name=[^>]*\.(pdf|zip)/ REJECT

したがって、PDFが添付された受信メールは正しくブロックされますが、PDFを含むメールを作成すると、送信しようとしたときにもブロックされます。

受信した添付ファイルのみをフィルタリングするようにpostfixに指示するにはどうすればよいですか?または私は何かを見逃しましたか?

回答:


7

私はあなたの質問を書き直します:

smtpd(ポート25)と送信(ポート587)に異なる_header_checksを使用するにはどうすればよいですか?

この標準的な問題は、いくつかの条件で分割できます

  1. smtpdまたはsubmitのいずれかでheader_checksをオフにします。
  2. smtpdと送信で異なるheader_checksを実行したい。

1. smtpdまたはsubmitのいずれかでheader_checksをオフにします。

この例では、送信(送信メール)のheader_checksをオフにすることを想定しています

解決策1:receive_override_optionsメソッド

receive_override_optionsと呼ばれるpostfixパラメータを使用できます。このパラメーターを使用すると、グローバルheader_checkスイッチをオーバーライドできるため、フィルターは実行されません。#main.cf header_checks = pcre:/ path / to / header_checks

#master.cf
submission inet n       -       n       -       -       smtpd
    -o receive_override_options=no_header_body_checks

警告:これにより、man 5 header_checksで定義されているすべての_header_checksおよびbody_checksがオフになります。オフにするパラメーターの完全な制御については、ソリューション2を参照してください。

解決策2:複数のクリーンアップサービスメソッド

私たちのことができ、複数のクリーンアップ・サービスの技術として、あなたの問題のために*_header_checksすることによって行ったクリーンアップサービス。この設定の例は、amavisd-new tutorialで確認できます。

この構成の魔法のパラメータはcleanup_service_nameです。このパラメーターを使用すると、smtpdプロセスごとに異なるクリーンアップサービスを使用できます。まず、master.cfに追加のクリーンアップサービス(no-headerchecksと呼ばれる)を定義します

no-headerchecks unix    n       -       n       -       0       cleanup
    -o mime_header_checks=

このクリーンアップでは、空のmime_header_checksを定義してフィルタリングを無効にします。最後のステップは、提出サービスにヘッダーなしチェックを使用するように伝えることです

submission inet n       -       n       -       -       smtpd
    -o cleanup_service_name=no-headerchecks 

2. smtpdと送信で異なるheader_checksを実行したい。

この問題については、上記の複数のクリーンアップサービスメソッドを使用できます。

まず、master.cfに追加のクリーンアップサービス(second-headerchecksと呼ばれる)を1つ定義します

second-headerchecks unix    n       -       n       -       0       cleanup
    -o mime_header_checks=pcre:/path/to/2ndheaderchecks

このクリーンアップでは、2番目のmime_header_checksを他のPCREテーブルに定義します。最後のステップは、提出サービスに2番目のヘッダーチェックを使用するように伝えることです。

submission inet n       -       n       -       -       smtpd
    -o cleanup_service_name=second-headerchecks

注意:

  • あなたのケースはこの質問と似ています。残念ながら、Laurentiu Roescuからの回答は、トランスポートとしてsmtpを使用する送信メールの header_checksを有効にする場合にのみ機能します。良い知らせは、cleanupデーモンに関する彼の最初の文が2番目の解決策についていくつかのアイデアを与えてくれることです。

  • で定義されたさまざまなheader_checks、body_checks、およびその他のパラメーターが必要な場合は、複数のクリーンアップサービスメソッドを適用できますman 5 header_checks

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.