ADC

機密フィールド

Web フォームフィールドを機密情報として指定して、ユーザーが入力する情報を保護できます。通常、保護されたWebサーバーの1つ上のWebフォームにユーザーが入力した情報は、Citrix ADCログに記録されます。ただし、機密として指定された Web フォームのフィールドに入力された情報はログに記録されません。その情報は、Webサイトがそのようなデータを保存するように構成されている場合にのみ、通常は安全なデータベースに保存されます。

機密フィールド指定で保護する必要がある一般的な情報には、次のものがあります。

  • パスワード
  • クレジットカード番号、検証コード、有効期限
  • 社会保障番号
  • 納税者番号
  • 自宅住所
  • 非公開電話番号

eコマースサーバーでのPCI-DSSコンプライアンス、米国内の医療情報を管理するサーバーでのHIPAAコンプライアンス、その他のデータ保護基準への準拠には、適切な機密フィールド指定の使用が必要になる場合があります。

重要:

次の 2 つのケースでは、機密フィールドの指定が期待どおりに機能しません。

  • Webフォームに機密フィールドまたはアクションURLが256文字を超える場合、Citrix ADCログでフィールドまたはアクションURLがトランケートされます。
  • 特定の SSL トランザクションでは、機密フィールドまたはアクション URL のいずれかが 127 文字を超えると、ログはトランケートされます。

いずれの場合も、Web App Firewall は、通常の 8 文字の文字列ではなく、文字「x」で 15 文字の文字列をマスクします。機密情報を確実に削除するには、最初の 256 文字に一致するフォームフィールド名とアクション URL 式、または (SSL が使用されている場合) 最初の 127 文字を使用する必要があります。

保護されたWebサイトのWebフォームフィールドを機密として扱うようにWebApp Firewallを設定するには、そのフィールドを[機密フィールド]リストに追加します。フィールド名を文字列として入力することも、1 つ以上のフィールドを指定する PCRE互換の正規表現を入力することもできます。フィールドを追加するときに機密フィールド指定を有効にすることも、後で指定を変更することもできます。

コマンドラインインターフェイスを使用して機密フィールドを追加するには

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

  • add appfw confidField <fieldName> <url> [-isRegex ( REGEX | NOTREGEX )] [-comment "<string>"] [-state ( ENABLED | DISABLED )]
  • save ns config

次の例では、名前が「パスワード」で始まるすべての Web フォームフィールドを機密フィールドの一覧に追加します。

add appfw confidField Password "https?://www[.]example[.]com/[^<>]\*[^a-z]password[0-9a-z._-]\*[.](asp|cgi|htm|html|htp|js|php)" -isRegex REGEX -state ENABLED
save ns config
<!--NeedCopy-->

コマンドラインインターフェイスを使用して機密フィールドを変更するには

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

  • set appfw confidField <fieldName> <url> [-isRegex ( REGEX | NOTREGEX )][-comment "<string>"] [-state ( ENABLED | DISABLED )]
  • save ns config

次の例では、機密フィールドの指定を変更して、コメントを追加します。

set appfw confidField Password "https?://www[.]example[.]com/[^<>]\*[^a-z]password[0-9a-z._-]\*[.](asp|cgi|htm|html|htp|js|php)" -comment "Protect password fields." -isRegex REGEX -state ENABLED
save ns config
<!--NeedCopy-->

コマンドラインインターフェイスを使用して機密フィールドを削除するには

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

  • rm appfw confidField <fieldName> <url>
  • save ns config

GUI を使用して機密フィールドを構成するには

  1. Security > Application Firewallに移動します。
  2. 詳細ウィンドウの [設定]で、[機密フィールドの管理] をクリックします。
  3. [機密フィールドの管理] ダイアログボックスで、次のいずれかの操作を行います。
    • 新しいフォームフィールドを一覧に追加するには、[追加] をクリックします。
    • 既存の機密フィールドの指定を変更するには、フィールドを選択し、[編集] をクリックします。 [Web App Firewall 機密フィールド] ダイアログボックスが表示されます。

      :

      既存の機密フィールドの指定を選択し、[追加] をクリックすると、[機密フォームフィールドの作成] ダイアログボックスに、その機密フィールドの情報が表示されます。この情報を修正して、新しい機密フィールドを作成できます。

  4. ダイアログボックスで、要素を入力します。これには、次の種類のアカウントがあります。
    • [有効] チェックボックス。この機密フィールド指定を有効または無効にする場合は、選択または選択解除します。
    • フォームフィールド名は正規表現チェックボックスです。フォームフィールド名で PCRE-format 正規表現を有効にする場合は、選択または選択解除します。
    • フィールド名。特定のフィールド名を表すリテラル文字列または PCRE-format 正規表現を入力します。この正規表現は、パターンに続く名前を持つ複数のフィールドと一致します。
    • アクションの URL。機密フィールドを含む Web フォームが配置されている Web ページの 1 つ以上の URL を定義するリテラル URL または正規表現を入力します。
    • コメント。コメントを入力します。オプションです。
  5. [ 作成]または[ OK]をクリックします。
  6. 機密フィールドの一覧から機密フィールドの指定を削除するには、削除する機密フィールドの一覧を選択し、[削除] をクリックして削除し、[OK] をクリックして選択を確定します。
  7. 機密フィールド指定の追加、変更、削除が完了したら、[閉じる] をクリックします。

以下に、便利なフォームフィールド名を定義する正規表現をいくつか示します。

  • ^passwd_ (Applies confidential-field status to all field names that begin with the “passwd_” string.)

  • ^((\[0-9a-zA-Z._-]*||\\x\[0-9A-Fa-f][0-9A-Fa-f])+-)?passwd_ (Applies confidential-field status to all field names that begin with the string passwd_, or that contain the string -passwd_ after another string that might contain non-ASCII special characters.)

有用な特定の URL タイプを定義する正規表現を次に示します。例では、独自のウェブホストとドメインを置き換えます。

  • WebフォームがWebホストwww.example.comの複数のWebページに表示されているが、それらのWebページすべてにlogon.pl?という名前が付けられている場合は、次の正規表現を使用できます。

     https?://www[.]example[.]com/([0-9A-Za-z][0-9A-Za-z_.-]*/)*logon[.]pl?
     <!--NeedCopy-->
    
  • WebフォームがWebホストwww.example-español.comの複数のWebページに表示され、n-tilde(ñ)特殊文字が含まれている場合は、次の正規表現を使用できます。これは、n-tilde特殊文字を次のように表します。 C3 B1を含むエンコードされたUTF-8文字列、UTF-8文字セットのその文字に割り当てられた16進コード:

     https?://www[.]example-espa\xC3\xB1ol[.]com/([0-9A-Za-z][0-9A-Za-z_.-]\*/)\* logon[.]pl?
     <!--NeedCopy-->
    
  • query.plを含むWebフォームがexample.comドメイン内の異なるホスト上の複数のWebページに表示される場合は、次の正規表現を使用できます。

     https?://([0-9A-Za-z][0-9A-Za-z_-.]*[.])\*example[.]com/([0-9A-Za-z][0-9A-Za-z_-.]\*/)*logon[.]pl?
     <!--NeedCopy-->
    
  • query.plを含むWebフォームが、異なるドメインの異なるホスト上の複数のWebページに表示される場合は、次の正規表現を使用できます。

     https?://([0-9A-Za-z][0-9A-Za-z_-.]\*[.])\*[0-9A-Za-z][0-9A-Za-z_-.]+[.][a-z]{2,6}/([0-9A-Za-z][0-9A-Za-z_-.]*/)*logon[.]pl?
     <!--NeedCopy-->
    
  • WebフォームがWebホストwww.example.comの複数のWebページに表示されているが、それらのWebページすべてにlogon.pl?という名前が付けられている場合は、次の正規表現を使用できます。

     https?://www[.]example[.]com/([0-9A-Za-z][0-9A-Za-z_-.]*/)*logon[.]pl?
     <!--NeedCopy-->