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) ICAPサーバーからの応答に応じて、アプライアンスは要求されたコンテンツをクライアントに転送するか、適切なメッセージを送信します。

Citrix Secure Web GatewayアプライアンスでのICAPの設定

Citrix SWGアプライアンスでICAPを設定する手順は次のとおりです。

  1. コンテンツ検査機能を有効にします。
  2. プロキシサーバーを設定します。
  3. ICAPサーバーを表すTCPサービスを設定します。SWGアプライアンスとICAPサービス間のセキュアな接続を確立するには、サービスタイプをSSL_TCPとして指定します。セキュアICAPの詳細については、このページの後半にある「セキュアICAP」セクションを参照してください。
  4. オプションで、ICAPサーバーの負荷分散のために負荷分散仮想サーバーを追加し、この仮想サーバーにICAPサービスをバインドします。
  5. カスタムICAPプロファイルを設定します。プロファイルには、ICAPサービスのURIまたはサービスパス、およびICAPモード (リクエストまたはレスポンス) を含める必要があります。HTTPおよびTCPのデフォルトプロファイルのようなICAPのデフォルトプロファイルはありません。
  6. コンテンツ検査アクションを設定し、ICAPプロファイル名を指定します。サーバー名パラメーターに、負荷分散仮想サーバー名またはTCP/SSL_TCPサービス名を指定します。
  7. クライアントトラフィックを評価し、プロキシサーバーにバインドするためのコンテンツ検査ポリシーを設定します。このポリシーでコンテンツ検査アクションを指定します。

CLIを使用したICAPの設定

次のエンティティを設定します。

  1. 機能を有効にします。

    enable ns feature contentInspection

  2. プロキシサーバーを設定します。

    add cs vserver <name> PROXY <IPAddress>

    :

    add cs vserver explicitswg PROXY 192.0.2.100 80

  3. 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

  4. 負荷分散仮想サーバーを設定します。

    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

  5. カスタムICAPプロファイルを追加します。

    add ns icapProfile <name> -uri <string> -Mode ( REQMOD | RESPMOD )

    :

    add icapprofile icapprofile1 -uri /example.com -Mode REQMOD

    パラメーター

    name

    ICAPプロファイルの名前。ASCII英数字またはアンダースコア (_) 文字で始まり、ASCII英数字、アンダースコア、ハッシュ (#)、ピリオド (.)、スペース、コロン (:)、アットマーク (@)、等号 (=)、ハイフン (-) 文字のみを含める必要があります。

    CLIユーザー: 名前に1つ以上のスペースが含まれる場合は、二重引用符または単一引用符で囲みます (例: “my icap profile” または ‘my icap profile’)。

    最大長: 127

    uri

    ICAPサービスパスを表すURI。

    最大長: 511文字

    Mode

    ICAPモード。利用可能な設定は次のとおりです。

    • REQMOD: リクエスト変更モードでは、ICAPクライアントはHTTPリクエストをICAPサーバーに転送します。

    • RESPMOD: レスポンス変更モードでは、ICAPサーバーはオリジンサーバーからのHTTPレスポンスをICAPサーバーに転送します。

      可能な値: REQMOD、RESPMOD

  6. ポリシーがtrueを返す場合に実行するアクションを設定します。

    add contentInspection action <name> -type ICAP -serverName <string> -icapProfileName <string>

    :

    add contentInspection action CiRemoteAction -type ICAP -serverName lbicap -icapProfileName icapprofile1

  7. トラフィックを評価するポリシーを設定します。

    add contentInspection policy <name> -rule <expression> -action <string>

    :

    add contentInspection policy CiPolicy -rule true -action CiRemoteAction

  8. ポリシーをプロキシサーバーにバインドします。

    bind cs vserver <vServerName> -policyName <string> -priority <positive_integer> -type [REQUEST | RESPONSE]

    :

    bind cs vserver explicitswg -policyName CiPolicy -priority 200 -type REQUEST

GUIを使用したICAPの設定

次の手順を実行します。

  1. 負荷分散 > サービス に移動し、追加 をクリックします。

    TCPサービスの追加

  2. 名前とIPアドレスを入力します。プロトコルTCP を選択します。ポート1344 と入力します。OK をクリックします。

    ICAPサーバーへのセキュアな接続には、TCP_SSLプロトコルを選択し、ポートを11344として指定します。

    TCPサービスOK

  3. Secure Web Gateway > プロキシ仮想サーバー に移動します。プロキシ仮想サーバーを追加するか、仮想サーバーを選択して 編集 をクリックします。詳細を入力したら、OK をクリックします。

    プロキシサーバー

    もう一度 OK をクリックします。

    プロキシサーバーOK

  4. 詳細設定 で、ポリシー をクリックします。

    ポリシーの追加

  5. ポリシーの選択 で、コンテンツ検査 を選択します。続行 をクリックします。

    CIポリシーの追加

  6. ポリシーの選択 で、+ 記号をクリックしてポリシーを追加します。

    CIポリシー2の追加

  7. ポリシーの名前を入力します。アクション で、+ 記号をクリックしてアクションを追加します。

    CIポリシーアクションの追加

  8. アクションの名前を入力します。サーバー名 に、以前作成したTCPサービスの名前を入力します。ICAPプロファイル で、+ 記号をクリックしてICAPプロファイルを追加します。

    ICAPアクションプロファイル

  9. プロファイル名、URIを入力します。モードREQMOD を選択します。

    ICAPプロファイル

  10. 作成 をクリックします。

    ICAPプロファイルの作成

  11. ICAPアクションの作成 ページで、作成 をクリックします。

    ICAPアクションの作成

  12. ICAPポリシーの作成 ページで、式エディター に「true」と入力します。次に、作成 をクリックします。

    ICAPポリシーの作成

  13. バインド をクリックします。

    ICAPポリシーのバインド

  14. コンテンツ検査機能を有効にするよう求められたら、はい を選択します。

    CI機能の有効化

  15. 完了 をクリックします。

    完了

セキュア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の設定

  1. 負荷分散 > 仮想サーバー に移動し、追加 をクリックします。
  2. 仮想サーバーの名前、IPアドレス、ポートを指定します。プロトコルをSSL_TCPとして指定します。
  3. OK をクリックします。
  4. 負荷分散仮想サーバーサービスバインド セクション内をクリックして、ICAPサービスを追加します。
  5. + をクリックしてサービスを追加します。
  6. サービス名、IPアドレス、プロトコル (SSL_TCP)、およびポート (セキュアICAPのデフォルトポートは11344) を指定します。
  7. OK をクリックします。
  8. 完了 をクリックします。
  9. バインド をクリックします。
  10. 続行 を2回クリックします。
  11. 完了 をクリックします。

制限事項

次の機能はサポートされていません。

  • ICAPレスポンスのキャッシュ
  • X-Auth-User-URIヘッダーの挿入
  • RESPMODでのICAPリクエストへのHTTPリクエストの挿入
ICAPを使用したリモートコンテンツ検査