インターネット コンテンツ適合プロトコル (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 セキュリティ ポリシーの構成
ICAP プール グループの構成
[プール グループ障害の設定] の [失敗アクション] フィールドを空白のままにします。
の順に移動し、プール グループを作成します。ICAP プールの構成
ICAP プールの作成に移動します。デフォルト ポートを 1344 に構成します。複数のサーバをプール メンバーとして追加できます。
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 プロファイル](前の手順で作成したもの)を選択します。
の順に移動し、必要な仮想サービスを選択し、HTTP セキュリティ ポリシーの作成
セキュリティ ポリシーを作成して、ICAP スキャンを実行するベースとなるルールを定義します。[編集] をクリックします。 の順に選択し、次のオプションを使用して新しいルールを作成します。
の順に移動し、目的の仮想サービスを選択し、ICAP 要求の一致基準を選択します
アクションとして [ICAP を有効にする] を選択します。
注:この手順で構成したルール名がログに表示されます。トラブルシューティングを容易にするため、説明がなくても理解できるようにします。
仮想サービス構成を保存します。
上記の手順で、仮想サービスの ICAP 構成は完了です。HTTP セキュリティ ポリシーのルールまたは一致基準に一致する仮想サービスの受信要求では、ICAP が使用されます。
NSX Advanced Load Balancer は、次の ICAP サーバ(サードパーティの AV マルウェア/CDR ベンダー)をサポートします。
MetaDefender ICAP サーバ(MetaDefender Core を使用)
ICAP スキャン用に OPSWAT サーバを設定するには、「OPSWAT ドキュメント」を参照してください。
制限事項
NSX Advanced Load Balancer での ICAP サポートの制限は次のとおりです。
ICAP は HTTP/2 仮想サービスではサポートされていません。
ICAP クライアントは応答コンテキストでは機能しません。