Web App Firewall

Web App Firewall ポリシーの作成と設定

ファイアウォールポリシーは、 ルールと関連する プロファイルの 2 つの要素で構成されます。ルールは、設定した基準に一致する HTTP トラフィックを選択し、そのトラフィックを Web App Firewall に送信してフィルタリングします。プロファイルには、Web App Firewall が使用するフィルタリング条件が含まれています。

ポリシー規則は、Citrix ADC の式言語の 1 つ以上の式で構成されます。Citrix ADC式の構文は、強力なオブジェクト指向プログラミング言語で、処理するトラフィックを特定のプロファイルで正確に指定することができます。Citrix ADC式の言語構文に精通していないユーザーや、Webベースのインターフェイスを使用してCitrix ADCアプライアンスを構成したいユーザーのために、GUIには2つのツールがあります。「プレフィックス」メニューと「式の追加」ダイアログボックスです。どちらも、処理するトラフィックを正確に選択する式を記述するのに役立ちます。構文に精通している経験豊富なユーザーは、Citrix ADCコマンドラインを使用してCitrix ADCアプライアンスを構成することをお勧めします。

:デフォルトの式の構文に加えて、下位互換性を保つために、Citrix ADCオペレーティングシステムでは、Citrix ADC ClassicおよびnCore アプライアンスおよび仮想アプライアンスでCitrix ADCクラシック式の構文がサポートされています。従来の式は、Citrix ADCクラスタアプライアンスおよび仮想アプライアンスではサポートされません。既存の構成をCitrix ADCクラスターに移行する現在のCitrix ADCユーザーは、従来の式を含むポリシーをデフォルトの式の構文に移行する必要があります。

Citrix ADCの式言語の詳細については、「ポリシーと式」を参照してください。

ファイアウォールポリシーは、GUIまたはCitrix ADCコマンドラインを使用して作成できます。

コマンドラインインターフェイスを使用してポリシーを作成および構成するには

コマンドプロンプトで、次のコマンドを入力します。

  • add appfw policy <name><rule> <profileName>
  • save ns config

次の例では、pl-blog という名前のポリシーを追加し、ホスト blog.example.com との間で送受信されるすべてのトラフィックを代行受信し、そのポリシーをプロファイル pr-blog に関連付けます。これは、特定のホスト名でホストされているブログを保護するための適切なポリシーです。

add appfw policy pl-blog "HTTP.REQ.HOSTNAME.DOMAIN.EQ("blog.example.com")" pr-blog

GUI を使用してポリシーを作成および構成するには

  1. [セキュリティ] > [Web App Firewall] > [ポリシー] に移動します。

  2. 詳細ウィンドウで、次のいずれかの操作を行います。

    • 新しいファイアウォールポリシーを作成するには、[追加] をクリックします。「 Web App Firewall ポリシーの作成 」が表示されます。
    • 既存のファイアウォールポリシーを編集するには、ポリシーを選択し、[編集] をクリックします。

    Web App Firewall ポリシーの作成」 または 「Web App Firewall ポリシーの構成 」が表示されます。

  3. 新しいファイアウォールポリシーを作成する場合は、 [Web App Firewall ポリシーの作成] ダイアログボックスの [ポリシー名] テキストボックスに、新しいポリシーの名前を入力します。

    名前は、文字、数字、またはアンダースコア記号で始まり、1 ~ 128 文字の英数字、ハイフン (-)、ピリオド (.)、ポンド (#)、スペース ()、アットマーク (@)、等号 (=)、コロン (:)、およびアンダースコア (_) 記号で構成できます。

    既存のファイアウォールポリシーを設定している場合、このフィールドは読み取り専用です。これは修正できません。

  4. [Profile] ドロップダウンリストから、このポリシーに関連付けるプロファイルを選択します。[New] をクリックしてポリシーに関連付ける新しいプロファイルを作成し、[Modify] をクリックして既存のプロファイルを変更できます。

  5. [式] テキスト領域で、ポリシーの規則を作成します。

    • テキスト領域に直接ルールを入力できます。
    • [Prefix] をクリックして規則の最初の項を選択し、プロンプトに従います。このプロセスの完全な説明については、[To Create an Web App Firewall Rule (Expression)](/en-us/netscaler/ns-gen-Citrix ADC11-wrapper-con/ns-gen-appsec-wrapper-10-con/appfw-wrapper-con-10/appfw-policies-con/appfw-policies-firewall-tsk/appfw-policies-firewall-configuring-tsk.html)\ を参照してください。
    • [追加] をクリックして [式の追加] ダイアログボックスを開き、これを使用して規則を作成できます。このプロセスの詳細については、[The Add Expression Dialog Box](/en-us/netscaler/ns-gen-Citrix ADC11-wrapper-con/ns-gen-appsec-wrapper-10-con/appfw-wrapper-con-10/appfw-policies-con/appfw-policies-firewall-tsk/appfw-policies-firewall-configuring-tsk.html を参照してください。
  6. [作成] または [OK]をクリックし、[閉じる] をクリックします。

Web App Firewall ルール (式) を作成または構成するには

ポリシールール( とも呼ばれます)は、ポリシーに関連付けられたプロファイルを使用して Web App Firewall がフィルタリングする Web トラフィックを定義します。他のCitrix ADCポリシールール(または )と同様に、Web App Firewall ルールではCitrix ADC式の構文が使用されます。この構文は、強力で、柔軟で、拡張可能です。この一連の命令で完全に記述するには複雑すぎます。次の手順を使用して、単純なファイアウォールポリシールールを作成することも、ポリシー作成プロセスの概要として読み取ることもできます。

  1. Web App Firewall ウィザードまたはCitrix ADC GUIで適切な場所に移動し、ポリシールールを作成します。

    • Web App Firewall ウィザードでポリシーを構成する場合は、ナビゲーションペインで [Web App Firewall] をクリックし、詳細ペインで [Web App Firewall Wizard] をクリックし、[ルールの指定] 画面に移動します。
    • ポリシーを手動で構成する場合は、ナビゲーションペインで [Web App Firewall]、[ポリシー]、[ファイアウォール] の順に展開します。詳細ウィンドウで、新しいポリシーを作成するには、[追加] をクリックします。既存のポリシーを変更するには、ポリシーを選択し、[開く] をクリックします。
  2. [ルールの指定] 画面、[Web App Firewall プロファイルの作成] ダイアログボックス、または [Web App ファイアウォールプロファイルの設定] ダイアログボックスで、[プレフィック ス] をクリックし、ドロップダウンリストから式のプレフィックスを選択します。選択肢は次のとおりです:

    • HTTP HTTP プロトコル。HTTP プロトコルに関連するリクエストの側面を調べる場合は、これを選択します。
    • SYS。保護された Web サイト。リクエストの受信者に関連するリクエストの側面を調べる場合は、これを選択します。
    • CLIENT。要求を送信したコンピュータ。リクエストの送信者の一部を調べる場合は、これを選択します。
    • SERVER。要求が送信されたコンピュータ。要求の受信者のいくつかの側面を調べる場合は、これを選択します。

    プレフィックスを選択すると、Web App Firewall に 2 つの部分からなるプロンプトウィンドウが表示されます。このウィンドウには、次の選択肢が上部に表示され、選択した選択肢が意味する内容が下部に表示されます。

  3. 次の用語を選択してください。

    プレフィックスとして HTTP を選択した場合、唯一の選択肢は REQ で、要求と応答のペアを指定します。(Web App Firewall は、個別にではなく、1 つのユニットとして要求と応答に対して動作します)。 別のプレフィックスを選択した場合、選択肢はより多様になります。特定の選択肢に関するヘルプを表示するには、その選択肢を 1 回クリックすると、下部のプロンプトウィンドウにその選択肢に関する情報が表示されます。

    目的の用語を決定したら、ダブルクリックして [] ウィンドウに挿入します。

  4. 選択した期間の後の期間を入力します。次に、前の手順で説明したように、次の用語を選択するように求められます。用語で値を入力する必要がある場合は、適切な値を入力します。たとえば、HTTP.REQ.HEADER (「」) を選択した場合は、ヘッダー名を引用符で囲んで入力します。

  5. 式が終了するまで、プロンプトから用語を選択し、必要な値を入力します。

    次に、特定の目的のための式の例を示します。

    • 特定の Web ホスト。特定の Web ホストからのトラフィックを照合するには、次の手順を実行します。

       HTTP.REQ.HEADER("Host").EQ("shopping.example.com")
      

      shopping.example.com の場合は、照合するウェブホストの名前を置き換えます。

    • 特定の Web フォルダまたはディレクトリ。Webホスト上の特定のフォルダまたはディレクトリからのトラフィックを照合するには:

       HTTP.REQ.URL.STARTSWITH("https//www.example.com/folder")
      

      www.example.com のように、Web ホストの名前を置き換えます。フォルダには、一致させるコンテンツへのフォルダまたはパスを置き換えます。たとえば、ショッピングカートが /solutions/orders というフォルダにある場合は、その文字列をフォルダに置き換えます。

    • コンテンツの特定の種類:GIF画像。GIF 形式の画像を一致させるには:

       HTTP.REQ.URL.ENDSWITH(".gif")
      

      他の形式の画像と一致させるには、.gif の代わりに別の文字列を使用します。

    • コンテンツの特定のタイプ:スクリプト。CGI-BIN ディレクトリにあるすべての CGI スクリプトを照合するには:

       HTTP.REQ.URL.STARTSWITH("https//www.example.com/CGI-BIN")
      

      .js 拡張子を持つすべての JavaScript を照合するには、次の手順に従います。

       HTTP.REQ.URL.ENDSWITH(".js")
      

      ポリシー式の作成の詳細については、「ポリシーと式」を参照してください。

    :コマンドラインを使用してポリシーを構成する場合は、Citrix ADC式内の二重引用符はエスケープしてください。たとえば、GUI に入力すると、次の式は正しいです。

    HTTP.REQ.HEADER("Host").EQ("shopping.example.com")
    

    ただし、コマンドラインで入力する場合は、代わりに次のように入力する必要があります。

    HTTP.REQ.HEADER("Host").EQ("shopping.example.com")
    

[式の追加] ダイアログボックスを使用してファイアウォールルール (式) を追加するには

[式の追加]ダイアログボックス(式エディターとも呼ばれます)を使用すると、Citrix ADC式の言語に慣れていないユーザーは、フィルタ処理対象のトラフィックに一致するポリシーを作成できます。

  1. Web App Firewall ウィザードまたはCitrix ADC GUIで適切な場所に移動します(まだ実行していない場合)。
    • Web App Firewall ウィザードでポリシーを構成する場合は、ナビゲーションペインで [Web App Firewall] をクリックし、詳細ペインで [Web App Firewall Wizard] をクリックし、[ルールの指定] 画面に移動します。
    • ポリシーを手動で構成する場合は、ナビゲーションペインで [Web App Firewall]、[ポリシー]、[ファイアウォール] の順に展開します。詳細ウィンドウで、新しいポリシーを作成するには、[追加] をクリックします。既存のポリシーを変更するには、ポリシーを選択し、[開く] をクリックします。
  2. [ルールの指定] 画面の [Web App Firewall プロファイルの作成] ダイアログボックスまたは [Web App ファイアウォールプロファイルの構成] ダイアログボックスで、[追加] をクリックします。
  3. [式を追加] ダイアログボックスの [式を作成] 領域で、最初のリストボックスで、次のいずれかの接頭語を選択します。
    • HTTP HTTP プロトコル。HTTP プロトコルに関連するリクエストの側面を調べる場合は、これを選択します。デフォルトの選択肢。
    • SYS. 保護された Web サイト。リクエストの受信者に関連するリクエストの側面を調べる場合は、これを選択します。
    • CLIENT。要求を送信したコンピュータ。リクエストの送信者の一部を調べる場合は、これを選択します。
    • SERVER。要求が送信されたコンピュータ。要求の受信者のいくつかの側面を調べる場合は、これを選択します。
  4. 2 番目のリストボックスで、次の語句を選択します。使用可能な用語は、前のステップで選択した内容によって異なります。これは、ダイアログボックスでコンテキストに有効な用語のみが含まれるようにリストが自動的に調整されるためです。たとえば、前のリストボックスで [HTTP] を選択した場合、唯一の選択肢は [REQ] です。Web App Firewall はリクエストと関連する応答を単一のユニットとして処理し、両方をフィルタリングするため、個別に応答を指定する必要はありません。2 番目の用語を選択すると、2 番目の用語の右側に 3 番目のリストボックスが表示されます。ヘルプウィンドウには 2 番目の用語の説明が表示され、エクスプレ ッションのプレビュー ウィンドウにはエクスプレッションが表示されます。
  5. 3 番目のリストボックスで、次の用語を選択します。右側に新しいリストボックスが表示され、ヘルプウィンドウが変わり、新しい用語の説明が表示されます。エクスプレッションの プレビュー (Preview Expression ) ウィンドウが更新され、そのポイントまで指定したエクスプレッションが表示されます。
  6. 式が完成するまで、用語の選択を続行し、引数の入力を求められたら、引数を入力します。間違えたり、すでに用語を選択した後に式を変更したい場合は、別の用語を選択するだけです。式が変更され、変更した用語の後に追加した引数または追加の用語がクリアされます。
  7. 式の作成が完了したら、[OK] をクリックして [式の追加] ダイアログボックスを閉じます。式が [] テキスト領域に挿入されます。