Citrix ADC

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 Clusterアプライアンスおよび仮想アプライアンスではサポートされていません。既存の構成をCitrix ADCクラスターに移行する現在のCitrix ADCユーザーは、従来の式を含むポリシーをデフォルトの式の構文に移行する必要があります。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    • テキスト領域に直接ルールを入力できます。
    • [Prefix] をクリックしてルールの最初の用語を選択し、プロンプトに従って操作できます。
    • [追加] をクリックして [式の追加] ダイアログボックスを開き、それを使用してルールを作成できます。
  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 ウィザード] をクリックし、[ ルールの指定 ] 画面に移動します。
    • ポリシーを手動で構成する場合は、ナビゲーションペインで、[ Web App Firewall]、[ **ポリシー]、[ ファイアウォール] の順に展開します。詳細ウィンドウで、ポリシーを作成するには、[ **追加] をクリックします。既存のポリシーを変更するには、ポリシーを選択し、[ 開く]をクリックします。
  2. [ ルールの指定 ] 画面、[ Web App Firewall プロファイルの作成 ] ダイアログボックス、または [ Web App Firewall プロファイルの構成 ] ダイアログボックスで、[ 接頭辞] をクリックし、ドロップダウンリストから式のプレフィックスを選択します。選択肢は次のとおりです:

    • HTTP プロトコルに関連するリクエストの側面を調べる場合は、HTTP プロトコルを選択します。
    • SYS。リクエストの受信者に関連するリクエストの側面を調べたい場合は、保護された Web サイトを選択します。
    • クライアント。リクエストを送信したクライアントを選択します。リクエストの送信者の側面を調べる場合は、これを選択します。
    • サーバー。リクエストの送信先クライアントを選択し、リクエストの受信者の側面を調べるかどうかを指定します。

    プレフィックスを選択すると、Web App Firewall に 2 つの部分からなるプロンプトウィンドウが表示され、次に選択可能な選択肢が一番下部に表示されます。

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

    HTTP プロトコルをプレフィクスとして選択した場合は、ReQ しか選択できません。REQ は Request/Response のペアを指定します。(Web App Firewall は、リクエストとレスポンスをそれぞれ別々ではなくユニットとして動作します)。別のプレフィックスを選択した場合、選択肢はより多様になります。特定の選択肢に関するヘルプを表示するには、その選択肢を 1 回クリックすると、その選択に関する情報が下のプロンプトウィンドウに表示されます。

    使用する用語が決まったら、ダブルクリックして [ ] ウィンドウに挿入します。

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

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

    特定の目的のための式の例をいくつか挙げます。

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

       HTTP.REQ.HEADER("Host").EQ("shopping.example.com")
       <!--NeedCopy-->
      

      shopping.example.comの場合は、一致させる Web ホストの名前に置き換えます。

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

       HTTP.REQ.URL.STARTSWITH("https//www.example.com/folder")
       <!--NeedCopy-->
      

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

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

       HTTP.REQ.URL.ENDSWITH(".gif")
       <!--NeedCopy-->
      

      他のフォーマットイメージを一致させるには、.gif の代わりに別の文字列を置き換えます。

    • 特定の種類のコンテンツ:スクリプト。CGI-BIN ディレクトリにあるすべての CGI スクリプトを一致させるには、次の手順を実行します。

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

      すべての JavaScript を.js拡張子で一致させるには:

       HTTP.REQ.URL.ENDSWITH(".js")
       <!--NeedCopy-->
      

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

    注:

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

    HTTP.REQ.HEADER("Host").EQ("shopping.example.com")
    <!--NeedCopy-->
    

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

    HTTP.REQ.HEADER("Host").EQ("shopping.example.com")
    <!--NeedCopy-->
    

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

[ 式の追加 ] ダイアログボックス(式エディタとも呼ばれる)は、Citrix ADC式の言語に慣れていないユーザーが、フィルタリングするトラフィックに一致するポリシーを構築するのに役立ちます。

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