Citrix ADC

コンテンツフィルタポリシーを構成する

コンテンツフィルタリングを実装するには、少なくとも1つのポリシーを構成して、フィルタリングする接続を区別する方法をCitrix ADCアプライアンスに指示する必要があります。ポリシーを設定するときに、そのポリシーをアクションに関連付けるため、少なくとも 1 つのフィルタリングアクションを最初に設定しておく必要があります。

コンテンツフィルタポリシーでは、次の 1 つ以上の要素の組み合わせを調べて、フィルタリングする要求または応答を選択します。

  • URL: HTTP リクエスト内の URL。

  • URL クエリ: URL のクエリ部分のみ。クエリの後の部分 (?) 記号で指定します。

  • URL トークン: URL 内のトークンのみ (ある場合)。アンパサンド (&) で始まり、トークン名、等号 (=)、トークン値が続く部分です。

  • HTTP メソッド: リクエストで使用される HTTP メソッド。通常は GET または POST ですが、定義された 8 つの HTTP メソッドのいずれかを指定できます。

  • HTTP バージョン: リクエスト内の HTTP バージョン。通常は HTTP 1.1 です。

  • 標準HTTPヘッダー: HTTP 1.1仕様で定義された標準HTTPヘッダーのいずれか。

  • 標準 HTTP ヘッダー値: HTTP ヘッダーの値部分。コロンとスペース (:) の後の部分です。

  • カスタム HTTP ヘッダー: Web サイトによって発行された、またはユーザー要求に表示される非標準の HTTP ヘッダー。

  • カスタムヘッダー値: カスタムHTTPヘッダーの値部分。(標準HTTPヘッダーと同様に)コロンとスペース(:)の後の部分です。

  • クライアント送信元 IP: クライアント要求の送信元 IP。

コンテンツフィルタポリシーでは、従来の式と呼ばれる2つのCitrix ADC式言語のうち、より単純なものが使用されます。クラシックエクスプレッションの詳細、そのしくみ、およびそれらを手動で設定する方法については、「ポリシーと式」を参照してください。

注: Citrix ADCコマンドラインでポリシーを構成した経験がないユーザーは、通常、構成ユーティリティーの使用がかなり簡単になります。

CLI を使用したコンテンツフィルタポリシーの設定

コマンドプロンプトで次のコマンドを入力して、コンテンツフィルタポリシーを構成し、構成を確認します。

-  add filter policy <name> -rule <expression> (-reqAction <action> | -resAction <string>
-  show filter policy <name>

例:

> add filter policy cf-pol -rule "REQ.HTTP.URL CONTAINS http://abc.com" -reqaction DROP
 Done
> show filter policy cf-pol
1)      Name: cf-pol    Rule: REQ.HTTP.URL CONTAINS http://abc.com
        Request action: DROP
        Response action:
        Hits: 0
 Done

GUI を使用したコンテンツフィルタポリシーの構成

  1. [セキュリティ] > [保護機能] > [フィルタ] に移動します。
  2. [保護機能] > [フィルタ] に移動します。
  3. 詳細ウィンドウで、新しいポリシーを作成するには、[追加] をクリックします。
  4. 新しいポリシーを作成する場合は、[フィルタポリシーの作成] ダイアログボックスの [フィルタ名] テキストボックスに、新しいポリシーの名前を入力します。
  5. 「アクションのリクエスト」または「レスポンスアクション」を選択して、そのアイテムの右側にあるドロップダウンリストを有効にします。
  6. ドロップダウンリストの右側にある下向き矢印をクリックし、リクエストまたはレスポンスに対して実行するアクションを選択します。デフォルトの選択肢は、[リセット] と [ドロップ] です。作成したその他のアクションも、このリストに表示されます。 注記: 「新規」( New) をクリックして新しいコンテンツフィルタアクションを作成するか、「変更」 (Modify) をクリックして既存のコンテンツフィルタアクションを変更することもできます。変更できるのは、作成したアクションだけです。デフォルトのアクションは読み取り専用です。
  7. 定義済みの式(または名前付き式)を使用してポリシーを定義する場合は、[Named Expressions] リストからいずれかを選択します。
    1. 最初の [名前付き式] ドロップダウンリストの右側にある下向き矢印をクリックし、使用する名前付き式を含む名前付き式のカテゴリを選択します。
    2. 2 番目の [名前付き式] ドロップダウンリストの右側にある下向き矢印をクリックし、名前付きの式を選択します。名前付きエクスプレッションを選択すると、その名前付きエクスプレッションの正規表現定義が [プレビューエクスプレッション] ペインの [名前付きエクスプレッション] リストボックスの下に表示されます。
    3. [式を追加] をクリックして、その名前付き式を [式] リストに追加します。 注:この手順または手順 7 のいずれかを実行する必要がありますが、両方を実行することはできません。
  8. ポリシーを定義する新しい式を作成する場合は、式エディタを使用します。
    1. [追加] をクリックします。[式の追加] ダイアログボックスが表示されます。
    2. [式の追加] ダイアログボックスで、フィルタする接続の種類を選択します。[Flow Type] はデフォルトでREQに設定されており、Citrix ADCアプライアンスは着信接続または要求を参照するように指示します。発信接続(応答)をフィルタリングする場合は、ドロップダウンリストの横にある右矢印をクリックして、RES を選択します。
    3. プロトコルが HTTP に設定されていない場合は、[Protocol] ドロップダウンリストの右にある下矢印をクリックして、[HTTP] を選択します。 注:Citrix ADC 従来の式言語では、「HTTP」にはHTTPSリクエストも含まれます。
    4. [修飾子] ドロップダウンリストの右側にある下向き矢印をクリックし、式の修飾子を選択します。選択肢は次のとおりです:

      • 方法: リクエストで使用される HTTP メソッド。

      • URL: URL ヘッダーの内容。

      • URLTOKENS: HTTP ヘッダー内の URL トークン。

      • バージョン: 接続の HTTP バージョン。

      • HEADER: HTTPリクエストのヘッダー部分。

      • URLLEN: URL ヘッダーの内容の長さ。

      • URLQUERY: URL ヘッダーの内容のクエリ部分。

      • URLQUERYLEN: URL ヘッダーのクエリ部分の長さ。 残りのリスト・ボックスの内容が、選択した修飾子に適した選択肢に変わります。たとえば、「HEADER」を選択すると、「フロータイプ」リストボックスの下に「ヘッダー名*」というテキストフィールドが表示されます。

    5. [演算子] ドロップダウンリストの右側にある下向き矢印をクリックし、式の演算子を選択します。選択内容は、前の手順で選択したプロトコルによって異なります。次のリストには、すべての演算子が含まれています。

      • ==: 次のテキスト文字列と完全に一致します。

      • ! =: 次の文字列と正確に一致しません。

      • >: 次の整数よりも大きい。

      • CONTAINS: 次のテキスト文字列が含まれます。

      • コンテンツ: 指定されたヘッダー、URL、または URL クエリの内容。

      • EXISTS: 指定されたヘッダーまたはクエリが存在します。

      • NOTCONTAINS: 次のテキスト文字列は含まれません。

      • NOTEXISTS: 指定されたヘッダーまたはクエリは存在しません。

    6. 「値」(Value) テキストボックスが表示されている場合は、適切な文字列または数値を入力します。文字列を何らかの方法でテストする場合は、「値」テキストボックスに文字列を入力します。整数をテストする場合は、「値」(Value) テキストボックスに整数を入力します。
    7. [プロトコル] として [HEADER] を選択した場合は、[ヘッダー名*] テキストボックスに目的のヘッダーを入力します。
    8. [OK] をクリックして、式を [式] リストに追加します。
    9. 手順 B ~ H を繰り返して、プロファイルに必要な式を追加します。
    10. [閉じる] をクリックして [式エディタ] を閉じます。
  9. 新しいエクスプレッションを作成した場合は、エクスプレッションフレームで、[任意のエクスプレッションと一致] ドロップダウンリストからオプションを選択します。選択肢は次のとおりです:
    • 任意の式に一致します。リクエストが [Expressions] リスト内のいずれかの式と一致する場合、リクエストはこのポリシーと一致します。
    • [すべての式に一致する] リクエストが [式] リストのすべての式に一致する場合、リクエストはこのポリシーに一致します。これらのポリシーと一致しない場合は、このポリシーと一致しません。
    • [表式] [式] リストを 3 つの列で構成された表形式に切り替えます。最初の列では、BEGIN [(] 演算子を配置することができます。2 番目の列には、選択または作成した式が表示されます。3 番目の列では、次のリストに他の演算子を配置して、複雑なポリシーグループを作成できます。このポリシーグループでは、各グループを match any 式または match all 式に設定できます。
    • [&&] AND 演算子は、要求が現在の式と次の式の両方に一致することを要求するようにアプライアンスに指示します。
    • [||]OR 演算子は、要求が現在の式、次の式、またはその両方に一致することを要求するようにアプライアンスに指示します。リクエストがどちらの式にも一致しない場合にのみ、ポリシーと一致しません。
    • END[)]演算子は、これがこの式グループまたはポリシーの最後の式であることをアプライアンスに通知します。 注意:表形式では、式ごとに「任意の式に一致」と「すべての式に一致」の両方を含む複雑なポリシーを作成できます。あなたはどちらか一方に限定されるものではありません。
    • [高度なフリーフォーム] エクスプレッションエディタを完全にオフにし、エクスプレッションリストをテキスト領域に変更します。テキスト領域には、任意の PCRE-形式の正規表現を入力して、このポリシーを定義できます。これは、ポリシー作成の最も強力かつ最も困難な方法であり、Citrix ADCアプライアンスおよびPCRE形式の正規表現に精通しているユーザーのみに推奨されます。 注意:高度なフリーフォーム式編集モードに切り替えると、他のモードに戻ることはできません。このエクスプレッション編集モードは、それが必要なものであることが確かでない限り、選択しないでください。
  10. 手順 6 ~ 8 を繰り返して、必要な式を [式] リストに追加します。名前付きエクスプレッションとエクスプレッションエディタ (Expressions Editor) で作成したエクスプレッションを混在させることができます。Citrix ADCアプライアンスでは、これらはすべて同じです。
  11. [Create] をクリックして、新しいポリシーを作成します。新しいポリシーが [Policies] ペインのリストに表示されます。
  12. [閉じる] をクリックします。追加のコンテンツフィルタポリシーを作成するには、前の手順を繰り返します。コンテンツフィルタポリシーを削除するには、[ポリシー] タブでポリシーを選択し、[削除] をクリックします。

コンテンツフィルタポリシーを構成する