headersfilterプラグインのセットアップ

プラグインの動作に関する主要なパラメータは全て%etc_dir/plugin_headersfilter.conf設定ファイル内で設定します。設定ファイルの構造やパラメータの種別についての説明は設定ファイルを参照してください。パラメータは設定ファイル内での順番のとおりに説明します。

[Headersfilter]セクションではheadersfilterプラグインの一般設定が定義されています。

フィルタリングのパラメータは下記に記載するルールによって定義されます。ルールは記述されている順番に評価され(リスト内で最初に設定されたルールが最初に評価されます)、適切なルールが見つかり、そのルールに設定されたアクションをプラグインが実行するまで続けられます。

Reject*ルールがメッセージに適用された場合、そのメッセージに対する処理はそれ以上行われません。Accept*ルールがメッセージに適用された場合、その他のルールは無視され、メッセージはDr.Web MailDの他のプラグインによって処理されます。

[headersfilter] セクション

ScanEncodedHeaders = {Yes | No}

ヘッダの値をデコード前に検査する指定です。例えば、このパラメータの値がYesでコンディションがRejectCondition Subject = "iso-8859-5"の場合、Subjectフィールドがiso-8859-5によってエンコードされたメッセージをフィルタリングすることが出来ます。Yesを指定すると、エンコードされたヘッダはデコードの前後で計2回検査されます。

デフォルト値:

ScanEncodedHeaders = Yes

RejectCondition = {set of conditions}

メッセージ拒否ルールの指定です。メッセージのヘッダが指定された条件のいずれかにマッチした場合、そのメッセージは拒否されます。拒否されたメッセージに対するアクションはこのセクションのActionパラメータで指定することが出来ます。条件はどのヘッダに対しても指定することが可能で、通常、ヘッダ名と正規表現から成っています。

HEADER = regular_expression

角括弧、または論理演算子のORANDを使用して複数の条件を結合することが出来ます。また"!="演算子を使用することも可能です。空白を含む表現は引用符で囲む必要があります。

:

RejectCondition Subject = "money" AND Content-Type = "text/html"

さらにあと2つフィルタリングの種類があります。

No HEADER - ある特定のヘッダを持たないメッセージに適した条件です。

例:

RejectCondition No From - Fromフィールドの無い全てのメッセージを拒否します。

HEADER = "8bit" - 8ビット文字をヘッダに含む全てのメッセージを拒否します。

デフォルト値:

RejectCondition =

AcceptCondition = {set of conditions}

メッセージ許可ルールの指定です。メッセージのヘッダが指定された条件のいずれかにマッチした場合、検査が中断され、メッセージは即座に他のプラグインに送られて処理されます。条件はどのヘッダに対しても指定することが可能です。AcceptConditionパラメータの記述に関する詳細は上記RejectConditionパラメータの記述を参照してください。

デフォルト値:

AcceptCondition =

FilterParts = {Yes | No}

RejectPartConditionおよび AcceptPartConditionパラメータのルールを有効にします。

デフォルト値:

FilterParts = Yes

RejectPartCondition = {set of conditions}

AcceptPartCondition = {set of conditions}

ルールはRejectConditionおよびAcceptConditionパラメータのものと同じですが、添付ファイルのヘッダにのみ適用されます。また、FileName = maskという条件を使用することも出来ます。maskはPOSIX 1003.2に準拠した正規表現です。

これらのルールによるフィルタリングは、FilterPartsパラメータにYesが指定されている場合のみ可能です。

デフォルト値:

RejectPartCondition =

AcceptPartCondition =

MissingHeader = {text value}

指定したヘッダが無いメッセージを拒否します。

例:

MissingHeader = "To", "From"

デフォルト値:

MissingHeader =

Action = {actions}

拒否したメッセージに対するアクションの指定です。基本処理はpasstempfail、discard、rejectで、追加処理はquarantine、redirect、notify、add-headerです。カンマで区切って1つの文字列内で複数の値を指定することが出来ます。

デフォルト値:

Action = reject, notify

メッセージがプラグインによってブロックされると、Dr.Web MailDからのSMTP応答はエラーコード550 5.7.0、および以下に記載するパラメータの値によって定義されるテキストメッセージになります。これらのパラメータの値は引用符で囲む必要があります。

UseCustomReply = {Yes | No}

メッセージを拒否した際にSMTPが返すカスタムエラーメッセージの設定です。

デフォルト値:

UseCustomReply = No

ReplyRuleFilter = {text value}

Action = rejectアクションが適用され、UseCustomReply = yesの場合にSMTPが返すメッセージの指定です。指定することが出来るのは文字列内のテキストの部分のみで、空白を含む場合は引用符で囲む必要があります。

例:

550 5.7.0 "Text part of reply"

デフォルト値:

ReplyRuleFilter = "DrWEB HeadersFilter plugin: Message is rejected by headers rule filter."