Sun Java System Messaging Server 6.3 管理ガイド

14.2.3 スパムメッセージに対して実行するアクションを指定する

スパムのフィルタ処理プログラムは、メッセージを分析し、スパムかどうかの判定を現在のバージョンの Messaging Server に返します。 そのあと Messaging Server は、メッセージに応じたアクションを実行します。アクションは、Sieve メールフィルタ処理言語を使って指定します。指定できるアクションは、メッセージの破棄、フォルダへのファイリング、ヘッダーの追加、件名へのタグの追加などです。if-then-else ステートメントを含む複雑な Sieve スクリプトも指定できます。


注 –

複雑な Sieve 構文については、Sieve 仕様 3028 を参照してください。http//www.cyrusoft.com/sieve/ も参照してください。


Sieve スクリプトは、表 14–2 で説明する MTA スパムフィルタオプション (option.dat) で指定します。主なスパムフィルタアクションのオプションは、NULL 値がスパム判定値として返されたときに実行される Sieve ルールを指定する SpamfilterX_null_action と、文字列がスパム判定として返されたときに実行される Sieve ルールを指定する SpamfilterX_string_action です。

スパムのフィルタ処理プログラムは、通常、文字列または NULL 値を MTA に返して、メッセージがスパムであることを示します。プログラムによっては、スパムスコアも返します。スパムスコアは、スパムであるメッセージまたはスパムではないメッセージの確立を示す数値です。このスコアは、アクションシーケンスの一部として使用できます。次の例は、フィルタ処理を行うメッセージに対するアクションの指定方法を示しています。それぞれの例では、番号 1 によって指定されるフィルタ処理プログラムを想定しています。

例 1: NULL 判定値を含むスパムメッセージをファイル SPAM_CAN にファイリングします。

spamfilter1_null_action=data:,require "fileinto"; fileinto "SPAM_CAN”;

同じアクションを、次の文字列を返すスパムメッセージで実行できます。

spamfilter1_string_action=data:,require "fileinto"; fileinto "SPAM_CAN”;

例 2: 返された判定文字列を含むスパムメッセージを、その判定文字列のあとに指定されているファイル内にファイリングします。$U がこれを実行します。つまり、返される判定文字列が spam の場合、メッセージは spam というファイルに保存されます。

spamfilter1_null_action=data:,require "fileinto"; fileinto "$U”;

例 3: 文字列判定値を含むスパムメッセージを破棄します。

spamfilter1_string_action=data:,discard

同じアクションを、NULL 値を返すスパムメッセージで実行できます。

spamfilter1_null_action=data:,require "fileinto"; fileinto "SPAM_CAN”;

例 4: この行では、文字列判定値によってスパムであると判断された各メッセージに、ヘッダー Spam-test: FAIL を追加しています。

spamfilter1_string_action=data:,require ["addheader"];addheader "Spam-test: FAIL”;

例 5: この行では、文字列を返すスパムメッセージの件名に、文字列 [PROBABLE SPAM] を追加しています。

spamfilter1_string_action=data:,addtag “[PROBABLE SPAM]”;

例 6: この行では、ヘッダーに resent-from および User-1 がある場合は、文字列判定値が仮定され、スパムメッセージがメールボックス testspam にファイリングされます。メッセージにこのヘッダーがない場合、メッセージは spam にファイリングされます。

spamfilter1_string_action=data:,require "fileinto"; \
  if header :contains ["resent-from"] ["User-1"] {  \
  fileinto "testspam"; \
  } else {  \
  fileinto "spam";};

判定文字列はほとんどのスパムフィルタソフトウェアで設定できるため、返される文字列に応じてさまざまなアクションを指定できます。これは、対応するペアの spamfilterX _verdict_n オプションと、spamfilterX_action_n オプションを使って実行できます。

例 7: これらの対応するペアのオプションは、判定文字列 remove が返されたスパムメッセージを破棄します。


spamfilter1_verdict_0=remove
spamfilter1_action_0=data:,discard

スパム判定文字列の指定方法については、該当のスパムフィルタ処理ソフトウェアの節を参照してください。

表 14–2 MTA スパムフィルタオプション (option.dat)

SpamAssassin 用の MTA オプション 

説明 

Spamfilter X_config_file

フィルタ処理ソフトウェア X 設定ファイルのフルパスとファイル名を指定します。デフォルト: なし 

Spamfilter X_library

フィルタ処理ソフトウェア X 共有ライブラリのフルパスとファイル名を指定します。デフォルト: なし 

Spamfilter X_optional

フィルタ処理ライブラリ X によって報告された障害を、一時的な処理の失敗として処理するか無視するかを制御します。0 は、スパムのフィルタ処理の問題により一時的な処理の障害が発生すると指定します。1 に変更すると、スパムフィルタの処理は場合によってはライブラリ障害のフィルタ処理をスキップしますが、すべてではありません。特に、システムがライブラリコードを返さずにスタックすると、一部の MTA もスタックすることがあります。-2 と 2 は、それぞれ 0 および 1 と同じですが、スパムフィルタプラグインによって問題が報告された場合に syslog メッセージが送信される点で異なります。3 は、スパムフィルタの障害時にメッセージを受け取りますが、その後の処理のためにそのメッセージを再処理チャネルのキューに入れます。4 は同じ動作をしますが、スパムフィルタの一時的な障害を syslog に記録します。

デフォルト: 0

LDAP_optin X

ユーザー単位でフィルタ処理ソフトウェア X を有効にするために使用する LDAP 属性の名前を指定します。これは、inetMailUser オブジェクトクラス内の属性である必要があります。

属性自体には複数の値を指定でき、大文字小文字は区別されます。SpamAssassin の場合、値は小文字の spam にする必要があります。

デフォルト: なし 

LDAP_domain_attr_optin X

ドメイン単位でフィルタ処理ソフトウェア X を有効にするために使用する LDAP 属性の名前を指定します。宛先ドメインに適用されます。オブジェクトクラス mailDomainn 内にある必要がある以外は、LDAP_optinn と同様です。

デフォルト: なし 

Spamfilter X_null_optin

LDAP_optinX または LDAP_domain_attr_optinX で定義される属性の値として見つかった場合に、属性がそこにはないかのように MTA を機能させる文字列を指定します。つまり、そのエントリに対するフィルタ処理を無効にします。「14.2.2 フィルタ処理を行うメッセージを指定する」を参照してください。

デフォルト: 空の文字列です。空の optin 属性は、デフォルトでは無視されます。(これは、iPlanet Messaging Server 5.2 からの変更。5.2 では、空の optin 属性は空の optin リストでフィルタ処理をトリガーした。5.2 の動作は、spamfilterX_null_optin を実際には発生することのない文字列に設定することによって復元できる。)

Spamfilter X_null_action

フィルタ処理ソフトウェア X の判定が NULL で返された場合にメッセージの処理を指定する Sieve ルールを定義します。Sieve 式は、ファイル URL を使って外部的に保存できます。次に例を示します。file:///var/opt/SUNWmsgsr/config/null_action.sieve また、アドレスがスパムの送信に使用されていた、関係のない相手に非配信通知を配信する傾向があるため、スパムを拒否するときに Sieve 拒否アクションを使用しないでください。デフォルト: data:,discard;

SpamfilterX_string_action

判定が文字列で返された場合にメッセージの処理を指定する Sieve ルールを定義します。Sieve 式は、ファイル URL を使って外部的に保存できます。次に例を示します。 file:///var/opt/SUNWmsgsr/config/null_action.sieve また、アドレスがスパムの送信に使用されていた、関係のない相手に非配信通知を配信する傾向があるため、スパムを拒否するときに Sieve 拒否アクション (reject) を使用しないでください。

デフォルト: data:,require "fileinto"; fileinto "$U;

ここで、$Uverdict が返した文字列です。

spamfilterX_verdict_ n

spamfilterX_verdict_n オプションと spamfilterX_action_n オプションは対応するペア、n は 0 から 9 の数字です。これらのオプションにより、任意の判定文字列に Sieve フィルタを指定できます。これは、spamfilterX_verdict_ n および spamfilterX_action_n を、それぞれ判定文字列および Sieve フィルタに設定することによって行われます。ここで、n は 0 から 9 の整数です。たとえば、サイトで「reject」判定によって Sieve 拒否アクションを発生させるには、次のように指定します。


spamfilter1_verdict_0=reject
spamfilter1_action_0=data:,require "reject";
reject "Rejected by spam filter";

spamfilterX _verdict_n オプションと対応するアクションのオプションすべてのデフォルト値は、空の文字列です。

デフォルト: なし 

spamfilter X_action_n

spamfilterX_verdict_ n を参照してください。デフォルト: なし

spamfilter X_final

一部のフィルタ処理ライブラリには、受取人アドレスに基づいて一連のアクションを実行する機能があります。spamfilterX_final は、フィルタ処理ライブラリに渡される受取人アドレスを指定します。値が 0 の場合はいわゆる中間アドレスを使用し、1 の場合は最終形式の受取人アドレスを送信します。

デフォルト: 0

optin_user_carryover

転送はスパムフィルタ処理に対するチャレンジです。forward 配信オプションを指定し、別のユーザーの転送アドレスを指定するユーザーエントリを考慮します。さらに、ユーザーエントリは、一部の固有のフィルタ処理に optin するように設定します。フィルタ処理を転送されるメッセージに適用すべきでしょうか。これに対し、1 人の特定のユーザーにとって正しいフィルタ処理を選択しても、ほかのユーザーにとっては正しい選択ではない場合もあります。また、サイトのセキュリティーポリシーに違反する手段としてフィルタ処理操作が省かれることもあります。

すべてのケースに対応できる 1 つの答えはないため、OPTIN_USER_CARRYOVER は、スパムのフィルタ処理の optin リストが転送されるときに、あるユーザーエントリまたはエイリアスエントリから別のエントリに転送される方法を制御します。これはビットエンコード値です。ビット値には、次のような意味があります。

ビット 0 (値 1): 各 LDAP ユーザーエントリは、以前アクティブだったユーザーまたはドメインの optin よりも無条件で優先されます。 

ビット 1 (値 2): ユーザーのドメインに optin 属性がある場合、以前アクティブだったユーザー、ドメイン、エイリアスよりも優先されます。 

ビット 2 (値 4): ユーザーに optin 属性がある場合、以前アクティブだったユーザー、ドメイン、エイリアスよりも優先されます。 

ビット 3 (値 8): [optin] 非定位置パラメータで指定した optin は、以前アクティブだったユーザー、ドメイン、エイリアスよりも優先されます。 

デフォルト: 0 (ユーザーが別のユーザーに転送する配信オプションを持つ場合、optin が累積する。このデフォルトにより、転送時にサイトのセキュリティーポリシーが有効であることが保証される。ほかの設定では保証されない場合がある。)