動的プロファイリング
学習機能は、バックエンドサーバー上のアクティビティを監視および学習するパターンフィルタです。観察に基づいて、学習エンジンは、セキュリティチェックごとに最大 2000 のルールまたは例外 (緩和) を生成します。プロセスを自動化し、緩和ルールを自動展開するために、NetScalerアプライアンスは動的プロファイリングを使用します。
動的プロファイリングでは、アプライアンスは事前に定義されたしきい値について学習したデータを記録し、SNMPアラートをユーザーに送信します。猶予期間内にユーザーがデータをスキップしない場合、アプライアンスはそれを緩和ルールとして自動的にデプロイします。以前は、ユーザーは緩和ルールを手動で展開する必要がありました。現在、動的プロファイリングは、次のセキュリティチェックでのみ使用できます。
- HTML SQL インジェクション
- HTML クロスサイトスクリプティング
- フィールド形式
- 開始URL
- コンテンツタイプ
- フィールド形式
- CSRF フォームのタグ付け
- Cookie の整合性
- URL を拒否する
- バッファオーバーフロー
- クレジットカード
- コンテンツタイプの保護
- JSON コマンドインジェクション保護
たとえば、動的プロファイリングで有効化された HTML SQL Injection セキュリティチェックを考えます。学習機能でレコメンデーションを生成する必要がある IP のリスト(信頼済みラーニングクライアントリスト)については、ラーニングを使用できます。信頼できるクライアントの一覧を構成するには、信頼されたクライアントの学習トピックを参照してください。着信トラフィックに違反がある場合は、学習データとして記録されます。 学習したデータがラーニングエンジンに記録されている場合、アプライアンスはユーザに SNMP アラートを送信します。ユーザーが誤検知を認識せず、猶予期間内に学習したデータをスキップしない場合、アプライアンスはそのデータを緩和ルールとして自動的に展開します。
注: ダイナミックプロファイルを設定したら、緩和ルールの自動展開についてアプライアンス設定を定期的に確認し、アプライアンスに保存する必要があります。
NetScalerコマンドインターフェイスを使用して動的プロファイリングを構成する
動的プロファイリングは、開始 URL、HTML クロスサイトスクリプティング、フィールド形式、または HTML SQL インジェクションのセキュリティチェックで使用できます。動的プロファイリングを設定するには、次の手順を完了する必要があります。
- ダイナミックラーニングの設定
- 自動展開の猶予期間を構成する
ダイナミックラーニングの設定
最初のステップとして、アプライアンスでダイナミックラーニングを設定する必要があります。コマンドプロンプトで入力します:
set appfw profile <profile_name> dynamicLearning <security_checks>
例
set appfw profile test1 dynamicLearning SQLInjection CrossSiteScripting fieldFormat startURL
自動展開の猶予期間を構成する
特定のセキュリティチェックでこの機能を有効にしたら、自動展開の猶予期間を設定する必要があります。
set appfw learningsettings <profile name> -crossSiteScriptingAutoDeployGracePeriod <seconds>
set appfw learningsettings <profile name> fieldFormatAutoDeploymentGracePeriod <seconds>
set appfw learningsettings <profile name> SQLInjectionAutoDeploymentGracePeriod <seconds>
set appfw learningsettings <profile name> –startURLAutoDeployGracePeriod <seconds>
例
set appfw learningsettings test1 –crossSiteScriptingAutoDeployGracePeriod 30
set appfw learningsettings test1 –startURLAutoDeployGracePeriod 7
set appfw learningsettings test1 –fieldFormatAutoDeploymentGracePeriod 10
set appfw learning settings test1 –SQLInjectionAutoDeploymentGracePeriod 12
注:
ここでは、自動展開の猶予期間は分単位です。
NetScaler GUIを使用した動的プロファイリングの構成
- [ セキュリティ] > [NetScaler Web App Firewall] > [プロファイル]に移動します。
- 詳細ペインで、プロファイルを選択し、[ 編集] をクリックします。
- Citrix Web App プロファイルページで 、「 詳細設定 」の「 動的プロファイリング」をクリックします。
- [ 動的プロファイリング ] セクションで、セキュリティチェックを選択し、[ 編集] をクリックします。
-
[ 動的プロファイリングとラーニングの設定] ページで、セキュリティチェックの猶予期間を設定します。
- [OK] をクリックし、[完了] をクリックします。
緩和ルールのエクスポートとインポート
動的プロファイリングを有効にすると、学習したデータは緩和ルールとして自動的に展開されます。これに加えて、アプライアンスでは、動的プロファイリングベースの緩和ルールと通常の緩和ルールをエクスポートすることもできます。ステージング環境からルールをエクスポートし、実稼働環境にインポートできます。
注:
ルールを実稼働環境にインポートするときは、プロセスが追加され、既存の構成が上書きされないようにする必要があります。
緩和ルールをエクスポートおよびインポートする方法
緩和規則をエクスポートおよびインポートするには、次の手順を完了する必要があります。
- まず、動的プロファイリングベースのデータをエクスポートする必要があります。このため、WAF プロファイルの緩和ルールでエクスポートオプションを使用できます。このオプションを選択すると、動的プロファイリング緩和規則と通常緩和規則がエクスポートされます。エクスポートオプションを使用して、アプライアンスに圧縮バンドルとして設定をダウンロードできます。
- ステージング環境からデータをエクスポートしたら、別のNetScalerアプライアンスにインポートする必要があります。このためには、WAF プロファイルの緩和ルールで使用可能なインポートオプションを使用する必要があります。このオプションを選択すると、アプライアンスは指定された緩和ルールをバンドルしてインポートし、選択したアプライアンスの WAF プロファイルに復元します。
注:
緩和ルールを WAF プロファイルにインポートする場合、2 種類のアクションがあります。 Augment — このアクションにより、インポートが追加され、既存の設定が上書きされなくなります。 上書き — このアクションは、圧縮されたエクスポートバンドルに存在する設定で既存の構成を上書きします。
CLIを使用してアーカイブされた緩和ルール・ファイルをインポートする
緩和ルールをインポートするには、アーカイブをNetScalerアプライアンスにインポートし、復元コマンドを実行して構成を抽出する必要があります。次の CLI コマンドのセットは、設定のエクスポート、インポート、および管理に使用できます。
特定の場所からアーカイブファイルをインポートして復元するには、コマンドプロンプトで次のように入力します。
import appfw archive <src> <name> [-comment <string>]
ここで、
「src」:形式でtarアーカイブファイルのソースを示し、<protocol>://<host>[:<port>][/<path>]
「name」:アーカイブ名を示します。
「comment」: このアーカイブに関連するコメント。
restore appfw profile <archivename> [-relaxationRules] [-importProfileName <string>] [-matchUrlString <string>] [-replaceUrlString <string>] [-overwrite] [-augment]
ここで、
archivename
:はtar アーカイブのソースを示します。これは必須の議論です。
「relaxationRules」: すべての appfw 緩和ルールをインポートするオプション。
importProfileName
:リストア操作中に緩和ルールを関連付けるために作成または更新されたプロファイル名を示します。
「MatchurlString」: アーカイブされた緩和ルールで照合するアクション URL 文字列を示します。
replaceUrlString
: 緩和ルールの復元中にアクション URL で置き換える文字列を示します。
overwrite
: 既存の緩和ルールをパージし、インポート中に置き換えるための既存のルールアクション。
augment
: インポート中に緩和ルールを強化する既存のルールアクション。
例:
import appfw archive local: dutA_test_pr.tgz demo
restore appfw profile dutA_test_pr
CLI を使用して、アーカイブされたファイルを選択したアプライアンスにエクスポートします
CLI を使用して appfw 緩和ルールをエクスポートする場合は、設定をアーカイブしてからエクスポートする必要があります。 アーカイブされたファイルをアーカイブおよびエクスポートするには、コマンドプロンプトで次のように入力します。
archive appfw profile <name> <archivename> [-comment <string>]
ここで、
archive name
:はtar アーカイブのソースを示します。これは必須の議論です。
name
: エクスポートする緩和ルールを含む appfw プロファイル名を示します。
export appfw archive <name> <target>
どこで、 名前。tar アーカイブの名前。 これは必須の議論です。 最大長:31 ターゲット。エクスポートするファイルへのパス。これは必須の議論です。 最大長:2047
例:
> archive appfw profile test_pr archived_test_pr
> export appfw archive archived_test_pr local:dutA_test_pr
NetScaler GUI を使用して緩和ルールをエクスポートするには
緩和ルールをエクスポートするには、以下の手順に従います。
- [セキュリティ]>[NetScaler Web App Firewall]に移動します。
- 詳細ページで、[ 構成の概要 ]セクションの[ NetScaler Web App Firewall プロファイル ]リンクをクリックします。
- NetScaler Web App Firewallプロファイルページで 、「 詳細設定 」セクションの「 緩和ルール 」リンクをクリックします。
-
[ 緩和規則 ] セクションで、[ すべての緩和規則をエクスポート] をクリックします。アクションは、すべてのセキュリティチェックと、そのプロファイルで動的学習が有効になっているセキュリティチェックに適用されます。
NetScaler GUI を使用して緩和ルールをインポートするには
緩和ルールをインポートする手順を完了します。
- [セキュリティ]>[NetScaler Web App Firewall]に移動します。
- 詳細ページで、[ 構成の概要 ]セクションの[ NetScaler Web App Firewall プロファイル ]リンクをクリックします。
- NetScaler Web App Firewallプロファイルページで 、「 詳細設定 」セクションの「 緩和ルール 」リンクをクリックします。
- [ 緩和規則 ] セクションで、[ すべての緩和規則をインポート] をクリックします。
-
[NetScaler Web App Firewall プロファイルの構成 ]ページで、次のパラメーターを設定します。
- ローカルファイル。緩和ルールを含む圧縮アーカイブファイルの名前。
- プロファイル名。緩和ルールがバインドされているプロファイルの名前。
- 一致する URL 文字列。一致する URL の一部。
- URL 文字列を置き換えます。URL 文字列を置き換える URL の一部。
- 既存のルールアクション。ルールで既存のルールを上書きするか、既存のルールを補強するかを選択します。
- [OK] をクリックします。