pikesaku’s blog

個人的な勉強メモです。記載内容について一切の責任は持ちません。

Postfixのcontent_filterとsmtpd_milterの違いについて

MILTER_README(smtpd_milter)
Postfix before-queue Milterサポート

FILTER_README(content_filter)
Postfix キューに入った後のコンテンツフィルタ

違いは

 

  • キューに入る前に処理するか?

 MILTERは前、FILTERは後

 MILTERは使う。(2.3以降の新しい実装)

  • OpenDKIMはMILTERを利用。

 従来のアンチSPAMソフトはFILTER

  • MILTERの方が新しい(2.3以降)
  • MILTER README冒頭には以下記述があり

 

Postfix バージョン 2.3 では Sendmail バージョン 8 の Milter (mail filter) プロトコルのサポートを導入します。
このプロトコルはMTAの外側のアプリケーションでメールの内容だけでなくSMTPのイベント (接続、切断)、SMTP コマンド (HELO、MAIL FROM など) を検査するのに使われます。これはすべてメールがキューに入る前におこなわれます

Postfix に Milter サポートを追加した理由は、望まないメールをブロックするだけでなく、信憑性を検証したり (例: SenderID+SPF と Domain keys)、メールに電子署名したり (例: Domain keys) といった既存アプリケーションがたくさんあるためです。
そういったもろもろのソフトウェアごとにもうひとつ Postfix 固有のバージョンを持つのは人的およびシステムのリソースの無駄遣いです。

 
Milterはキューに入る前に処理するので、メール内容だけでなくSMTPイベント・コマンドの検査が可能
→FILTERより単純に多機能。ただし連携PRGが、MILTERプロトコルに対応する必要がある。
 
例) Dr.Web(SPAM/ウイルス対策)は、どちらも対応
Anti-virus Dr.Web for UNIX mail servers
 

結論

 
機能的にMILTER > FILTERであり、用途で使い分けるのでなく、MILTER対応してれば、MILTERを利用すべし