ICAP を使用したリモートコンテンツ検査
Internet Content Adaptation Protocol (ICAP) は、シンプルで軽量なオープンプロトコルです。通常、プロキシと、マルウェア対策のサポートおよびデータ漏洩防止サービスを提供するデバイス間で HTTP メッセージを転送するために使用されます。ICAP は、コンテンツ配信の柔軟性を高め、付加価値サービスを提供するために、コンテンツ適応のための標準インターフェイスを作成しました。ICAP クライアントは、HTTP 要求と応答を ICAP サーバに転送して処理します。ICAP サーバーは、要求に対して何らかの変換を実行し、要求または応答に対して適切なアクションを使用して ICAP クライアントに応答を返します。
Citrix Secure Web Gateway アプライアンスでのICAPの使用
注
コンテンツ検査機能を使用するには、SWG Edition ライセンスが必要です。
Citrix Secure Web Gateway(SWG)アプライアンスはICAPクライアントとして機能し、ポリシーを使用してICAPサーバーと通信します。アプライアンスは、マルウェア対策やデータ漏洩防止 (DLP) などの機能を専門とするサードパーティの ICAP サーバーと通信します。SWG アプライアンスで ICAP を使用すると、暗号化されたファイルもスキャンされます。セキュリティベンダーは、以前にこれらのファイルをバイパスしました。アプライアンスは SSL インターセプトを実行し、クライアントトラフィックを復号化し、ICAP サーバーに送信します。ICAP サーバーは、ウイルス、マルウェア、スパイウェアの検出、データリーク検査、またはその他のコンテンツ適応サービスをチェックします。アプライアンスはプロキシとして機能し、オリジンサーバからの応答を復号化し、それをプレーンテキストで ICAP サーバに送信して検査します。ICAP サーバに送信されるトラフィックを選択するためのポリシーを設定します。
要求モードフローは次のように動作します。
(1)Citrix SWGアプライアンスは、クライアントからの要求をインターセプトします。(2)アプライアンスは、アプライアンスに構成されたポリシーに基づいて、これらの要求をICAPサーバーに転送します。(3)ICAPサーバーは、「適応不要」、エラー、または変更要求を示すメッセージで応答します。アプライアンスは、(4)クライアントが要求したオリジンサーバーにコンテンツを転送するか、(5)クライアントに適切なメッセージを返します。
応答モードフローは次のように動作します。
(1)オリジンサーバーはCitrix SWGアプライアンスに応答します。(2)アプライアンスは、アプライアンスに構成されたポリシーに基づいて、応答をICAPサーバーに転送します。(3)ICAPサーバーは、「適応不要」、エラー、または変更要求を示すメッセージで応答します。(4)応答を受信した場合、アプライアンスは要求されたコンテンツをクライアントに転送するか、適切なメッセージを送信します。
Citrix Secure Web Gateway アプライアンスでのICAPの構成
次の手順では、Citrix SWGアプライアンス上でICAPを構成する方法について説明します。
- コンテンツ検査機能を有効にします。
- プロキシサーバを設定します。
- ICAP サーバを表す TCP サービスを設定します。SWG アプライアンスと ICAP サービスの間の安全な接続を確立するには、サービスタイプを SSL_TCP として指定します。セキュリティで保護された ICAP の詳細については、このページの「セキュリティで保護された ICAP」セクションを参照してください。
- 必要に応じて、負荷分散仮想サーバーを追加して、ICAP サーバーの負荷を分散し、ICAP サービスをこの仮想サーバーにバインドします。
- カスタム ICAP プロファイルを設定します。プロファイルには、ICAP サービスの URI またはサービスパス、および ICAP モード (要求または応答) を含める必要があります。HTTP および TCP のデフォルトプロファイルに似た ICAP デフォルトプロファイルはありません。
- コンテンツインスペクションアクションを設定し、ICAP プロファイル名を指定します。サーバー名パラメーターに、負荷分散仮想サーバー名または TCP/SSL_TCP サービス名を指定します。
- クライアントトラフィックを評価し、プロキシサーバにバインドするようにコンテンツインスペクションポリシーを設定します。このポリシーでコンテンツ検査アクションを指定します。
CLI を使用した ICAP の設定
次のエンティティを構成します。
-
本機能を有効にします。
enable ns feature contentInspection
-
プロキシサーバを設定します。
add cs vserver <name> PROXY <IPAddress>
例:
add cs vserver explicitswg PROXY 192.0.2.100 80
-
ICAP サーバを表すように TCP サービスを設定します。
add service <name> <IP> <serviceType> <port>
ICAP サーバーとの安全な接続の場合、サービスタイプを SSL_TCP として指定します。
例:
add service icap_svc1 203.0.113.100 TCP 1344
add service icap_svc 203.0.113.200 SSL_TCP 11344
-
負荷分散仮想サーバーを構成します。
add lb vserver <name> <serviceType> <IPAddress> <port>
例:
add lbvserver lbicap TCP 0.0.0.0 0
ICAP サービスを負荷分散仮想サーバーにバインドします。
bind lb vserver <name> <serviceName>
例:
bind lb vserver lbicap icap_svc
-
カスタム ICAP プロファイルを追加します。
add ns icapProfile <name> -uri <string> -Mode ( REQMOD | RESPMOD )
例:
add icapprofile icapprofile1 -uri /example.com -Mode REQMOD
パラメーター
名前
ICAP プロファイルの名前。ASCII 英数字またはアンダースコア (_) 文字で始まり、ASCII 英数字、アンダースコア、ハッシュ (#)、ピリオド (.)、スペース、 コロン (:)、アットマーク (@)、等号 (=)、ハイフン (-) のみを含める必要があります。
CLI ユーザー:名前に 1 つ以上のスペースが含まれている場合は、名前を二重引用符または一重引用符で囲みます (「my icap profile」や「my icap プロファイル」など)。
最大長:127
uri
ICAP サービスパスを表す URI。
最大長:511 文字
モード
ICAP モード。使用可能な設定は次のように機能します。
-
REQMOD: 要求変更モードでは、ICAP クライアントは HTTP 要求を ICAP サーバーに転送します。
-
RESPMOD: 応答変更モードでは、ICAP サーバーはオリジンサーバーから ICAP サーバーに HTTP 応答を転送します。
可能な値:REQMOD、RESPMOD
-
-
ポリシーが true を返した場合に実行するアクションを設定します。
add contentInspection action <name> -type ICAP -serverName <string> -icapProfileName <string>
例:
add contentInspection action CiRemoteAction -type ICAP -serverName lbicap -icapProfileName icapprofile1
-
トラフィックを評価するポリシーを設定します。
add contentInspection policy <name> -rule <expression> -action <string>
例:
add contentInspection policy CiPolicy -rule true -action CiRemoteAction
-
ポリシーをプロキシサーバーにバインドします。
bind cs vserver <vServerName> -policyName <string> -priority <positive_integer> -type [REQUEST | RESPONSE]
例:
bind cs vserver explicitswg -policyName CiPolicy -priority 200 -type REQUEST
GUI を使用して ICAP を構成する
次の手順を実行します。
-
[負荷分散] > [サービス] に移動し、[追加] をクリックします。
-
名前と IP アドレスを入力します。「 プロトコル」で、「 TCP」を選択します。[ポート] に 1344と入力します。[OK] をクリックします。
ICAP サーバへのセキュア接続の場合は、TCP_SSL プロトコルを選択し、ポートを 11344 と指定します。
-
[ Secure Web Gateway ] > [ プロキシ仮想サーバー] に移動します。プロキシ仮想サーバーを追加するか、仮想サーバーを選択して「 編集」をクリックします。詳細を入力したら、[OK] をクリックします。
もう一度 [OK] をクリックします 。
-
[詳細設定]で、[ポリシー] をクリックします。
-
「ポリシーの選択」で、「 コンテンツ検査」を選択します。[続行] をクリックします。
-
[ポリシーの選択] で、[+] 記号をクリックしてポリシーを追加します。
-
ポリシーの名前を入力します。[アクション] で、[+] 記号をクリックしてアクションを追加します。
-
アクションの名前を入力します。[サーバー名]に、以前に作成した TCP サービスの名前を入力します。ICAPプロファイルで、「+」記号をクリックしてICAPプロファイルを追加します。
-
プロファイル名「URI」を入力します。「 モード」で「 REQMOD」を選択します。
-
[作成] をクリックします。
-
「 ICAPアクションの作成 」ページで、「 作成 」をクリックします。
-
ICAP ポリシーの作成 ページで、 式エディター に true と入力します。次に、[作成] をクリックします。
-
[バインド] をクリックします。
-
コンテンツ検査機能を有効にするように求められたら、[ はい]を選択します。
-
[完了] をクリックします。
安全な ICAP
SWG アプライアンスと ICAP サーバー間の安全な接続を確立できます。これを行うには、TCP サービスの代わりに SSL_TCP サービスを作成します。SSL_TCP タイプの負荷分散仮想サーバーを構成します。ICAP サービスを負荷分散仮想サーバーにバインドします。
CLI を使用したセキュア ICAP の設定
コマンドプロンプトで、次のように入力します。
add service <name> <IP> SSL_TCP <port>
add lb vserver <name> <serviceType> <IPAddress> <port>
bind lb vserver <name> <serviceName>
例:
add service icap_svc 203.0.113.100 SSL_TCP 1344
add lbvserver lbicap SSL_TCP 0.0.0.0 0
bind lb vserver lbicap icap_svc
<!--NeedCopy-->
GUI を使用したセキュア ICAP の設定
- [ 負荷分散 ] > [ 仮想サーバー] に移動し、[ 追加] をクリックします。
- 仮想サーバの名前、IPアドレス、およびポートを指定します。SSL_TCPとしてプロトコルを指定します。
- [OK] をクリックします。
- [ 負荷分散仮想サーバーサービスのバインド ] セクション内をクリックして、ICAP サービスを追加します。
- 「+」をクリックしてサービスを追加します。
- サービス名、IP アドレス、プロトコル(SSL_TCP)、およびポート(セキュア ICAP のデフォルトポートは 11344)を指定します。
- [OK] をクリックします。
- [完了] をクリックします。
- [バインド] をクリックします。
- [ 続行 ] を2回クリックします
- [完了] をクリックします。
制限事項
次の機能はサポートされていません。
- ICAP 応答キャッシング。
- X-認証ユーザー URI ヘッダーを挿入しています。
- RESPMOD の ICAP 要求に HTTP 要求を挿入します。