WAFの推奨事項
NetScaler Web App Firewall (WAF) プロファイルとWAFシグネチャは、悪意のある攻撃からWebアプリケーションを保護します。WAFシグネチャは、既知の攻撃からWebサイトを保護するタスクを簡素化するための、特定の構成可能なルールを提供します。シグネチャは、オペレーティングシステム、Webサーバー、Webサイト、XMLベースのWebサービス、またはその他のリソースに対する既知の攻撃のコンポーネントであるパターンを表します。シグネチャを使用してアプリケーションを保護するには、適用したいルールを確認し、有効にして構成する必要があります。
同様に、データ侵害を防ぎ、アプリケーションに適切なセキュリティ保護を提供するには、セキュリティチェックを含むWAFプロファイルを作成する必要があります。NetScalerインスタンスでWAFプロファイルを作成すると、トラフィックは次のようになる可能性があります。
-
記載されているセキュリティチェックで生成される
-
記載されているセキュリティチェックで生成されない
インスタンスは他の攻撃を受けている可能性がありますが、WAFプロファイルでそのセキュリティチェックを有効にしていない可能性があります。
管理者として、Webアプリケーションを保護するために適切なシグネチャを有効にし、適切なWAFプロファイルを作成する方法を理解する必要があります。適切なシグネチャとWAFプロファイルを特定することは、一部のシナリオでは困難な作業となる場合があります。
NetScaler Console WAFレコメンデーションは、アプリケーションの脆弱性をスキャンし、次の推奨事項を生成します。
-
WAFプロファイル
-
WAFシグネチャ
WAFレコメンデーションデータベースは、新しい脆弱性を含めるために頻繁に更新されます。スキャンして、必要な推奨事項を有効にすることを選択できます。すべてのシグネチャとセキュリティチェックを有効にすることはできますが、誤検知が発生し、NetScalerインスタンスのパフォーマンスに影響を与える可能性があります。したがって、必要なセキュリティチェックとシグネチャのみを選択することをお勧めします。WAFレコメンデーションエンジンは、アプリケーションに対してどのシグネチャとセキュリティチェックを有効にする必要があるかも自動的に検出します。
注
NetScalerインスタンスは、セキュリティチェックの場合は 13.0 41.28以降、シグネチャの場合は 13.0以降 である必要があります。
前提条件
アプリケーションは次のとおりです。
-
プレミアムライセンスが必要です。
-
ロードバランシング仮想サーバーである必要があります。
WAFスキャン設定を構成する
NetScaler Consoleで、Security > WAF Recommendation に移動し、Applications の下にある Start Scan をクリックして、アプリケーションのWAFスキャン設定を構成します。
WAFスキャン(/en-us/netscaler-console-service/media/waf-scan.png)
WAFレコメンデーションページで:
-
ドメイン名 – アプリケーションVIPに関連付けられている、公開アクセス可能/公開到達可能なドメイン名を指定します。例:
www.example.com。注開始URL、ログインURL、ログアウトURLは、指定されたドメインと一致する必要があります。 -
トラフィックと開始URL – アプリケーション(サーバー)のURL詳細を指定します。
-
HTTP/HTTPSプロトコル – アプリケーションのプロトコルを選択します。
-
トラフィックタイムアウト – スキャン中の単一リクエストの待機時間(秒単位)。値は0より大きい必要があります。
-
開始URL – スキャンを開始するアプリケーションのホームページ。例:
https://www.example.com/home。URLは有効なIPv4アドレスである必要があります。IPアドレスがプライベートである場合、プライベートIPアドレスがNetScaler Console管理IPからアクセス可能であることを確認する必要があります。WAF構成(/en-us/netscaler-console-service/media/wre-configure-traffic.png)
-
-
ログインURL – アプリケーションにアクセスするためのログイン資格情報、URL(もしあれば)を指定します。
-
ログインURL – 認証のためにログインデータが送信されるURL。HTMLでは、このURLは一般的にアクションURLとして知られています。
-
認証方法 – アプリケーションでサポートされている認証方法(フォームベースまたはヘッダーベース)を選択します。
-
フォームベース認証では、ログイン資格情報とともにフォームをログインURLに送信する必要があります。これらの資格情報は、フォームフィールドとその値の形式である必要があります。その後、アプリケーションはスキャン中にセッションを維持するために使用されるセッションクッキーを共有します。
-
ヘッダーベース認証では、ヘッダーセクションに認証ヘッダーとその値が必要です。認証ヘッダーは有効な値を持つ必要があり、スキャン中にセッションを維持するために使用されます。ヘッダーベースの場合、フォームフィールドは空のままにする必要があります。
-
-
リクエストメソッド – ログインURLにフォームデータを送信する際に使用されるHTTPメソッドを選択します。許可されるリクエストメソッドはPOST、GET、PUTです。
-
フォームフィールド – ログインURLに送信するフォームデータを指定します。フォームフィールドは、フォームベース認証を選択した場合にのみ必要です。キーと値のペアで指定する必要があります。ここで、フィールド名がキー、フィールド値が値です。パスワードを含め、ログインが機能するために必要なすべてのフォームフィールドが正しく追加されていることを確認してください。値はデータベースに保存される前に暗号化されます。「追加」ボタンをクリックして、複数のフォームフィールドを追加できます。例:フィールド名 – ユーザー名、フィールド値 – admin。
-
HTTPヘッダー – ログインを成功させるためにHTTPヘッダーが必要になる場合があります。キーと値のペアで指定する必要があります。ここで、ヘッダー名がキー、ヘッダー値が値です。「追加」ボタンをクリックして、複数のHTTPヘッダーを追加できます。最も一般的な必須HTTPヘッダーの1つはContent-Typeヘッダーです。

-
-
ログアウトURL – アクセス後にセッションを終了するURLを指定します。例:
https://www.example.com/customer/logout。
-
脆弱性 – スキャナーが検出する脆弱性を選択します。現在、これはSQLインジェクションとクロスサイトスクリプティングの違反に対して行われます。デフォルトでは、すべての違反が選択されています。脆弱性を選択した後、アプリケーションに対してこれらの攻撃をシミュレートし、潜在的な脆弱性を報告します。本番環境ではない環境でこの検出を有効にすることをお勧めします。他のすべての脆弱性も、アプリケーションに対してこれらの攻撃をシミュレートすることなく報告されます。

-
追加設定
-
リクエストの同時実行数 – Webアプリケーションに並行して送信されるリクエストの総数。
-
スキャン深度 - スキャンが実行されるWebアプリケーションの深さ。たとえば、スキャン深度が2の場合、開始URLとこのURLで見つかったすべてのリンクがスキャンされます。1以上の値を指定する必要があります。
-
応答サイズ制限 – 応答サイズの最大制限。指定された値を超える応答はスキャンされません。推奨される制限は3 MB (300000バイト) です。
-
WAFスキャン設定の構成が完了しました。スキャンプロセスを開始するには、スキャンをクリックするか、設定を保存して後でスキャンするには、後で保存をクリックします。
WAFスキャン推奨プロセス
スキャンを開始すると、WAF推奨エンジンは次の処理を行います。
-
提供されたURLを介して、提供されたWebアプリケーションをスキャンします。
-
Webアプリケーションを検査して、Webアプリケーションで使用されているテクノロジーを検出します。
-
Webアプリケーションに対するセキュリティ攻撃をシミュレートして、潜在的な脆弱性を検出します。
-
検出されたWebテクノロジーに基づいてシグネチャを推奨します。
-
発見された脆弱性とトラフィックの分析に基づいてセキュリティチェックを推奨します。
-
Webアプリケーションの応答を分析して、より詳細な設定を生成します。
次のセキュリティチェックがサポートされています。
-
バッファオーバーフロー
-
フィールド形式
-
クレジットカード
-
Cookieの一貫性
-
HTML SQLインジェクション
-
HTMLクロスサイトスクリプティング
-
フォームフィールドの一貫性
-
CSRFフォームタグ付け
スキャンレポートの表示
スキャンが完了したら、レポートの表示をクリックして結果を表示します。
スキャン結果には以下が含まれます。
-
WAFレコメンデーション – アプリケーションに推奨される署名とセキュリティチェックの合計の概要を表示できます。
-
スキャン検出 – アプリケーションで実行されたテクノロジーや違反の詳細などの情報のコレクションを表示できます。詳細の表示をクリックすると、検出に関する情報やスキャンのその他の詳細が表示されます。

WAFレコメンデーションの下で、レコメンデーションの確認をクリックして、セキュリティチェックと署名の詳細を表示します。
推奨されるセキュリティ設定は、アプリケーションに推奨されるセキュリティチェックと署名を示します。リストから推奨事項を編集し、表示または編集をクリックして、要件に応じて詳細を表示したり変更を編集したりできます。「デフォルトにリセット」は、行われたすべての変更をリセットし、元の推奨事項に戻します。
詳細を確認したら、推奨事項を適用をクリックします。推奨事項はStyleBooksを使用して構成されます。セキュリティチェックタブとシグネチャタブで推奨事項を個別に適用するようにしてください。
WAFの結果(/en-us/netscaler-console-service/media/wre-results.png)
まずシグネチャを適用し、次にセキュリティチェックを適用することをお勧めします。これにより、シグネチャがプロファイルに自動的にバインドされます。
シグネチャを正常に適用すると、次のようになります。
-
設定は、
appfw-import-objectStyleBookを介してNetScalerインスタンスに適用されます。 -
推奨事項が構成されたシグネチャファイルがNetScalerインスタンスにインポートされます。
注
シグネチャはNetScaler 13.0以降のバージョンでサポートされています。
セキュリティチェックの推奨事項を適用する前に、Applications > Configuration > Config Packsに移動し、シグネチャのconfigpackが正常に作成されていることを確認してください。
セキュリティチェックを正常に適用すると、次のようになります。
-
設定は、NetScalerのバージョンに応じて、StyleBooksを介してNetScalerインスタンスに適用されます。NetScaler 13.0では
waf-default-130StyleBookが使用され、NetScaler 13.1ではwaf-default-131stylebookが使用されます。 -
AppfwプロファイルはNetScaler上に作成され、policylabelを使用してアプリケーションにバインドされます。 -
推奨されるシグネチャがすでに適用されている場合、シグネチャはappfwプロファイルにバインドされます。
注
セキュリティチェックはNetScaler 13.0 41.28以降のバージョンでサポートされています。
推奨事項 (セキュリティチェックとシグネチャ) を適用した後、次の確認メッセージを表示できます。
WAFの確認(/en-us/netscaler-console-service/media/wre-confirmation.png)
Applications > Configuration > Config Packs に移動して、デフォルトのStyleBookを介してWAFプロファイルとシグネチャが適用されていることを確認できます。
WAF StyleBook(/en-us/netscaler-console-service/media/wre-stylebooks.png)