Scan Using ICAP-Enabled Antivirus アサーション

Scan Using ICAP-Enabled Antivirus アサーションは、ゲートウェイに ICAP プロトコルをサポートするアンチウイルス サーバ(McAfee® または Symantec™ など)への接続を許可します。
9-5
Scan Using ICAP-Enabled Antivirus
アサーションは、
Layer7 API Gateway
に ICAP プロトコルをサポートするアンチウイルス サーバ(McAfee® または Symantec™ など)への接続を許可します。
前提条件
  • アンチウイルス サーバが ICAP プロトコルに対応していることを確認します。
  • McAfee VirusScan の場合は、ウイルス情報を ICAP レスポンス ヘッダに追加するように McAfee サーバを設定します。
(1)このアサーションを使用するには、RFC3507 の知識が必要です。必要なメッセージ ヘッダ フィールドを含むサンプル HTTP リクエストを入手するには、ICAP ベンダに問い合わせてください。ベンダは、ポリシーに実装する前にリクエストをテストするために使用できるクライアント ツールを用意している場合もあります。
(2)このアサーションは、RESPMOD (レスポンス修正モード)および REQMOD (リクエスト修正モード)をサポートします。
(3)ICAP リクエストに埋め込まれている HTTP リクエストは、HTTP/1.1 です。埋め込み HTTP リクエストには、Host ヘッダが含まれています。このホスト ヘッダ値は、クラスタ ホスト名になります。クラスタ ホスト名が存在しない場合、ホスト ヘッダ値は Gateway のホスト名になります。
目次
コンテキスト変数
このアサーションは、検出されたウイルスに関する情報を以下の変数に格納します。検出された複数のウイルスに対応するために、変数はすべて複数値です。ウイルスが見つからない場合、コンテキスト変数は設定されません。
変数
説明
icap.response.infected
感染部分の ID、コンテンツ ID、ファイル名、またはコンテキスト変数名をリスト表示します。
icap.response.header.names.X
ICAP サーバによって返されるヘッダ名。ここで「X」は感染部分のインデックスに対応するインデックスです。
icap.response.header.values.X
ICAP サーバによって返されるヘッダ値。ここで「X」は感染部分のインデックスに対応するインデックスです。
icap.response.header.value.X.headerName
感染部分「X」の指定されたヘッダ名の値。
クラスタ プロパティ
このアサーションは、以下のクラスタ プロパティを使用します。
プロパティ
説明
icap.channelIdleTimeout
接続プール内の、ICAP サーバへ接続されたチャネルの最大アイドル時間。このタイムアウト値を超過したチャネルは、切断されてプールから削除されます。値は時間単位です。使用可能な範囲は 1 秒 ~ 1 時間です。
サンプル値は、30s、1m、1h のようになります。サフィックスのない整数のみを指定した場合、値は分単位で考慮されます。この変更は、Gateway の再起動後に有効になります。
デフォルト:
1m
io.failoverServerRetryDelay
このプロパティは、フェールオーバ ストラテジで使用されます。このプロパティは、Gateway が失敗したサーバを再試行するまでの遅延を制御します。詳細については、「入出力のクラスタ プロパティ」を参照してください。
icap.maxResponseHeaderSize
ICAP レスポンス ヘッダの最大サイズ。ICAP サーバによって送信された最大の ICAP レスポンス ヘッダに従って、この値を設定します。
デフォルト:
8192
icap.optionsRequestInterval
プレビューの長さを取得するために、Gateway が ICAP サーバに対して ICAP OPTIONS メソッド コールを行う間隔(分単位)。サンプル値は、30s、10m、1h のようになります。サフィックスのない整数のみを指定した場合、値は分単位で考慮されます。
デフォルト:
30m
icap.response.maxIcapHeaderSize
連結されたすべての ICAP レスポンス ヘッダ内の最大バイト数。
デフォルト:
8192
注:
Scan Using ICAP-Enabled Antivirus アサーションでは、すべての ICAP レスポンス ヘッダのバイト数がデフォルトの最大値 8192 を超えた場合に例外がスローされます。このクラスタ全体のプロパティの値を
-1
に更新すると、整数の最大値 2147483647 が設定されます。
アサーションのプロパティ
設定
説明
Add Server
Edit Server
ICAP サーバの URL。コンテキスト変数を参照することもできます。
ICAP Method
ICAP メソッドが REQMOD または RESPMOD のどちらであるかを指定します。
  • REQMOD – ICAP クライアントは、ICAP サーバに HTTP リクエストを送信します。
  • RESPMOD - ICAP クライアントは、元のサーバの HTTP レスポンスを ICAP サーバに送信し、さらに(使用可能な場合)そのレスポンスをもたらした元のクライアント リクエストを送信します。
デフォルト:
RESPMOD
Origin Resource Path
埋め込みの HTTP リクエスト行に追加される元のリソース パス。
デフォルト:
/
Connection Timeout
接続タイムアウトの秒数(1 ~ 3600)。コンテキスト変数を参照することもできます。
Read Timeout
サーバがレスポンスを送信するのを Gateway が待機する時間(秒単位)。つまり、レスポンス タイムの開始からリクエスト タイムの終了までの時間です。
タイムアウト値は秒単位(1 ~ 3600)です。コンテキスト変数を参照することもできます。
Response Read Timeout
サーバがレスポンスの最後のバイトを送信するのを Gateway が待機する時間(秒単位)。つまり、サーバからのレスポンスの全体を読み取るまでの時間(レスポンス タイムの終了からリクエスト タイムの開始まで)です。
タイムアウト値は秒単位(1 ~ 3600)です。コンテキスト変数を参照することもできます。
Test Connection
ICAP サーバへの接続をテストします。明示的な URL を入力した場合にのみ機能します。コンテキスト変数が参照されている場合は機能しません。
Service Parameters
アンチウイルス サーバに必要なオプションのサービス パラメータ。パラメータ名、値、およびタイプ([Header]または[Query])を指定します。名前または値についてコンテキスト変数を参照することもできます。
Gateway は、ICAP サーバにプレビュー データを送信できます。ICAP サーバに送信するプレビュー データを ICAP リクエストに含めるには、
Preview
ヘッダを追加し、Gateway の値をバイト単位で指定します。Gateway は、一定の間隔(
icap.optionsRequestInterval
クラスタ全体のプロパティによって決まります)で ICAP サーバに対して OPTIONS メソッド コールを行い、サポートされているプレビューの長さを取得します。Gateway が実際に送信するプレビュー データは、ICAP サーバが送信するプレビューの長さと、サービス パラメータに指定された Preview ヘッダの最長値となります。
たとえば、Preview ヘッダ値が 100 バイトで、ICAP サーバでサポートされているプレビューの長さが 50 バイトである場合、Gateway は 50 バイトのプレビュー データを送信します。Preview ヘッダ値が 20 バイトで、ICAP サーバでサポートされているプレビューの長さが 50 バイトである場合、Gateway は 20 バイトのプレビュー データを送信します。
Continue processing if virus found
選択した場合は、ウイルスが検出されたときにアサーションは失敗しません。それ以外の場合、アサーションは失敗します。
Max MIME Depth
ネストされたマルチパートの場合にアサーションがトラバースする必要がある深さを指定します。
フェールオーバ ストラテジ
サーバが応答しない場合の Gateway の応答方法です。
  • Ordered Sticky with Failover
    : Gateway はリスト内の最初のルートに、そのルートが応答しなくなる(失敗する)までサービス メッセージを送信します。応答しなくなると、Gateway はリスト内の次のサーバを試行します。
  • Random Sticky with Failover:
    Gateway は、各セッションの開始時にサーバをランダムに選択し、そのセッションの間はそのサーバを使用します。選択されたサーバが失敗した場合、Gateway は別のサーバをランダムに選択します。
  • Round Robin:
    Gateway は、最初のサーバから始めて、次は 2 番目のサーバというように、リクエストごとにサーバ リスト全体を順番に使用します。サーバ リストの末尾に達すると、リストの一番上からサイクルが続行されます。
Variable Prefix
このアサーションによって作成されるコンテキスト変数に追加するプレフィックスを入力します。このプレフィックスは、一意性を確保し、このアサーションのインスタンスがポリシー内に複数存在する場合に変数が互いに上書きされることを防ぎます。
デフォルト:
icap.response
よくある質問
質問
回答
アンチウイルス サーバへの接続数を監視するにはどうすればよいですか
Gateway 上で
netstat
コマンドを使用します。
netstat -an -t 1 | grep ":1344"
リクエストの数を制限するにはどうすればよいですか
Apply Rate Limit アサーションをサービス ポリシーに追加します。
McAfee Antivirus でこのアサーションが正しく動作しません
ウイルス情報を ICAP レスポンス ヘッダに追加するようにアンチウイルス サーバが設定されていることを確認します。