SAVSE の配備方法以外にも、この節には、ほかの ICAP 対応の スパム防止/ウィルス防止プログラムを配備する際に有効な情報が含まれています。この節には、次の項があります。
SAVSE は、ウィルススキャンサービスを提供する TCP/IP サーバーアプリケーションおよび通信用のアプリケーションプログラミングインタフェース (API) です。ネットワークインフラストラクチャー機器を通して提供されたり、これらの機器に保存されるトラフィックを保護するために設計されています。モバイルコードや圧縮ファイル形式も含め、すべての主要なファイル形式でウィルス、ワーム、およびトロイの木馬を検出し、これらから保護します。詳細については、Symantec の Web サイトを参照してください。
Messaging Server の現在のバージョンでは、SAVSE のスキャン機能だけがサポートされています。修復機能や削除機能はサポートされていません。
これは Symantec から単独でライセンス許可された製品です。
SAVSE の構成では、スキャンモードだけがサポートされています。スキャンと修復、スキャンと削除のモードはサポートされていません。
SAVSE、または ICAP をサポートするほかのサーバーは、それ自体が置かれている個々のシステム上、単一のシステム配備の Messaging Server と同じシステム上、または 2 層配備の MTA と同じシステム上で実行できます。MTA とメッセージストア間で Local Mail Transfer Protocol (LMTP) が使われている場合、フィルタ処理は MTA から呼び出す必要があります。メッセージストアから呼び出すことはできません。MTA とメッセージストア間で SMTP が使われている場合は、いずれか一方から呼び出すことができ、いずれかのシステムか 3 つ目の別のシステムで実行できます。
SAVSE を実行するサーバーのファームを使用する場合は、それらの前でロードバランサを使用する必要があります。MTA は、SpamAssassin サーバー用に 1 つのアドレスのみを持つよう設定されます。
SAVSE をインストールして構成します。インストールおよび設定情報については、Symantec ソフトウェアマニュアルを参照してください。「SAVSE オプション」も参照してください。
SAVSE のクライアントライブラリをロードおよび構成します。このためには、クライアントライブラリ libicap.so と設定ファイルを MTA に対して指定する必要があります (ファイルは作成する必要がある)。「スパムのフィルタ処理ソフトウェアのクライアントライブラリをロードおよび構成する」を参照してください。
ウィルス用にフィルタ処理するメッセージを指定します。ユーザー、ドメイン、またはチャネルごとにメッセージをフィルタ処理できます。「フィルタ処理を行うメッセージを指定する」を参照してください。
ウィルスメッセージに対して実行するアクションを指定します。ウィルスは、破棄したり、フォルダにファイリングしたり、件名にタグ付けしたりできます。「スパムメッセージに対して実行するアクションを指定する」を参照してください。
必要に応じてほかのフィルタ設定パラメータを設定します。「スパムメッセージに対して実行するアクションを指定する」の表 14–2 を参照してください。
次の例では、ローカルメッセージストアに届くメッセージをテストして、ウィルスを含むメッセージを破棄します。最初の 3 つのステップは任意の順序で実行できます。
SAVSE の設定ファイルを作成します。
このファイルの名前と場所は、次の手順で指定します。ここでは、SAVSE.opt という名前を使用します。このファイルの設定例を次に示します。
host=127.0.0.1 port=1344 mode=0 verdict=virus debug=1 |
host および port は、SAVSE プログラムが実行されているシステムの名前と、SAVSE プログラムが受信要求を待機するポート (SAVSE のデフォルトは 1344) です。mode=0 は、メッセージがウィルスを含んでいると認識された場合に、verdict によって指定された文字列 (この例の場合は virus という単語) が返されることを指定します。debug=1 はデバッグをオンにします。ICAP 設定パラメータについては、「SAVSE オプション」を参照してください。
option.dat ファイルを作成します。次に例を示します。
! for Symantex Anti-virus Scan Engine spamfilter1_config_file=/opt/SUNWmsgsr/config/SAVSE.opt spamfilter1_library=/opt/SUNWmsgsr/lib/libicap.so spamfilter1_optional=1 spamfilter1_string_action=data:,discard |
spamfilter1_config_files は、SAVSE 設定ファイルを指定します。
spamfilter1_library は、SAVSE 共有ライブラリの場所を指定します。
spamfilter1_optional=1 は、SAVSE プログラムによる失敗があった場合に MTA が操作を続行することを指定します。
spamfilter1_string_action は、スパムメッセージに対して実行する Sieve アクションを指定します。この値は、ウィルスを含むメッセージが破棄されるように指定します。これはデフォルト値なので、値を変更する場合を除き、指定する必要はありません。
フィルタ処理するメッセージを指定します。
ローカルメッセージストアに届くすべてのメッセージをフィルタ処理するには、ims-ms チャネルの destinationspamfilter1optin spam を追加して imta.cnf ファイルを変更します。
! ! ims-ms ims-ms defragment subdirs 20 notices 1 7 14 21 28 backoff "pt5m" "pt10m" "pt30m" "pt1h" "pt2h" "pt4h" maxjobs 4 pool IMS_POOL fileinto $U+$S@$D destinationspamfilter1optin virus ims-ms-daemon |
設定をコンパイルしなおし、サーバーを再起動します。MTA を再起動するだけでかまいません。stop-msg を実行する必要はありません。
# imsimta cnbuild # imsimta restart |
SAVSE が起動していることを確認します。
自動的に起動しているはずですが、起動していない場合は、次のような起動コマンドを使用します。/etc/init.d/symcscna start
mode を 0 に設定して spamfilterX_null_option とともに使用すると、メッセージがスパムであると判明した場合に特定のフォルダにメッセージをファイリングするなど、ほかのアクションを実行できます。例:
spamfilter1_null_option=data:,require "fileinto"; fileinto "VIRUS";
感染したメッセージをフォルダにファイリングすることは、ほとんどの場合不適切です。
mode を 1 に設定すると、アクションを起動できます。たとえば、mode を 1 に設定して、MTA の spamfilterX_string_action オプションを次のように設定すると、スパムの結果を拒否メッセージに含めることができます。
spamfilter1_string_action=data:,require "reject"; reject "Message contained a virus [$U]";
reject アクションはウィルスを差出人に送り返すため、fileinto と同様、このアクションを使用してウィルスを処理する方法は不適切です。
option.dat ファイルに行を追加して、スパムメッセージのヘッダーにタグを追加することもできます。次に例を示します。
spamfilter1_string_action=data:,addtag “[SPAM detected!]”;
mode を 2 に設定すると、メッセージにウィルスが含まれると判定されるかどうかにかかわらず、アクションを実行できます。あとでテストできるヘッダーフィールドが追加されているところは、明らかに mode 2 のアプリケーションです。
spamfilterX_string_action=data:,require ["addheader"];addheader "$U"
SAVSE オプションファイルは実際に、かなり一般的な ICAP オプションファイルです。オプションファイルの名前および場所は、option.dat の spamfilterX_config_file で設定されています。SAVSE オプションファイルは、option=value という形式の行から構成されています。HOST というオプションが 1 つ必要です。このオプションは、ICAP フィルタ処理サーバーが動作しているシステムの名前に設定する必要があります。ICAP サーバーがローカルホストで動作していても、このオプションを設定する必要があります。SAVSE オプションファイルを次に示します。
表 14–6 ICAP オプション
オプション |
説明 |
デフォルト |
---|---|---|
ICAP インタフェースモジュールからのデバッグ出力を有効または無効にします。0 または 1 です。 |
0 |
|
ICAP の結果のプレフィックスを指定します。SAVSE の結果文字列は次のようになります。 Virus-Test: False Virus-Test: True; W32.Mydoom.A@mm.enc このオプションは、結果の Virus-Test: 部分の変更方法を提供します。注意: 空の field 値が指定されると「:」が削除されます。 |
Virus-Test: |
|
ICAP フィルタ処理サーバーが動作しているシステムの名前です。 |
localhost |
|
ICAP フィルタ結果から判定情報への変換を制御します。つまり、メッセージ処理後に返す文字列情報を指定します。次の 4 種類のモードが使用可能です。詳細は、「ICAP の mode オプション」を参照してください。 0 - メッセージにウィルスが含まれる場合は、判定文字列 ( verdict オプションで指定される文字列) を返します。MTA オプション spamfilterX_string_action を使用して、verdict 文字列が返された場合の処理を指定できます。verdict オプションが空である場合や設定されていない場合は、NULL 判定を返します。MTA オプション spamfilterX_null_action を使用して、NULL 判定が返された場合に、メッセージを破棄するデフォルトアクションを置き換えるときの処理を指定できます。 メッセージにウィルスが含まれていない場合は、デフォルトの文字列が返されます。デフォルトの文字列とは、設定不可能な文字列で、何のアクションもとらず通常どおり配信することを意味します。 1 - メッセージにウィルスが含まれていると判明した場合は ICAP の結果文字列を返します。メッセージにウィルスが含まれていない場合は、デフォルトの文字列が返されます。デフォルトの文字列とは、何のアクションもとらず通常どおり配信することを意味します。以下に、ICAP 結果文字列の例を 2 つ示します。 VIRUS TEST: FALSEVIRUS-TEST: TRUE; W32.Mydoom.A@mm.enc 2 - ICAP 結果文字列を無条件に返します。デフォルト判定または NULL 判定が返されることはなく、verdict オプションが使用されることはありません。この設定は、メッセージにウィルスが含まれると判定されるかどうかにかかわらず、アクションを実行する必要がある場合を対象にしています。あとでテストできるヘッダーフィールドが追加されているところは、明らかに mode 2 のアプリケーションです。 spamfilterX_string_action=data:,require ["addheader"];addheader "$U" 3 - メッセージにウィルスが含まれていると判明した場合は ICAP の結果文字列を返します。ウィルスが含まれていない場合は verdict オプションで指定された verdict 文字列を返します。この設定は、ウィルスが発見されたらある 1 つのアクションを実行し、発見されなかったら別のアクションを実行する必要がある場合を対象としています。ICAP 結果文字列に対するアクションを制御するには、spamfilterX_verdict_ n オプションと spamfilterX_action_n オプションの一致ペアを使用します。verdict 文字列に対するアクションを制御するには、spamfilterX_string_action を使用します。 |
0 |
|
ICAP サーバーが動作しているポート番号を指定します。 |
1344 |
|
文字列です。中間にある SOCKS サーバーの名前を指定します。このオプションが指定されている場合、指定された SOCKS サーバーを介して ICAP 接続が確立され、直接には接続されません。 |
"" |
|
整数です。中間にある SOCKS サーバーが動作しているポートを指定します。 |
1080 |
|
文字列です。SOCKS サーバーを介した接続を確立するために使用するパスワードを指定します。ユーザー名およびパスワードが必要かどうかは、SOCKS サーバーの設定によって異なります。 |
"" |
|
文字列です。SOCKS サーバーを介した接続を確立するために使用するユーザー名を指定します。 |
"" |
|
MODE 0 および 3 で使用される判定文字列を指定します。 |
"" |
メッセージの処理後、ICAP ウィルス防止プログラムは SASVE と同様に、メッセージにウィルスが含まれているかどうかを判定します。mode オプションを使用すると、この判定を示すために ICAP プログラムから返す文字列を指定できます。文字列の選択肢は、 NULL、デフォルト、ICAP の結果文字列、または verdict オプションで指定された verdict 文字列 です。デフォルトの文字列とは、NULL、ICAP の結果文字列、または verdict で指定された文字列ではなく、プログラムによって返されるその他の設定不可能な文字列です。mode の動作の概要を次の表で説明します。
表 14–7 ICAP の mode オプションに対応して返される判定文字列
verdict の設定 |
ウィルスかどうか |
mode=0 |
mode=1 |
mode=2 |
mode=3 |
---|---|---|---|---|---|
verdict="" (設定なし) |
はい |
NULL |
ICAP の結果 |
ICAP の結果 |
ICAP の結果 |
いいえ |
デフォルト |
デフォルト |
ICAP の結果 |
デフォルト |
|
verdict=文字列 |
はい |
verdict 文字列 |
ICAP の結果 |
ICAP の結果 |
ICAP の結果 |
いいえ |
デフォルト |
デフォルト |
ICAP の結果 |
verdict 文字列 |
1 列目は、verdict オプションが設定されているかどうかを示します。2 列目は、メッセージにウィルスが含まれているかどうかを示します。mode の列は、各モードに対応して返される文字列を示します。たとえば、verdict が設定されておらず mode が 0 に設定されている場合、メッセージにウィルスが含まれていなければ、ICAP プログラムからデフォルト文字列が返されます。verdict が WARNING VIRUS! に設定されていて mode が 0 に設定されている場合、メッセージにウィルスが含まれていれば、ICAP プログラムから WARNING VIRUS! という文字列が返されます。