ローカル管理配置に関する Cisco ACNS ソフトウェア コンフィギュレーション ガイド Release 5.3
スタンドアロン Content Engine の ICAP サービスの設定
スタンドアロン Content Engine の ICAP サービスの設定
発行日;2012/02/03 | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 10MB) | フィードバック

目次

スタンドアロン Content Engine の ICAP サービスの設定

ICAP の概要

ICAP ベンダーとの相互運用性

ICAP サービスについて

ICAP サービスとベクタ ポイントについて

ICAP パフォーマンスについて

Content Engine での ICAP サービス設定の例

スタンドアロン Content Engine での ICAP の設定

スタンドアロン Content Engine での ICAP の設定

スタンドアロン Content Engine での ICAP サービスの設定

スタンドアロン Content Engine での ICAP サーバの設定

ICAP 交換のロギングの設定

ICAP 設定に関する情報の表示

ICAP サービスの統計情報の表示

スタンドアロン Content Engine の ICAP サービスの設定

この章では、スタンドアロン Content Engine で ICAP(Internet Content Adaptation Protocol)を設定する方法について説明します。ACNS 5.2.1 またはそれ以降のソフトウェアは、HTTP 要求と FTP-over-HTTP 要求で ICAP をサポートします。ネイティブの FTP 要求はサポートされません。

この章の構成は、次のとおりです。

「ICAP の概要」

「Content Engine での ICAP サービス設定の例」

「スタンドアロン Content Engine での ICAP の設定」

「ICAP 交換のロギングの設定」

「ICAP 設定に関する情報の表示」

「ICAP サービスの統計情報の表示」


) この章で使用される CLI コマンドの構文と使用方法については、『Cisco ACNS Software Command Reference, Release 5.3』を参照してください。

Content Distribution Manager に登録されている Content Engine への ICAP の設定方法については、『中央管理配置に関する Cisco ACNS ソフトウェア コンフィギュレーション ガイド Release 5.3』を参照してください。


ICAP の概要

ICAP は、通常はネットワークのエッジにあるコンテンツ アダプテーションのためのオープンな標準プロトコルです。コンテンツ アダプテーションには、ウィルス スキャン、コンテンツ変換、コンテンツ フィルタリング、コンテンツ挿入など、エンドユーザへのコンテンツの価値を高める機能があります。ICAP により、HTTP プロキシ サーバとして動作する Content Engine を使用して、要求されたコンテンツのフィルタリングとアダプテーションを実行する ICAP サーバとして動作する外部デバイスとどのように通信するかを指定します。

ICAP には、HTTP サービスのための 2 つのコンテンツ処理モードがあります。これらのモードによって、ICAP クライアントとして動作する Content Engine と ICAP サーバの間のトランザクションを定義します。その 2 つのモードは次のとおりです。

要求の変更(reqmod):要求がオリジン サーバに向かう途中で Content Engine から ICAP サーバに送信されるときにその要求を変更できます。ICAP サーバ側では、要求されたサービスに応じてこれらの要求を変更できます。

応答の変更(respmod):要求がオリジン サーバから戻された後にその要求を変更できます。ICAP サーバは、要求したオブジェクトがオリジン サーバから戻された後、それらのオブジェクトに対してのみ機能します。

ICAP ベンダーとの相互運用性

Content Engine と相互運用するために、認定済みの ICAP ベンダーをすべてリストします。

TrendMicro(reqmod および respmod について)

Symantec(respmod について)

Finjan(reqmod および respmod について)

SurfContol(reqmod について)

ICAP サービスについて

ICAP サービスとは、そのサービスと、ICAP サービスを提供する ICAP サーバ(複数)を定義する属性のグループです。1 台の Content Engine に最大 10 の ICAP サービスを設定し、1 つの ICAP サービスに 5 台まで ICAP サーバを設定できます。また、Content Engine が処理したすべての HTTP 要求に ICAP サービスを適用するか、または Rules Template(ルール テンプレート)に一致した要求にのみ ICAP 処理を適用するのかを選択できます。


ヒント ICAP サーバのクラスタ間で使用する負荷分散のタイプを設定するには、icap service load balancing グローバル設定コマンドを使用します。


ICAP サービスとベクタ ポイントについて

ICAP サービスがコンテンツに適用されるポイントを「ベクタ ポイント」と呼びます。このポイントは、 vector-point オプションで指定します。次の 3 つのベクタ ポイントがサポートされています。

クライアント要求のベクタ ポイント( reqmod-postcache ):ICAP サーバはクライアント要求に対して次のアクションのいずれかを実行します。

接続を終了する。

変更されたエラー応答を送信する。

要求の中の URL を使用してキャッシュを検索する。

変更された URL を使用してキャッシュを検索する。

キャッシュ ミスの場合に要求のヘッダーまたは本体を変更する。

キャッシュ ミスのベクタ ポイント( reqmod-precache ):ICAP サーバは要求をオリジン サーバに転送する前に、次のアクションのいずれかを実行します。

接続を終了する。

変更されたエラー応答を送信する。

元の URL を使用して要求をオリジン サーバに送信する。

別の URL を使用して要求をオリジン サーバに送信する。

要求のヘッダーまたは本体を変更する。

サーバ応答のベクタ ポイント( respmod-precache ):ICAP サーバはオリジン サーバから応答を受信した後に、次のアクションのいずれかを実行します。

応答をクライアントに戻す。

要求のヘッダーまたは本体を変更する。

元の URL を使用して応答をキャッシングする。

別の URL を使用して応答をキャッシングする。


) 同じベクタ ポイントに割り当てられている各種 ICAP サービスで、さまざまな負荷分散オプションを使用できます。


次のコマンドは、2 つのベクタ ポイント( reqmod-precache respmod-precache )で処理する必要があるウィルス スキャン サービスの一般的な設定を示しています。

ContentEngine(config)# icap apply all
ContentEngine(config)# icap service trend-reqmod
ContentEngine(config-icap-service)# enable
ContentEngine(config-icap-service)# vector-point reqmod-precache
ContentEngine(config-icap-service)# server icap://172.19.227.150/REQ-Service
ContentEngine# exit
ContentEngine# icap service trend-respmod
ContentEngine(config-icap-service)# enable
ContentEngine(config-icap-service)# vector-point respmod-precache
ContentEngine(config-icap-service)# server icap://172.19.227.150/interscan
ContentEngine# exit
 

ICAP ベンダーが複数のベクタ ポイントで同じサービス名をサポートしている場合には、次の例に示すように、1 つのサービスを設定して、サポート対象のベクタ ポイントを追加できます。

ContentEngine(config)# icap service myicap-service
ContentEngine(config-icap-service)# enable
ContentEngine(config-icap-service)# vector-point reqmod-precache
ContentEngine(config-icap-service)# vector-point respmod-precache
ContentEngine(config-icap-service)# server icap://172.19.227.150/icap-service-name
ContentEngine(config-icap-service)# exit
ContentEngine(config)#
 

ICAP パフォーマンスについて

ICAP ベンダーがウイルス スキャンに使用する応答変更のベクタ ポイント(respmod)では Content Engine モデル CE-7305 のトランザクションは 300 / 秒となります。

ICAP ベンダーが URL のフィルタリングに使用する要求変更のプレキャッシュ ベクタ ポイント(reqmod)では Content Engine モデル CE-7305 のトランザクションは標準パフォーマンスに比べて 20% 低下します。


) Content Engine のパフォーマンスは、ICAP サーバのパフォーマンスによって制限されます。


Content Engine での ICAP サービス設定の例

次に示すのは、Content Engine を定義し、有効にするための手順です。


ステップ 1 icap apply {all | rules-template} グローバル設定コマンド を使用して、Content Engine が受信するどの要求に対してどの ICAP サービスを実行するかを指定します。

次に例を示します。

use-icap-service のルール アクションに一致する ICAP サービスのみを実行するように Content Engine に指示します。

ContentEngine(config)# icap apply rules-template
 

受信するすべての HTTP 要求に対する ICAP サービスをすべて実行するようにContent Engine に指示します。

ContentEngine(config)# icap apply all
 

ステップ 2 ICAP 関連のトランザクション ロギングを使用可能にします。これは、local1/logs/icap/ ディレクトリにあります。

ContentEngine(config)# icap logging enable
 

ステップ 3 Content Engine の各種 ICAP サービスを設定し、使用可能にします。

 

ContentEngine(config)# icap service trend-reqmod
ContentEngine(config-icap-service)# enable
ContentEngine(config-icap-service)# vector-point reqmod-precache
ContentEngine(config-icap-service)# server icap//172.19.227.150/REQ-Service
ContentEngine# exit
ContentEngine(config)# icap service trend-respmod
ContentEngine(config-icap-service)# enable
ContentEngine(config-icap-service)# vector-point respmod-precache
ContentEngine(config-icap-service)# server icap//172.19.227.150/interscan
ContentEngine# exit
 

ステップ 4 rule グローバル設定コマンドを使用して、この Content Engine に ICAP サービスのルールを定義します。

次の例では、ある特定のトラフィック(イントラネットのドメイン トラフィックや他の信頼されるトラフィックなど)の ICAP 処理を意図的に回避しています。

ContentEngine(config)# rule enable
ContentEngine(config)# rule action use-icap-service trend-reqmod pattern-list 1
protocol all
ContentEngine(config)# rule action use-icap-service trend-respmod pattern-list 1
protocol all
ContentEngine(config)# rule pattern-list 1 domain !(.*cisco\.com|.*datek\.com)

ヒント デフォルトでは、ストリーミング メディア クライアントからの要求が ICAP 処理をバイパスします。ただし、必要に応じて、icap bypass streaming-media グローバル設定コマンドを使用して、ストリーミング メディアに対するバイパス機能を使用可能にできます。


 


) ICAP サービスの詳細については、「ICAP サービスとベクタ ポイントについて」を参照してください。


スタンドアロン Content Engine での ICAP の設定

スタンドアロン Content Engine で ICAP を設定するには、Content Engine CLI を使用する必要があります。次の項で、行わなければならない作業を説明します。。

「スタンドアロン Content Engine での ICAP の設定」

「スタンドアロン Content Engine での ICAP サービスの設定」

「スタンドアロン Content Engine での ICAP サーバの設定」

スタンドアロン Content Engine での ICAP の設定

スタンドアロン Content Engine で ICAP を設定するには、Content Engine CLI を使用する必要があります(Content Engine GUI では、ICAP 設定は現在サポートされていません)。

icap グローバル設定コマンドを使用して、スタンドアロン Content Engine にICAP パラメータを設定するときには、次の重要な点に留意してください。

icap append-x-headers グローバル設定コマンドを使用して、ICAP 拡張ヘッダーを指定します。このヘッダーは、Content Engine と ICAP サーバ間のセッション ネゴシエーション時に ICAP サーバに渡されます。

ACNS 5.1 およびそれ以降のソフトウェアでは、ICAP サーバに渡される要求にクライアントとサーバの IP アドレス ヘッダーを付加するように Content Engine を設定できます。この機能により、ICAP サーバを使用して、クライアントの IP アドレスとサーバの IP アドレスに基づいて URL フィルタリングを実行できます。この機能を有効にするには、コマンド オプション icap append-x-headers x-client-ip と icap append-x-headers x-server-ip を使用する必要があります。

ACNS 5.2 ソフトウェアでは、ICAP サーバに渡される要求にユーザ名とグループ名のヘッダーを付加するように Content Engine を設定する機能が追加されました。この機能により、ICAP サーバを使用して、ユーザ名とグループ名に基づいて URL フィルタリングを実行できます。この機能をサポートするために、icap append-x-headers グローバル設定コマンドに次の 2 つのコマンド オプションが追加されました。

x-authenticated-user オプション。このオプションを使用して、グローバル サービス用として、ICAP サーバにユーザ名情報を渡すことができます。このオプションは、デフォルトでは無効になっています。このオプション(icap append-x-headers x-authenticated-user オプション)を有効にすると、ICAP サーバへの ICAP 要求に x 認証ユーザ情報が挿入されます。

x-authenticated-groups オプション。このオプションを使用して、グローバル サービス用として、ICAP サーバにグループを渡すことができます。このオプションは、デフォルトでは無効になっています。このオプション(icap append-x-headers x-authenticated-groups オプション)を有効にすると、ICAP サーバへの ICAP 要求に x 認証グループ情報が挿入されます。

現在サポートされている認証方式として、LDAP、NTLM、RADIUS、TACACS+ があります。

デフォルトでは、ストリーミング メディア クライアントからの要求は、ICAP 処理をバイパスします。

icap bypass streaming-media コマンドを使用して、ISTag が変わるごとにキャッシュ内のコンテンツの厳格な再チェックを強制的に実行させます。ISTAG は HTTP 応答ヘッダー内のフィールドであり、これによって、ICAP サーバからサービス固有のクッキーを ICAP クライアントに送信して、サービスの現在状態を示すことができます。サーバ バージョンの更新の結果として、ISTag がウィルス パターン ファイルやポリシーに変わる場合があります。

表12-1 は、各種の icap グローバル設定コマンド パラメータの説明です。

 

表12-1 icap コマンドのパラメータ

パラメータ
説明

append-x-headers

ICAP プロトコル ハンドシェイク中に x ヘッダーを付加します。デフォルトでは無効になっています。追加する各種 x ヘッダーとして複数のエントリを指定できます。

x-client-ip

ICAP サーバに送信する要求に x クライアント IP ヘッダーを付加します。デフォルトでは無効になっています。

x-server-ip

ICAP サーバに送信する要求に x サーバ IP ヘッダーを付加します。デフォルトでは無効になっています。

x-authenticated-user

ICAP サーバに送信する要求に x 認証ユーザ ヘッダーを付加します。デフォルトでは無効になっています。

x-authenticated-groups

ICAP サーバに送信する要求に x 認証グループ ヘッダーを付加します。デフォルトでは無効になっています。

apply

HTTP 要求の ICAP 処理を有効にします。

all

すべての HTTP 要求の ICAP 処理を有効にします。

rules-template

rule action use-icap-service グローバル設定コマンドを使用して、Rules Template(ルール テンプレート)に一致した HTTP 要求の ICAP 処理を有効にします。

bypass

要求された特定コンテンツのバイパスを有効にします。

streaming-media

ストリーミング メディアのバイパスを有効にします。

logging

ICAP サービスの使用時にロギング関連のオプションを指定します。

enable

ICAP サービス使用時にロギングを有効にします。

format

ロギング フォーマットを指定します。

custom

ロギング用にカスタマイズしたフォーマットを指定します。

word

カスタマイズしたロギングを識別するための語を指定します。

standard

ロギング用に標準フォーマットを指定します。

スタンドアロン Content Engine での ICAP サービスの設定

ACNS 5.1 またはそれ以降のソフトウェアでは、コンテンツ アダプテーションを使用する、3 つのベクタ ポイントをサポートしています(「ICAP サービスとベクタ ポイントについて」を参照)。

さまざまなベクタ ポイントで設定されている ICAP サーバが、特に要求変更プリキャッシュ ベクタ ポイントにおける HTTP 要求で過負荷になる可能性があります。すべての要求がこのポイントを通過するためです。そのため、ICAP サーバのクラスタ(ICAP サーバの負荷を分散するためのサーバ グループ)が設定可能になっています。ある特定のベクタ ポイントで、各種パラメータに基づいて ICAP クラスタ サーバ間で要求の負荷を分散できます。たとえば、重み付けされた負荷、クライアントとサーバの IP アドレス ベースのハッシュ、ラウンド ロビン形式などを選択できます。

1 つ以上の ICAP サービスをベクタ ポイントに関連付けることができます。1 つのベクタ ポイントに設定されている 1 つの ICAP サービスでは、サーバの数に関係なく、1 つの負荷分散方式しか設定できません。ただし、1 つまたはすべてのベクタ ポイントに設定されている複数の ICAP サービスでは、さまざまな負荷分散方式を設定できます。


ヒント ICAP Services for Content Engine ウィンドウの Aggregate Settings オプション ボタンをクリックした場合、Content Engine が属しているデバイス グループ用に以前設定した ICAP サービスを修正したり、削除することはできません。すなわち、デバイス グループ用に作成された ICAP サービスを表示することしかできません。


icap service グローバル設定コマンドを使用して、スタンドアロン Content Engine 用の ICAP サービスを設定します。

icap service service-id { enable | error-handling [ bypass | return-error] | load-balancing [ client-ip-hash | round-robin | server-ip-hash | weighted-load] | server url [ max-connections connection-number [ weight percentage ] | weight percentage [ max-connections connection-number ]] | vector-point [ reqmod-postcache | reqmod-precache | respmod_precache ] order order-number }

icap service service-id コマンドを使用して ICAP 設定モードに入り、特定の ICAP サービスを設定します。

service-id には、現行の ICAP サービス用に選択する名前を指定します。 icap service コマンドを入力して、ICAP サービスの名前を指定すると、システムは次のような ICAP サービス設定プロンプトを表示します。

ContentEngine(config-icap-service)#
 

ICAP サービス設定モード内では、入力するすべてのコマンドが現在の ICAP サービスに適用されます。

表12-2 は、スタンドアロン Content Engine に ICAP サービスを設定するための icap service コマンド パラメータを説明します。

 

表12-2 icap service コマンドのパラメータ

パラメータ
説明

service-id

現行の ICAP サービス用に選択する名前を指定します。

enable

ICAP サービスを使用可能にします。

error-handling

ICAP サービス使用時のエラー処理オプションを指定します。

bypass

サービスでエラーが発生したときにこのサービスをバイパスします。

return-error

エラー メッセージをクライアントに戻して、要求を終了します。

load-balancing

サービスの負荷分散 オプションを指定します。負荷分散 オプションの詳細については、 表12-3 を参照してください。

client-ip-hash

クライアント IP アドレスを使用した ICAP サーバへの負荷分散が可能です。

round-robin

ICAP サーバへのラウンド ロビン負荷分散が可能です。

server-ip-hash

ICAP サーバの IP アドレスを使用した負荷分散が可能です。

weighted-load

サーバ ベースで重み付けを指定する重み付け方式を使用した負荷分散を指定します。

表12-3 は、 icap service 負荷分散 オプションを説明します。

 

表12-3 icap service 負荷分散 オプション

負荷平衡型
説明

クライアント IP ハッシュ

クライアント IP アドレスに基づいたハッシュ ベースのアルゴリズムを使用して、クラスタ内で ICAP サーバの負荷を分散します。

ラウンドロビン

ICAP サーバが交代で HTTP 要求を処理するというラウンドロビン方式を使用します。

サーバ IP ハッシュ

サーバ IP アドレスに基づいたハッシュ ベースのアルゴリズムを使用して、クラスタ内で ICAP サーバの負荷を分散します。

重み付け

負荷容量が異なる複数の ICAP サーバから構成されるファームを使用します。

スタンドアロン Content Engine での ICAP サーバの設定

ICAP サーバは、さまざまなベクタ ポイントで設定された ICAP サービスに基づいて、クライアントからの HTTP 要求を処理します。ICAP サーバは、HTTP 要求の処理中に設定済みのベクタ ポイントで、要求または応答の変更やフィルタリングなどのコンテンツ アダプテーションを実行します。

接続の最大数や、サーバ クラスタ内で 1 台の ICAP サーバが処理できる重み付けを設定できます。weight(重み付け)パラメータは、ICAP サーバにリダイレクトできる負荷の比率を表します。40 の重みをもつ ICAP サーバとは、このサーバが 40 パーセントの負荷を処理することを表します。負荷分散されたクラスタにあるすべての ICAP サーバの重み付けの合計が 100 を超えると、各 ICAP サーバに対する負荷の比率が weight パラメータによって表されるパーセンテージを尺度として再計算されます。

icap service server グローバル設定コマンドを使用して、スタンドアロン Content Engine に設定済みの ICAP サービス用に ICAP サーバを設定します。

表12-4 は、スタンドアロン Content Engine に ICAP サーバを設定するための icap service server コマンド パラメータを説明します。

 

表12-4 icap service server コマンドのパラメータ

パラメータ
説明

server

ICAP サービス用に使用する ICAP サーバを URL を使用して有効にします。

url

icap:// ICAPserverIPaddress / servicename という形式に基づいた URL。

keepalive-interval

(オプション) キープアライブ間隔を指定します。このオプションは ACNS 5.2 ソフトウェアに追加されています。

keepalive-interval

キープアライブ間隔(秒数)。デフォルトは 60 秒です。有効な値は 1 ~ 3600 秒です。

max-connections

(オプション) 特定の ICAP サーバとの最大接続数を指定します。

connection-number

最大接続数(最大値は 5000 です)。

weight

(オプション)重み付けによる負荷分散方式を使用している場合に、負荷分散の重みの比率を設定します。

percentage

この ICAP サーバにリダイレクトできる負荷の比率(0 ~ 100)。 weighted-load の負荷分散方式を選択している場合は、このパラメータは定義しないでください。

vector-point

指定の ICAP サービスに使用するベクタ ポイントまたはコンテンツ処理モードを指定します。

reqmod-postcache

ICAP サーバから送信され、Content Engine にキャッシングされた要求の変更を可能します。

reqmod-precache

要求がオリジン サーバに向かう途中で Content Engine から ICAP サーバに送信されるときに、それらの要求の変更を可能にします。

respmod-precache

要求がオリジン サーバから戻された後にその要求の変更を可能にします。

order

使用するコンテンツ処理モードの順序を指定します。

order-number

コンテンツ処理モードが Content Engine への要求を処理する順序。

ICAP 交換のロギングの設定

icap logging グローバル設定コマンドを使用して、ICAP サーバとスタンドアロン Content Engine 間の ICAP 交換のためのトランザクション ロギングを設定し、有効にします。

icap logging { enable | format [ custom word | standard ]}

トランザクション ログの形式(カスタムまたは標準)を指定します。

ICAP の標準のロギング形式でトランザクション ログを作成する場合は、 standard を選択します。

標準の形式にはないフィールド追加してロギングする場合は、 custom を選択します。


) カスタマイズ形式のトランザクション ロギングは、ACNS 5.1、ACNS 5.2.x、または ACNS 5.3.x ソフトウェアではサポートされていません。Content Engine に設定されている ICAP サービスでは、標準のトランザクション ログ形式のみが使用可能です。


ICAP 設定に関する情報の表示

スタンドアロン Content Engine の現在の ICAP 設定情報を表示するには、show icap EXEC コマンドを使用します。このコマンドの出力には、有効な ICAP 機能のステータス、サービス定義、ベクタ ポイントのリスト、ICAP サービスの順序リストが示されます。

Content Engine に設定されている特定の ICAP サービスの定義とステータスを表示するには、show icap service service-name EXEC コマンドを使用します。

設定済みの ICAP サービスとそれらのステータスの順序リストを表示するには、show icap vector-point vector-point-name EXEC コマンドを使用します。

ContentEngine# show icap vector-point ?
reqmod-postcache Display reqmod-postcache information
reqmod-precache Display reqmod-precache information
respmod-precache Display rspmod-precache information

ICAP サービスの統計情報の表示

設定済みのすべての ICAP サービスに関する ICAP 統計情報を表示するには、show statistics icap EXEC コマンドを使用します。このコマンドには引数やキーワードを指定しません。デフォルトの機能や値もありません。次に、show statistics icap コマンドの出力例を示します。

ContentEngine# show statistics icap
ICAP-client statistics (http proxy)
---------------
 
Total requests for V1 via RPC: 0
Time per ICAP request (last 1k reqs): 0
ICAP daemon connection error: 0
Bad packets from ICAP daemon: 0
Error parsing HTTP req hdr from ICAP: 0
ICAP daemon internal error: 0
 
Total requests via outgoing proxy: 0
ICAP daemon overloaded: 0
Other errors: 0
ICAP Daemon statistics
---------------
 
Total requests served: 0
Total requests served: 0
Average latency in milliseconds: 0.000000
ICAP Service statistics
-----------------------
 
Service -- servforicap
Service Errors: 0
Service Bypasses: 0
Server -- icap://1.2.3.4/servforicap
Total Reqmods (0), Total Respmods (0)
Modifications (Reqmod - 0), (Respmod - 0)
No Modifications (Reqmod - 0), (Respmod - 0)
Error Responses (Reqmod - 0), (Respmod - 0)
Server Errors: 0
Server Bypasses: 0
Options Req Success: 0
Options Req Failed: 8569
Max Conn Available 0
Used Connections: 0
Total Bytes sent: 0
Total Bytes received: 0
Total BPS sent: 0.000000
Total BPS received: 0.000000
Server State: DISCONNECTED
ContentEngine#