Web App Firewall プロファイルの作成
Web App Firewall プロファイルは、コマンドラインを使用する方法と GUI を使用する方法の 2 つの方法のいずれかで作成できます。コマンドラインを使用してプロファイルを作成するには、コマンドラインでオプションを指定する必要があります。このプロセスは、 プロファイルの設定と同様であり、いくつかの例外を除いて、2 つのコマンドが同じパラメータを取ります。
注
:コアプロファイル:このプロファイルはビルド 33.x 以降で使用できます。制限はあるが基本的なセキュリティチェックがデフォルトで有効になっているのに対し、基本プロファイルと詳細プロファイルでは他にも多くのセキュリティチェックがデフォルトで有効になっています。コアプロファイルには次のセキュリティチェックが含まれています。
- 文法ベースの SQL インジェクション
- 文法ベースの CMD インジェクション
- クロスサイトスクリプティング
- バッファオーバーフロー
- ブロックキーワード
CVE プロファイル:このプロファイルは、ビルド 42.x 以降で使用できます。このプロファイルは、署名の追加とバインドにのみ使用してください。これにより、CVEチェックを除くCitrix Web App Firewallからのすべてのチェックが無効になります。
プロファイルを作成するときは、ベーシック、アドバンス、コア、CVE のいずれかのオプションを指定します。そのプロファイルに含まれるさまざまなセキュリティチェックと設定のデフォルト構成が適用されます。オプションで、コメントを追加することもできます。プロファイルを作成したら、データペインでプロファイルを選択し、[ 編集] をクリックしてプロファイルを構成する必要があります。
学習機能を使用するか、多くの高度な保護を有効にして構成する場合は、高度なデフォルトを選択する必要があります。特に、SQL インジェクションチェック、クロスサイトスクリプティングチェック、Web フォーム攻撃に対する保護を提供するチェック、または Cookie の一貫性チェックのいずれかを構成する場合は、学習機能の使用を計画する必要があります。これらのチェックを設定するときに、保護された Web サイトの適切な例外を含めない限り、正当なトラフィックをブロックする可能性があります。あまりにも広範囲な例外を作成せずにすべての例外を予測することは困難です。学習機能を使用すると、このタスクがはるかに簡単になります。それ以外の場合、基本的なデフォルト設定は迅速で、Web アプリケーションが必要とする保護を提供する必要があります。
次の 3 つのプロファイルタイプがあります。
- HTML。標準的な HTML ベースの Web サイトを保護します。
- XML。XML ベースの Web サービスおよび Web サイトを保護します。
- Web 2.0 (HTML XML)。ATOM フィード、ブログ、RSS フィードなど、HTML 要素と XML 要素の両方を含む Web サイトを保護します。
また、プロフィールに付けることができる名前にはいくつかの制限があります。プロファイル名は、NetScaler アプライアンスのどの機能でも他のプロファイルまたはアクションに割り当てられた名前と同じにすることはできません。特定のアクションまたはプロファイル名は、組み込みのアクションまたはプロファイルに割り当てられ、ユーザープロファイルには使用できません。許可されていない名前の完全なリストは、Web App Firewall プロファイルの補足情報を参照してください。アクションまたはプロファイルに既に使用されている名前のプロファイルを作成しようとすると、エラーメッセージが表示され、プロファイルは作成されません。
コマンドラインインターフェイスを使用して Web App Firewall プロファイルを作成するには
コマンドプロンプトで、次のコマンドを入力します:
add appfw profile <name> [-defaults ( basic | advanced | core | cve)]
set appfw profile <name> -type ( HTML | XML | HTML XML )
set appfw profile <name> -comment "<comment>"
save ns config
例
次の例では、基本デフォルトで、pr-basic
という名前のプロファイルを追加し、プロファイルタイプとして HTML を割り当てます。これは、HTML Web サイトを保護するためのプロファイルの適切な初期設定です。
add appfw profile pr-basic -defaults basic -comment "Simple profile for websites."
set appfw profile pr-basic -type HTML
save ns config
<!--NeedCopy-->
GUI を使用して Web App Firewall プロファイルを作成するには
Web App Firewall プロファイルを作成するには、以下の手順を実行します。
- [ **セキュリティ] > [NetScaler Web App Firewall] **[プロファイル] に移動します。
- 詳細ペインで、[ 追加] をクリックします。
-
[Web App Firewall プロファイルの作成 ] ページで、次の基本パラメータを設定します。
- 名前
- プロファイルの種類
- コメント
- デフォルト
- 説明
- [OK] をクリックします。
- 作成したプロファイルを選択し、[ 編集] をクリックします。
-
[ 詳細設定] セクションで、次の設定を行います。
- セキュリティチェック
- プロファイル設定
- 動的プロファイリング
- リラクゼーションルール
- ルールを拒否する
- 学習ルール
- 拡張ロギング
- 「 セキュリティチェック 」セクションで、セキュリティ保護を選択し、「 アクション設定」をクリックします。
-
[セキュリティチェック] ページで、パラメータを設定します。
注:
[ Active Rule ] 設定は、 SQL インジェクションチェックのリラクゼーションルールまたは拒否ルールをアクティブにする HTML SQL インジェクションチェックでのみ使用できます。詳細については、「 緩和ルールと拒否ルール 」トピックを参照してください。
-
「 OK」をクリックして「閉じる」をクリックします。
- [ プロファイル設定] セクションで、プロファイルパラメータを設定します。詳細については、「 Web App Firewall プロファイル設定の構成 」トピックを参照してください。
- [ 動的プロファイリング ] セクションで、セキュリティチェックを選択して動的プロファイル設定を追加します。詳細については、「 動的プロファイル 」トピックを参照してください。
- [ 緩和ルール ] セクションで、[ 編集 ] をクリックして、セキュリティチェックの緩和ルールを追加します。詳細については、 緩和ルールを参照してください 。
- [ 拒否ルール ] セクションで、HTML SQL インジェクションチェックの拒否ルールを追加します。詳細については、「 HTML 拒否ルール 」トピックを参照してください。
- [ 学習ルール ] セクションで、学習設定を設定します。詳細については、「 Web App Firewall 学習 」トピックを参照してください。
- [ 拡張ログ ] セクションで、[ 追加 ] をクリックして機密データをマスキングします。詳細については、「 拡張ロギングのトピック 」を参照してください。
- [ 完了] をクリックし、[ 閉じる] をクリックします。
フェイクアカウント検出ルールを設定する
フェイクアカウントの作成は、実在の人物に関連付けられていない多数のユーザーアカウントを作成したり、本人の同意なしに実在の人物の詳細でユーザーアカウントを作成したりする自動化されたプロセスです。非正規ユーザーが作成した偽のアカウントは、個人の本人情報に対応しない登録情報を使用します。これらのアカウントは、フィッシング攻撃、フェイクニュースの拡散、スキャルピングなどの非合法的な目的でウェブアプリケーションが提供するサービスを悪用するために作成されます。ほとんどの場合、これらのアカウントは悪意のあるユーザーによって実行されるボットによって作成されます。
NetScalerアプライアンスは、偽のアカウント検出ルールをWeb App Firewallプロファイルにバインドすることで、偽のアカウントを検出するように拡張されています。このルールは、フォーム URL と各 URL のフォームパラメータで構成されます。受信リクエストが、フェイクアカウント検出ルールに設定された式またはフォーム URL(サインアップページ)に一致する場合、疑わしいサインアップ試行に対して評価は true になり、リクエストデータは ADM サーバーに送信され、さらに検査されます。
コマンドインターフェイスを使用して偽アカウント検出を設定するには、次の手順を実行します。
- フェイクアカウント検出機能を有効にする
- フェイクアカウントルールをバインドする
フェイクアカウント検出機能を有効にする
コマンドプロンプトで入力します:
add/set appfw profile <name> -FakeAccountDetection ( ON | OFF )
例:
add appfw profile profile1 -FakeAccountDetection ON
フェイクアカウントルールをバインドする
コマンドプロンプトで入力します:
bind appfw profile <name> -FakeAccount (string|expression) isFieldNameRegex (ON|OFF) -tag <TagExpression> ([-formUrl <FormURL>]| [-formExpression <FormExpression>)]) –state (ENABLED|DISABLED)
各項目の意味は次のとおりです。
-
formUrl
: HTTP フォームアクション URL。 formExpression: 評価されるフォーム式。 -
fakeaccount
: フェイクアカウントの名前。 tag: タグ式。 -
isFieldNameRegex
: fieldName が正規表現かどうかを指定します。デフォルト値はオフです。
例:
bind appfw profile profile1 -FakeAccount john -formURL “/signup.php" -tag "smith"
bind appfw profile profile2 -FakeAccount Will -formExpression "HTTP.REQ.HEADER(\"Authorization\").CONTAINS(\"/test_accounts\").NOT && HTTP.REQ.URL.CONTAINS(\"/login.php\")" -fieldName -tag "smith"
example.com
サインアップページの HTTP POST リクエストの入力例。
S.no | 入力 | 例 |
---|---|---|
1 | サインアップ HTTP POST リクエストエンドポイント URL | https://webapi.example.com/account/api/v1.0/contacts/ |
2 | HTTP POST リクエストの E メールフィールド名 | メールアドレス |
3 | ファーストネーム HTTP POST リクエストのフィールド名 | 名 |
4 | 苗字 HTTP POST リクエストのフィールド名 | 苗字 |
GUI を使用して Web App Firewall のフェイクアカウント検出ルールを構成する
GUI を使用して偽アカウント検出ルールを設定するには、次の手順を実行します。
- 構成 > セキュリティ > NetScaler Web App Firewall > プロファイルの順に移動します。
- プロファイルを選択し、[ 編集] をクリックします。
- [NetScaler Web App Firewall プロファイル ]ページで、[ 詳細設定 ]の[ セキュリティチェック]をクリックします。
- Citrix Cloud と統合されたチェック ]セクションで、偽のアカウントルールを選択し、[ 編集]をクリックします。
- [ AppFirewall Fake Account Binding ] スライダーで、編集するルールを選択するか、[ 追加] をクリックします。
-
[ Fake Account rule ] ページで、次のパラメータを設定します。
- Enabled。フェイクアカウントルールを有効にする場合に選択します。
- 偽のアカウント名。フェイクアカウントルールの名前。
- タグ。偽のアカウント登録フォームの名前。
- フィールド名は正規表現ですか?フォームフィールドが正規表現である場合に選択します。
- フォーム表現。フェイクアカウントを定義する正規表現。
- フォーム URL。フェイクアカウント検出 URL を入力します。
- [コメント]。フェイクアカウント検出ルールに関する簡単な説明。
- [Create] をクリックします。