CommuniGate Pro
Version 5.1
メッセージ転送
 
 
 
外部フィルタ

外部フィルタ

CommuniGate Pro では、外部フィルタプログラムを使用してメッセージをスキャンすることができま す。ここでは、この機能について説明します。外部フィルタプログラムを利用することで、ウィルス 防御とコンテンツフィルタリングが可能になります。

ウィルス防御とコンテンツフィルタリングは、SMTP ベースのスタンドアロンメールスキャナでも可 能ですが、CommuniGate Pro の外部フィルタプログラムは、こうしたメールスキャナよりも強力です。 メールスキャナ(SMTP リレー) の機能は、次の通りです。
  • メールスキャナは、通常、基本的なSMTP 機能しか実装されておらず、CommuniGate Pro のSMTP 拡張機能は使用されません。例えば、SMTP 接続はすべて、CommuniGate Pro のSMTP モジュー ルではなくSMTP リレーに対して確立され、そのためCommuniGate Pro のSMTP 拡張機能は、 ユーザーとSMTP サーバーにとっては無効です。
  • メールスキャナは、一般的に性能と信頼性の点でCommuniGate Pro の外部フィルタプログラムに 劣ります。例えば、スキャナリレーがダウンしたときには、CommuniGate Pro のSMTP 機能も無効になります。
  • メールスキャナでは、通常、複数のメッセージを同時にスキャンすることはできません。その ため、サイズの大きいメッセージのスキャン中はCommuniGate Pro サーバーへのSMTP トラ フィックが停止し、処理速度が低下します。
  • メールスキャナでは、SMTP を介して送信されたメッセージをスキャンすることはできません。 例えば、WebUser インターフェイスを使ってメッセージが作成され、そのメッセージの送信先が同一のCommuniGate Pro サーバーのユーザーの場合、SMTP 転送処理はいっさい行われませ ん。したがって、こういったメッセージは、メールスキャナではスキャンされません。

外部フィルタを使用する場合、CommuniGate Pro サーバーと並行して動作させます。この場合、外部 フィルタで、メッセージ転送プロトコルを使ってメッセージが処理されることはありません。代わり に、メッセージがモジュールのキューに格納される直前に、CommuniGate Pro サーバーから外部フィ ルタに対して、そのメッセージのファイルが渡されます。つまり、いずれかのメール転送プロトコル を介して送信されるメッセージも含め、メッセージはすべて外部フィルタでスキャンされます。

CommuniGate Pro のエンキューアは、その処理で複数のプロセッサ(スレッド) が使用されるように 設定できますが、その場合、複数のメッセージが同時にスキャンされます。その結果、メッセージの サイズが大きく、スキャンに数秒かかる場合でも、メッセージフローが停滞することはありません。

Stalker Software 社では、各種の外部フィルタ(サードパーティプラグイン) を提供しています。外部 フィルタ(プラグイン) を使用する場合、通常、その外部フィルタのライセンスキーが必要です。

外部フィルタのプロトコルについては、ヘルパーのセクションに詳細があります。新規のプラグイン を開発する場合、ヘルパーのセクションの説明をお読みください。

外部フィルタの起動

外部フィルタ(または自作のフィルタ) をインストールした後、その外部フィルタを起動するととも に、その外部フィルタとCommuniGate Pro サーバーとの間に通信リンクを確立しなければなりませ ん。この操作を行う場合、WebAdmin インターフェイスの[Settings] セクションの[General] ペー ジを開きます。続いて、[Helpers] リンクをクリックします。これで、[Helpers] ページが開きます。

外部コンテンツフィルター
ログレベル: プログラムパス:
タイムアウト: 自動再起動:
ログレベル: プログラムパス:
タイムアウト: 自動再起動:
ログレベル: プログラムパス:
タイムアウト: 自動再起動:

新規の外部フィルタは、ページの最後の欄を使って指定できます。指定する場合、[Use Filter] フィールドに名前を入力し、左上のチェックボックスをチェックします。ここで入力した名前は、 ルールの[ExternalFilter] 条件で使用できます。続いて、その外部フィルタのパスを[Program Path] フィールドに入力します。また、必要に応じて各種オプションを設定します(下記を参照)。 最後に、[Update] ボタンをクリックします。

既存の外部フィルタを削除したいときには、[Use Filter] フィールドを空白にします。その後、[Update] ボタンをクリックします。

外部フィルタには、次のオプションを設定できます。
ログレベル
このオプションでは、外部フィルタモジュールによってサーバーログに記録される情報の範囲 ( ログレベル) を指定します。通常、この設定は[Problems] (ステータス変更と非致命的エラー) にしておきます。外部フィルタに問題が生じているようなときには、この設定を[Low-Level] または[ All Info] に変更します。これで、プログラム間のプロトコルレベルの情報がシス テムログに記録されます。
システムログのレコードのうち外部フィルタに関するレコードには、EXTFILTER タグが付加さ れます。
プログラムパス
このフィールドには、外部フィルタプログラムのファイルパスを入力します(プログラムのパ ラメータも入力できます)。外部フィルタをCommuniGate Pro のベースディレクトリにインス トールしたときには、このパスは、相対パスで指定できます(例えば、CGPMcAfee\CGPMcAfee.exe)。そうでない場合、絶対パスで指定します(例えば、 D:\Programs\CGPMcAfee\CGPMcAfee.exe or /usr/sbin/myFilter)。
注意: CommuniGate Pro サーバーをMicrosoft Windows で動作させている場合、パスの区切り記 号としてはバックスラッシュ(\) を使わなければなりません。
注意: Unix プラットフォームでは、スペースなどの特殊文字があるパラメータをコマンドライ ンに指定する場合、パラメータを引用符(") で囲まなければなりません。Unix 以外の場合、そ れぞれプラットフォーム独自の記述法があるので、その記述法を確認してください。

パスの入力後、[Use Filter] フィールドの左上にあるチェックボックスをチェックし、[Update] ボタ ンをクリックすると、その外部フィルタが起動します。何らかの理由により、外部フィルタが起動し なかったときには、[Helpers] ページにエラーメッセージが表示されます。

タイムアウト
外部フィルタプログラムの動作にエラーや問題が発生したときには、ループ処理が発生するこ とがあります。この場合、外部フィルタは、CommuniGate Pro サーバーの要求に応答しなくなり ます。このオプションでは、タイムアウトを指定できます。指定した場合、サーバーから何ら かの要求が外部フィルタに送られ、その後、ここで指定した時間が経過した時点でも応答がな かった場合、CommuniGate Pro サーバーから外部フィルタに終了シグナルが送信されます。
自動再起動
外部フィルタプログラムの動作にエラーや問題が発生した場合、外部フィルタがクラッシュす ることがあります。また、指定した時間( タイムアウト) 内に応答がなかったときには、 CommuniGate Pro サーバーから外部フィルタに対して終了シグナルが送信されます(上記を参 照)。
この[Auto-Restart] オプションを無効(disabled) 以外の設定にしておいた場合(時間を指 定) 、外部フィルタプログラムが終了したときには、その終了がCommuniGate Pro サーバーに よって自動的に検出されます。その後、一定の時間(オプションで指定した時間) の後、 CommuniGate Pro サーバーによって外部フィルタが自動的に起動されます。同時に、それまで待 機状態にあった要求が再度、外部フィルタに送信され、通常の要求処理が再開されます。
このオプションを無効(disabled) に設定しておいた場合、外部フィルタは手動で再起動するこ とが必要です。再起動は、WebAdmin インターフェイスの[Helpers] ページを開き、[Update] ボタンをクリックすることで可能です。

外部フィルタの使用

外部フィルタを起動しても(上記を参照) 、その状態ではメッセージのスキャンは行われません。ス キャンを実行させる場合、サーバーワイドルールを作成しなければなりません。このサーバーワイド ルールは、条件は指定せず( したがって、このルールはサーバーによって処理されるメッセージすべ てについて使用されます)、アクションとしてExternalFilter だけを指定します(パラメータは、 外部フィルタのファイル名です)。

また、[Filter name] フィールドの左上のチェックボックスをチェックしているときに限って、メッ セージがスキャンされます。つまり、このチェックボックスのチェックを外すことで、外部フィルタ の使用をバイパスできます。また、このチェックボックスをチェックしていないときには、ルールの ExternalFilter アクションの処理はNULL 処理になります(アクションは実行されません)。

場合によっては、一部のメッセージだけをスキャンしたいこともあります。その場合、外部フィルタ のサーバーワイドルールに条件を指定します。下は、条件の例です。この例では、メッセージのう ち、そのサイズが指定した値を超えているメッセージだけがMcAfee でスキャンされます。

データ 操作 パラメーター
アクション パラメーター

スキャン処理の際、エンキューアと外部フィルタとの間で通信が行われます。メッセージのサイズが 大きい場合、処理の完了まで数秒かかることもあります。こういったときには、エンキューアプロセ ス(スレッド) の数を増やします。設定の変更は、WebAdmin インターフェイスの[Settings] セク ションの[Queue] ページで行えます。エンキューアプロセス(スレッド) の数を増やすことで、サ イズの大きいメッセージのスキャン中でも他のメッセージのキュー処理が可能になります。


CommuniGate® Pro Guide. Copyright © 1998-2007, Stalker Software, Inc.