インターネット コンテンツ適合プロトコル (ICAP) は、HTTP メッセージをサードパーティのサービスに転送するための軽量の HTTP に似たプロトコルです。サーバはメッセージに対して変換サービスを実行し、通常は変更されたメッセージを含む応答をクライアントに返します。

ICAP の詳細については、RFC3507 を参照してください。

ICAP は、NSX Advanced Load Balancer を介した HTTP 要求処理に対してサポートされます。NSX Advanced Load Balancer 内に ICAP クライアント機能を実装すると、次の使用事例がサポートされます。

  • ウイルス対策スキャン:サードパーティのウイルス対策スキャン エンジンの使用

  • コンテンツのサニタイズ:サードパーティのコンテンツ サニタイズ サービスの使用

  • URL フィルタリングなど、ICAP サービスを使用するその他の要求変更オプション

ICAP 用の NSX Advanced Load Balancer の構成

ICAP クライアントとしての NSX Advanced Load Balancer は、次の機能をサポートします。

  • プレビュー機能

  • ペイロードのストリーミング

  • コンテンツの書き換え

NSX Advanced Load Balancer で仮想サービスの ICAP を有効にするための主な構成コンポーネントは次のとおりです。

  • ICAP プール グループの構成

  • ICAP プロファイル(仮想サービスに添付されたもの)の構成

  • アクションが [ICAP を有効にする] に設定された仮想サービスの HTTP ポリシーの構成

  • 仮想サービスへの ICAP プロファイルの関連付け

  • ICAP の HTTP セキュリティ ポリシーの構成

  1. ICAP プール グループの構成

    [アプリケーション] > [プール グループ] の順に移動し、プール グループを作成します。[プール グループ障害の設定][失敗アクション] フィールドを空白のままにします。



  2. ICAP プールの構成

    ICAP プールの作成に移動します。デフォルト ポートを 1344 に構成します。複数のサーバをプール メンバーとして追加できます。

    1. ICAP プロファイルの構成

      ICAP プロファイル構成で使用されるさまざまな属性については、次の表を参照してください。

      構成項目

      説明

      Example

      名前

      このプロファイルの名前

      ICAP-APPX

      クラウド

      これが関連付けられているクラウド オブジェクトを指定します

      Default-Cloud

      プール グループ

      すべての ICAP サーバ プールのプール グループ

      ICAP-Pool-Group

      ベンダー

      ベンダーがサポートされている場合のベンダー固有の構成

      OPSWAT

      Generic-ICAP

      サービス URL

      ICAP サーバ サービス URL

      OPSWAT を使用する場合:/OMSScanReq-AV

      要求バッファ サイズ

      要求本文の最大バッファ サイズ

      デフォルト:51,200 (50 MB)

      ICAP プレビューを有効にする

      ICAP プレビュー機能を有効にします。ICAP サーバは、プレビュー サイズ ペイロードを調べることで決定を下すことができます。

      デフォルト:有効(ブール値)

      プレビュー サイズ

      ICAP プレビューのペイロード サイズ

      デフォルト:5,000 (5 MB)

      応答のタイムアウト

      このしきい値に達すると、要求はエラーとして処理され、失敗アクションが実行されます

      デフォルト:60,000(60 秒)

      低速応答の警告しきい値

      このしきい値に達すると、要求は重要なログに入力されますが、引き続き処理されます

      デフォルト:10,000(10 秒)

      アクション

      説明

      Example

      失敗アクション

      ICAP サーバでのエラーの処理。フェイル クローズの場合は、エラーが発生すると 503 が送信されます。

      フェイル クローズ/フェイル オープン

      大容量アップロードの失敗アクション

      サイズ超過エラーの処理。フェイル クローズの場合は、エラー 413 が送信されます。

      フェイル クローズ/フェイル オープン

      [仮想サービス] > [編集] > [ICAP プロファイルまたはテンプレート] > [プロファイル] > [ICAP プロファイル] の順に移動して、ICAP プロファイルを作成します。



  3. [アプリケーション] > [仮想サービス] の順に移動し、必要な仮想サービスを選択し、[ICAP プロファイル](前の手順で作成したもの)を選択します。



  4. HTTP セキュリティ ポリシーの作成

    セキュリティ ポリシーを作成して、ICAP スキャンを実行するベースとなるルールを定義します。[アプリケーション] > [仮想サービス] の順に移動し、目的の仮想サービスを選択し、[編集] をクリックします。[ポリシー] > [HTTP セキュリティ] の順に選択し、次のオプションを使用して新しいルールを作成します。

    • ICAP 要求の一致基準を選択します

    • アクションとして [ICAP を有効にする] を選択します。



    注:

    この手順で構成したルール名がログに表示されます。トラブルシューティングを容易にするため、説明がなくても理解できるようにします。

  5. 仮想サービス構成を保存します。

    上記の手順で、仮想サービスの ICAP 構成は完了です。HTTP セキュリティ ポリシーのルールまたは一致基準に一致する仮想サービスの受信要求では、ICAP が使用されます。

    NSX Advanced Load Balancer は、次の ICAP サーバ(サードパーティの AV マルウェア/CDR ベンダー)をサポートします。

    • OPSWAT

    • MetaDefender ICAP サーバ(MetaDefender Core を使用)

    ICAP スキャン用に OPSWAT サーバを設定するには、「OPSWAT ドキュメント」を参照してください。

制限事項

NSX Advanced Load Balancer での ICAP サポートの制限は次のとおりです。

  • ICAP は HTTP/2 仮想サービスではサポートされていません。

  • ICAP クライアントは応答コンテキストでは機能しません。