高度なポリシーインフラ
高度なポリシーインフラストラクチャを使用すると、多くのデータ(たとえば、HTTP リクエストの本文)を分析したり、ポリシールールでさまざまな操作を設定したりできます(たとえば、リクエストの本文のデータを HTTP ヘッダーに変換するなど)。ポリシーは、NetScaler機能に関連する処理の特定のポイントにバインドする必要があります。バインドポイントは、ポリシーがいつ評価されるかを決定する要素の 1 つです。
高度なポリシーを使用する利点
高度なポリシーでは、クラスオブジェクトモデルに基づいて構築された強力な表現言語が使用され、さまざまなNetScaler機能の動作をより簡単に構成できるようにするオプションがいくつか用意されています。高度なポリシーインフラストラクチャを使用すると、次のことが可能になります。
- レイヤ 2 ~ 7 のネットワークトラフィックのきめ細かな分析を実行します。
- HTTP または HTTPS リクエストまたはレスポンスのヘッダーまたは本体の任意の部分を評価します。
- 高度なポリシーインフラストラクチャがデフォルト、オーバーライド、および仮想サーバーレベルでサポートする複数のバインドポイントにポリシーをバインドします。
- パターンセット、ポリシーラベル、レート制限識別子、HTTP コールアウト、変数などの特別なツールを使用すると、複雑なユースケースに対してポリシーを効果的に設定できます。
また、構成ユーティリティは、高度なポリシーインフラストラクチャと式に対する堅牢なGUIサポートを拡張し、ネットワークプロトコルに関する知識が限られているユーザーでもポリシーをすばやく簡単に構成できるようにします。構成ユーティリティには、高度なポリシー用のポリシー評価機能も含まれています。この機能を使用すると、コミットする前に高度なポリシーを評価し、その動作をテストできるため、設定エラーのリスクが軽減されます。
詳細ポリシーの基本コンポーネント
次に、高度なポリシーの特性をいくつか示します。
-
名前。各ポリシーには一意の名前があります。
-
ルール。ルールは、NetScaler ADC機能がトラフィックの一部または別のオブジェクトを評価できるようにする論理式です。たとえば、ルールにより、NetScaler ADCは、HTTPリクエストが特定のIPアドレスから発信されたかどうか、またはHTTPリクエストのCache-Controlヘッダーの値が「No-Cache」であるかどうかを判断できます。
-
バインディング。NetScaler ADCが必要なときにポリシーを呼び出すことができるようにするには、ポリシーを1つ以上のバインドポイントに関連付ける(バインドする)。
ポリシーは、グローバルにバインドすることも、仮想サーバにバインドすることもできます。詳細については、「 ポリシーバインディングについて」を参照してください。
-
関連付けられたアクション。アクションは、ポリシーとは別のエンティティです。ポリシーの評価は、最終的にNetScaler ADCがアクションを実行します。
たとえば、統合キャッシュ内のポリシーは、.gif または.jpeg ファイルに対する HTTP 要求を識別できます。このポリシーに関連付けるアクションによって、これらのタイプの要求に対する応答がキャッシュから提供されることが決定されます。
一部の機能では、プロファイルと呼ばれるより複雑な一連の手順の一部としてアクションを設定します。
NetScaler ADC機能の異なるポリシーの使用方法
NetScaler ADCは、操作にポリシーに依存するさまざまな機能をサポートしています。次の表は、NetScaler ADC機能がポリシーをどのように使用するかをまとめたものです。
機能名 | 機能でのポリシーの使用方法 |
---|---|
書き換え | 提供する前に変更したいデータを特定するため。ポリシーは、データを変更するためのルールを提供します。たとえば、HTTP データを変更して、要求を新しいホームページ、新しいサーバー、または着信要求のアドレスに基づいて選択したサーバーにリダイレクトしたり、セキュリティ上の目的で応答のサーバー情報をマスクするようにデータを変更したりできます。URL トランスフォーマー関数は、URL を変換する必要があるかどうかを評価するために、HTTP トランザクションとテキストファイル内の URL を識別します。 |
レスポンダー | レスポンダー関数の動作を構成するには。レスポンダーポリシーは、1 つ以上の式で構成されるルールに基づいています。ルールは、リクエストがルールに一致した場合に実行されるアクションに関連付けられます。 |
コンテンツスイッチ | 受信したリクエストの特性に基づいて、どのサーバーまたはサーバーグループが応答を処理するかを決定すること。要求特性には、デバイスタイプ、言語、Cookie、HTTP メソッド、コンテンツタイプ、および関連するキャッシュサーバが含まれます。 |
キャッシュリダイレクト | レスポンスがキャッシュまたはオリジンサーバーのどちらから提供されているかを判断する。 |
圧縮制御 | どのタイプのトラフィックを圧縮する必要があるかを判断するため。 |
DNS | DNS 要求と応答のさまざまな部分を変更するには |
VPN クライアントレスアクセス | NetScaler Gatewayが認証、承認、監査、およびその他の機能を実行する方法を決定し、NetScaler Gateway を使用して一般的なWebアクセスの書き換えルールを定義する。 |
キャッシュ | キャッシュとオリジンサーバーのどちらから応答を返すかを決定するため。 |
URL 変換ポリシー | NetScalerがURL変換プロファイルを使用して変換する必要がある要求と応答を選択すること。 |
アプリケーションファイアウォールポリシー | さまざまな種類の Web コンテンツに異なるフィルタールールを割り当てること。 |
承認 | ウェブサイトの実際の構成に関する不必要な詳細を公開することなく、要求されたコンテンツへのアクセスを提供すること。 |
TM トラフィック | 実行時のアプリケーショントラフィックの特性 (接続タイムアウト、シングルサインオン、ログアウトの開始など) を設定します。 |
TM セッション | ユーザーが承認、承認、およびアカウンティング仮想サーバーにログオンした後にユーザーセッションをカスタマイズする。 |
SSL ポリシー | リクエストに対して実行されるコントロールまたはデータアクションを定義すること。そのため、SSL ポリシーは、制御ポリシーとデータポリシーに分類できます。制御ポリシーは、クライアント認証の強制などの制御アクションを使用します。データポリシーは、リクエストへのデータの挿入などのデータアクションを使用します。 |
Autoscale | 定義された条件に従って、仮想サーバーの数をシームレスかつ自動的にスケールアップまたはスケールダウンすること。 |
AppFlow | NetScalerがフローデータを収集ツールにエクスポートできるようにするため。多くの場合、ネットワーク分析やセキュリティ分析に使用されます。 |
コンテンツ最適化 | クライアントとサーバー間のトランザクション時間を短縮し、帯域幅の消費量を減らすため。また、一部のタスクをオフロードして他のタスクをより効率的にすることで、サーバーのパフォーマンスを向上させることもできます。 |
スピルオーバー | NetScalerルールを使用して、スピルオーバーが発生する条件を指定すること。ルールにより、さまざまな運用条件に合わせてスピルオーバーを柔軟に設定できます。 |
ICA | ICAP リクエストを動的に生成するには、ICAP レスポンスを受信し、コンテンツ検査データを記録します。 |
VPN セッション | NetScaler Gatewayで、エンドポイント分析(EPA)を構成して、ユーザーデバイスが特定のセキュリティ要件を満たしているかどうかを確認し、それに応じてユーザーに内部リソースへのアクセスを許可します。 |
VPN トラフィック | NetScaler Gatewayで、エンドポイント分析(EPA)を構成して、ユーザーデバイスが特定のセキュリティ要件を満たしているかどうかを確認し、それに応じてユーザーに内部リソースへのアクセスを許可します。 |
syslog | 指定した Syslog サーバにどのメッセージを記録するかを定義します。 |
nslog | 指定した nslog サーバにどのメッセージを記録するかを定義します。 |
ビデオ最適化検出 | 検出ポリシーをバインドできるユーザー定義のビデオ最適化検出ポリシーラベルを作成します。ポリシーラベルは、一連のポリシーを指定された順序で評価するためのツールです。ポリシーラベルを使用すると、次のポリシーを選択したり、別のポリシーラベルを呼び出したり、前のポリシーが TRUE または FALSE のどちらと評価されたかを確認してポリシー評価を完全に終了したりするようにビデオ最適化機能を設定できます。 |
トンネリング | トンネリングされたトラフィックに使用する圧縮タイプを定義します。 |
コンテンツ検査 | NetScaler ADCがインターセプトして指定されたアクションを実行するリクエストを指定します。 |
VPN URL | 種類に応じて Web サイトリンクまたはファイル共有リンクとしてアクセスインターフェイスに表示される外部または内部リソースへのブックマークリンクを作成します。 |
ボット | ポリシーをバインドできるユーザー定義のボットポリシーラベルを作成します。ポリシーラベルは、一連のポリシーを指定された順序で評価するためのツールです。ポリシーラベルを使用すると、前のポリシーが TRUE または FALSE のいずれと評価されたかを確認して次のポリシーを選択したり、別のポリシーラベルを呼び出したり、ポリシー評価を完全に終了したりするようにレスポンダー機能を構成できます。 |
VPN イントラネットアプリケーションポリシー | NetScaler Gateway経由でアクセスできるようにするイントラネットアプリケーションを定義すること。 |
SmartAccess | 機能のステータス (デフォルトまたは無効) を指定するICAアクセスプロファイルを作成する。 |
負荷分散 | 管理対象の負荷分散されたサーバー間でクライアント接続を分散する方法を定義します。 |
アクションとプロファイルについて
ポリシー自体は、データに対してアクションを実行しません。ポリシーは、トラフィックを評価するための読み取り専用ロジックを提供します。ポリシー評価に基づいて操作を実行する機能を有効にするには、アクションまたはプロファイルを設定し、それらをポリシーに関連付けます。
注:
アクションとプロファイルは特定の機能に固有です。アクションとプロファイルをフィーチャーに割り当てる方法については、各機能のドキュメントを参照してください。
アクションについて
アクションは、ポリシー内の式の評価に応じて、NetScaler ADCが実行する手順です。たとえば、ポリシー内の式がリクエスト内の特定の送信元 IP アドレスと一致する場合、このポリシーに関連付けられているアクションによって、接続が許可されるかどうかが決まります。
NetScaler ADCが実行できるアクションの種類は、機能に固有です。たとえば、Rewrite では、アクションによってリクエスト内のテキストを置き換えたり、リクエストの宛先 URL を変更したりできます。統合キャッシュでは、アクションによって HTTP 応答がキャッシュまたはオリジンサーバーのどちらから提供されるかが決まります。
NetScaler ADC機能の中には、アクションが事前定義されているものもあれば、構成可能なものもあります。場合によっては (リライトなど)、関連するポリシールールの設定に使用するのと同じタイプの式を使用してアクションを設定します。
注:
機能、プロトコル、方向、およびエンティティのすべての組み合わせが有効であるとは限りません。
プロファイルについて
一部のNetScaler ADC機能では、プロファイル、またはアクションとプロファイルの両方をポリシーに関連付けることができます。プロファイルは、機能が複雑な機能を実行できるようにする設定の集まりです。たとえば、アプリケーションファイアウォールでは、XML データのプロファイルで、不正な XML 構文や SQL インジェクションの証拠がないかデータを調べるなど、複数のスクリーニング操作を実行できます。
ポリシーバインディングについて
ポリシーは、ポリシーを呼び出すことができるエンティティに関連付けられるか、エンティティにバインドされます。たとえば、すべての仮想サーバーに適用される要求時の評価にポリシーをバインドできます。特定のバインドポイントにバインドされたポリシーのコレクションは、ポリシーバンクを構成します。
以下は、ポリシーのさまざまなタイプのバインドポイントの概要です。
- リクエスト時間グローバル。ポリシーは、要求時に機能のすべてのコンポーネントで使用できます。
- レスポンス・タイム・グローバル。ポリシーは、応答時に機能のすべてのコンポーネントで使用できます。
- 要求時間、仮想サーバ固有。ポリシーは、特定の仮想サーバーの要求時処理にバインドできます。たとえば、要求時間ポリシーをキャッシュリダイレクト仮想サーバーにバインドして、特定の要求がキャッシュの負荷分散仮想サーバーに転送され、他の要求がオリジンの負荷分散仮想サーバーに送信されるようにすることができます。
- 応答時間、仮想サーバ固有。ポリシーは、特定の仮想サーバーの応答時間処理にバインドすることもできます。
- ユーザー定義のポリシーラベル。高度なポリシーインフラストラクチャでは、ポリシーラベルを定義し、そのポリシーラベルの下で関連するポリシーのセットを集めることで、ポリシー(ポリシーバンク)のカスタムグループを設定できます。
- その他のバインドポイント。追加のバインドポイントを利用できるかどうかは、高度なポリシーの種類と、関連するNetScaler機能の仕様によって異なります。
高度なポリシーバインディングの詳細については、「 高度なポリシーを使用するバインドポリシー 」を参照してください。
ポリシーの評価順序について
NetScalerの機能は、機能のポリシーの評価や選択したアクションの実行など、特定の順序で処理されます。詳細については、「 パケットフロー」を参照してください。
メッセージ処理の任意の時点で、次の組み合わせに応じてポリシー評価が実行されます。
- プロトコル (HTTP、SIP TCP、Diameter など)
- 方向 (要求または応答)
- 機能 (リライト、レスポンダー、ボットなど)
組み合わせを混同することはできません。ポリシーは、バンク(ポリシーラベルまたはバインドポイントとも呼ばれます)と呼ばれるポリシーのグループで次の順序で評価されます。
- グローバルオーバーライド
- 特定の LB 仮想サーバーが使用されています
- 特定の CS 仮想サーバーが使用されている場合
- グローバルデフォルト
銀行内では、保険契約は優先順位が最も低いものから最も高いものへと評価されます。ポリシー・ルールが「false」と評価された場合、評価は自動的に同じ銀行で次に番号が付けられた優先度に移されます。同じ銀行にポリシー・ルールがない場合、評価は順序内の次の銀行の最初のポリシーに委ねられます。ポリシーがなくなると、ポリシー評価は終了します。ポリシールールが true と評価されると、対応するアクションまたはプロファイルが記憶され、後で実行できるようになります。
ポリシーが true と評価されると、「GoToPriorityExpression」の値がチェックされます。「GoToPriorityExpression」が「END」の場合、ポリシー評価は停止します。「NEXT」の場合、(上記の) 次のポリシーが評価されます。式の場合は、その式が評価され、その優先度を持つポリシーが次に選択されます。
注:
ポリシーラベル以外のデフォルトの「gotoPriorityExpression」値は「END」です。ただし、すべてのアクションを実行できる一部の機能では、「GoToPriorityExpression」値を明示的に指定することをおすすめします。
ポリシー評価が停止すると、機能はアクションまたはプロファイルの順序付きリストを実行します。これらの機能は、すべてのアクション (たとえば、書き換え) を実行するか、1 つのアクション (たとえば、レスポンダー、ボット) を実行します。1 つしか実行できない機能に複数のアクションまたはプロファイルが関連付けられている場合、標準では最後のアクションまたはプロファイルが実行されます。アクションまたはプロファイルが選択されていない場合、機能はデフォルトのアクションを実行します。
トラフィックフローに基づく評価の順序
一部のポリシーは、他のポリシーの結果に影響します。以下はその例です。
-
統合キャッシュから応答が提供される場合、他のNetScaler ADC機能の一部は、応答または応答を開始した要求を処理しません。
-
アプリケーションファイアウォールが着信要求を拒否した場合、他の機能では要求を処理できません。
-
Responder によって実行されるほとんどのアクションは、それ以降の処理を停止します。
-
Rewrite によって実行される Drop アクションと Reset アクションは、それ以降の処理を停止します。