Citrix ADC

プロファイルに関する補足情報

以下は、Web App Firewall プロファイルの特定の側面に関する補足情報です。この情報では、セキュリティーチェックルールまたは緩和に特殊文字を含める方法、およびプロファイルを構成するときに変数を使用する方法について説明します。

構成変数のサポート

静的な値を使用する代わりに、Web Appファイアウォールのセキュリティチェックと設定を構成するために、標準のCitrix ADC名前付き変数を使用できるようになりました。変数を作成することで、新しいCitrix ADCアプライアンスに構成をエクスポートしてインポートしたり、単一の構成ファイルから既存のCitrix ADCアプライアンスを更新したりできます。これにより、テストベッドのセットアップを使用して、ローカルネットワークとサーバー用に調整された複雑なWeb App Firewall 構成を開発し、その構成を本稼働のCitrix ADCアプライアンスに転送する際の更新が簡素化されます。

Web App Firewall 構成変数は、Citrix ADC の標準的な規則に従って、ほかのCitrix ADC の名前付き変数と同じ方法で作成します。GUI を使用して名前付き式変数を作成するには、[式の追加] ダイアログボックスを使用します。Citrix ADC コマンドラインを使用して名前付き式変数を作成するには、add expression コマンドに続けて適切なパラメーターを使用します。

次の URL と式は、静的値の代わりに変数で設定できます。

  • 開始URL (-開始URL)
  • URL の拒 否 (-否定)
  • フォーム フィールドの一貫性チェックのフォーム アクション URL (-fieldconsistency)
  • XML SQL Injection Check (-xmlSQLInjection)のアクションURL
  • XML Cross-Site Scripting Check (-xmlXSS)のアクションURL
  • HTML SQL Injection Check (-sqlInjection)のフォームアクションURL
  • Field Format Check (-fieldFormat)のフォームアクションURL
  • Cross-Site Request Forgery (CSRF) Check (-csrfTag)のフォームオリジンURLおよびフォームアクションURL
  • HTML Cross-Site Scripting Check (-crossSiteScripting)のフォームアクションURL
  • セーフオブジェクト (-safeObject)
  • XML Denial-of-Service (XDoS) check (-XMLDoS)のアクションURL
  • Web サービスの相互運用性チェック 用のURL (-XMLWSIURL)
  • < XML 検証チェック 用のURL (-XML検証URL)
  • XML 添付ファイルチェック 用のURL (-XML 添付ファイル URL)

詳しくは、「ポリシーと式」を参照してください。

構成で変数を使用するには、変数名を 2 つのアット (@) 記号で囲み、置き換える静的な値と同じように使用します。たとえば、GUI を使用して URL の拒否チェックを構成し、名前付き式変数 myDenyURL を構成に追加する場合は、[拒否 URL の追加] ダイアログボックスの [拒否 URL の拒否] テキスト領域に @myDenyURL @ と入力します。Citrix ADCコマンドラインを使用して同じタスクを実行するには、appfwプロファイルの追加<name> -denyURLAction @myDenyURL @と入力します。

PCRE 文字エンコーディング形式

Citrix ADCオペレーティングシステムでは、印刷可能なASCII文字セット内の文字を直接入力できます。つまり、16進コードが、16進数20(ASCII 32)から16進数7E(ASCII 127)までの文字だけです。この範囲外のコードを含む文字を Web App Firewall 設定に含めるには、その UTF-8 の 16 進コードを PCRE 正規表現として入力する必要があります。

Web App Firewall 設定に URL、フォームフィールド名、またはセーフオブジェクト式として含める場合、多くの文字タイプで PCRE 正規表現を使用してエンコードする必要があります。これには、次のものがあります。

  • 上限 ASCII 文字。16 進数の 7 F (ASCII 128) から 16 進数の FF (ASCII 255) までのエンコーディングを持つ文字。使用される文字マップに応じて、これらのエンコーディングは、制御コード、アクセントやその他の修正を加えた ASCII 文字、非ラテンアルファベット、および基本的な ASCII セットに含まれない記号を参照できます。これらの文字は、URL、フォームフィールド名、および安全なオブジェクト式で使用できます。

  • 2 バイト文字。2 つの 8 バイトワードを使用するエンコード文字です。2 バイト文字は、主に中国語、日本語、韓国語のテキストを電子形式で表現するために使用されます。これらの文字は、URL、フォームフィールド名、および安全なオブジェクト式で使用できます。

  • ASCII 制御文字。プリンタにコマンドを送信するために使用される、印刷できない文字。16 進コードが 16 進数 20 (ASCII 32) 未満の ASCII 文字はすべて、このカテゴリに分類されます。ただし、これらの文字は URL またはフォームフィールド名には決して表示されず、安全なオブジェクト式には表示されないことがあります。

Citrix ADCアプライアンスは、UTF-8文字セット全体をサポートするのではなく、次の8文字セットに含まれる文字のみをサポートします。

  • 英語 (米国) (ISO-8859-1)。ラベルは「英語 US」と表示されますが、Web App Firewall は ISO-8859-1 文字セット (Latin-1 文字セットとも呼ばれます) のすべての文字をサポートします。この文字セットは、ほとんどの現代の西ヨーロッパ言語を完全に表し、残りの部分ではいくつかの珍しい文字を除くすべてを表します。

  • 繁体字中国語 (Big5)。Web App Firewall は、BIG5 文字セットのすべての文字をサポートします。この文字セットには、香港、マカオ、台湾で話され書かれた現代中国語で一般的に使用される繁体字中国語 (表意文字)、および中国本土以外に住む多くの中国民族遺産の人々によって含まれています。

  • 簡体字中国語 (GB2312)。Web App Firewall では、GB2312 文字セットのすべての文字がサポートされています。この文字セットには、中国本土で話され、書かれている現代中国語で一般的に使用される簡体字中国語 (表記) がすべて含まれています。

  • 日本語 (SJIS)。Web App Firewall では、Shift-JIS (SJIS) 文字セットのすべての文字がサポートされています。この文字セットには、現代日本語でよく使用されるほとんどの文字 (表意文字) が含まれます。

  • 日本語 (EUC-JP)。Web App Firewall は、EUC-JP 文字セット内のすべての文字をサポートします。この文字セットには、現代日本語でよく使用されるすべての文字 (表意文字) が含まれます。

  • 韓国語 (EUC-KR)。Web App Firewall は、EUC-KR 文字セットのすべての文字をサポートします。この文字セットには、現代韓国語で一般的に使用されるすべての文字 (表意文字) が含まれます。

  • トルコ語 (ISO-8859-9)。Web App Firewall は、現代トルコ語で使用されるすべての文字を含む ISO-8859-9 文字セットのすべての文字をサポートしています。

  • ユニコード (UTF-8)。Web App Firewall は、現代ロシア語で使用されている文字を含め、UTF-8 文字セットの特定の追加文字をサポートします。

Web App Firewall を設定する場合、UTF-8 仕様でその文字に割り当てられた 16 進コードを使用して、すべての ASCII 文字を PCRE形式の正規表現として入力します。通常のASCII文字セット内の記号と文字は、その文字セットで1桁の2桁のコードが割り当てられ、UTF-8文字セットで同じコードが割り当てられます。たとえば、感嘆符 (!) はASCII文字セットで16進コード21が割り当てられ、UTF-8文字セットでも16進21になります。サポートされている別の文字セットのシンボルと文字には、UTF-8 文字セットでそれらに割り当てられた 16 進コードのペアセットがあります。たとえば、急性アクセント(á)の文字aには、UTF-8コードC3 A1が割り当てられます。

Web App Firewall 構成でこれらの UTF-8 コードを表す構文は、ASCII 文字の場合は「xNN」、英語、ロシア語、トルコ語で使用される非 ASCII 文字の場合は「\ xNN\ xNN」、中国語、日本語、韓国語で使用される文字の場合は「\ xNN\ xNN\ xNN」です。たとえば、! を表す場合は、! を UTF-8 文字として Web App Firewall 正規表現に入力する場合は、「\ x21」と入力します。á を含める場合は、xC3xA1 と入力します。

注:

通常、ASCII 文字を UTF-8 形式で表現する必要はありませんが、これらの文字が Web ブラウザや基礎となるオペレーティングシステムを混乱させる可能性がある場合には、文字の UTF-8 表現を使用してこの混乱を避けることができます。たとえば、URL にスペースが含まれている場合、特定のブラウザや Web サーバーソフトウェアを混乱させないように、スペースを x20 としてエンコードできます。

次に、URL、フォームフィールド名、および ASCII 以外の文字を含むセーフオブジェクト式の例を示します。これらの文字は、Web App Firewall 設定に含めるには PCRE形式の正規表現として入力する必要があります。各例は、実際の URL、フィールド名、または式文字列を最初に示し、その後に PCRE-形式の正規表現を示します。

  • 拡張 ASCII 文字を含む URL。

    実際の URL:http://www.josénuñez.com

    エンコードされた URL:^http://www\[.\]jos\xC3\xA9nu\xC3\xB1ez\[.\]com$

  • 拡張 ASCII 文字を含む別の URL。

    実際の URL:http://www.example.de/trömso.html

    エンコードされた URL:^http://www[.]example\[.]de/tr\xC3\xB6mso[.]html$

  • 拡張 ASCII 文字を含むフォームフィールド名。

    Actual Name: nome_do_usuário

    エンコードされた名前:^nome_do_usu\xC3\xA1rio$

  • 拡張 ASCII 文字を含むセーフオブジェクト式。

    エンコードされていない式[昇順]{3,6} ¥[1-9][0-9]{6,6}

    エンコードされた式:[昇順]{3,6}\xC2\xA5[1-9][0-9]{6,6}

Unicode文字セット全体と一致するUTF-8エンコーディングを含む多くのテーブルがインターネット上で見つけることができます。この情報を含む便利な Web サイトは、次の URL にあります。

http://www.utf8-chartable.de/unicode-utf8-table.pl

この Web サイトの表の文字が正しく表示されるようにするには、コンピュータに適切な Unicode フォントがインストールされている必要があります。そうしないと、文字の視覚的な表示に誤りがある可能性があります。ただし、文字を表示するための適切なフォントがインストールされていない場合でも、この Web ページの説明と UTF-8 および UTF-16 コードは正しいものになります。

反転した PCRE 式

パターンを含むコンテンツの一致に加えて、反転した PCRE 式を使用して、パターンを含まないコンテンツを一致させることができます。式を反転するには、感嘆符(!) 式の最初の文字として空白が続きます。

メモ: 式が感嘆符のみで構成され、その後に何もない場合,感嘆符はリテラル文字として扱われ,反転式を示す構文ではありません。

次の Web App Firewall コマンドは、反転した PCRE 式をサポートします。

  • 開始URL(URL)
  • URL を拒否する
  • フォームフィールドの一貫性(フォームアクションURL)
  • クッキーの整合性 (フォームアクション URL)
  • クロスサイトリクエストフォージェリ(CSRF)(フォームアクションURL)
  • HTML クロスサイトスクリプティング (フォームアクションの URL)
  • フィールド形式 (フォームアクション URL)
  • フィールドタイプ (タイプ)
  • 機密フィールド (URL)

注:セキュリティチェックに isRegex フラグまたはチェックボックスが含まれている場合は、このフィールドを [YES] に設定するか、オンにして正規表現を有効にする必要があります。それ以外の場合、そのフィールドの内容はリテラルとして扱われ、正規表現(反転されたかどうか)は解析されません。

Web App Firewall プロファイルで許可されない名前

以下の名前は、Citrix ADCアプライアンスの組み込みアクションとプロファイルに割り当てられ、ユーザーが作成したWeb App Firewall プロファイルの名前として使用することはできません。

  • AGRESSIVE
  • ALLOW
  • BASIC
  • CLIENTAUTH
  • COMPRESS
  • CSSMINIFY
  • DEFLATE
  • DENY
  • DNS-NOP
  • DROP
  • GZIP
  • HTMLMINIFY
  • IMGOPTIMIZE
  • JSMINIFY
  • MODERATE
  • NOCLIENTAUTH
  • NOCOMPRESS
  • NONE
  • NOOP
  • NOREWRITE
  • RESET
  • SETASLEARNNSLOG_ACT
  • SETNSLOGPARAMS_ACT
  • SET SYSLOGPARAMS_ACT
  • SETTMSSPARAMS_ACT
  • SETVPNPARAMS_ACT
  • SET_PREAUTHPARAMS_ACT
  • default_DNS64_action
  • dns_default_act_Cachebypass
  • DNS_Default_act_drop
  • nshttp_default_profile
  • nshttp_default_strict_validation
  • nstcp_default_Mobile_profile
  • nstcp_default_XA_XD_profile
  • nstcp_default_profile
  • nstcp_default_tcp_interactive_stream
  • nstcp_default_tcp_lan
  • nstcp_default_tcp_lan_thin_stream
  • nstcp_default_tcp_lfp
  • nstcp_default_tcp_lfp_thin_stream
  • nstcp_default_tcp_lnp
  • nstcp_default_tcp_lnp_thin_stream
  • nstcp_internal_apps

プロファイルに関する補足情報