WAF 推奨事項
Citrix Web App Firewall(WAF)プロファイルとWAFシグネチャは、Webアプリケーションを悪意のある攻撃から保護します。WAFシグネチャは、既知の攻撃からWebサイトを保護するタスクを簡素化するための特定の設定可能なルールを提供します。シグニチャは、オペレーティングシステム、Web サーバー、Web サイト、XML ベースの Web サービス、またはその他のリソースに対する既知の攻撃のコンポーネントであるパターンを表します。シグネチャを使用してアプリケーションを保護するには、ルールを確認し、適用するルールを有効化して設定する必要があります。
同様に、データ漏えいを防ぎ、アプリケーションに適切なセキュリティ保護を提供するには、セキュリティチェック付きのWAFプロファイルを作成する必要があります。ADC インスタンスで WAF プロファイルを作成すると、トラフィックは次のようになります。
-
前述のセキュリティチェックで生成してください
-
前述のセキュリティチェックでは生成されない
インスタンスは他の攻撃を受けている可能性がありますが、WAF プロファイルでそのセキュリティチェックを有効にしていない可能性があります。
管理者は、適切な署名を有効にし、適切な WAF プロファイルを作成してウェブアプリケーションを保護することを理解する必要があります。シナリオによっては、適切な署名と WAF プロファイルを特定するのが難しい場合があります。
Citrix ADM WAFレコメンデーションは、アプリケーションの脆弱性をスキャンし、次の推奨事項を生成します。
-
WAF プロフィール
-
WAF 署名
詳細については、「 WAF プロファイル 」と「 WAF 署名」を参照してください。
WAF推奨データベースは、新しい脆弱性が含まれるように頻繁に更新されます。必要なレコメンデーションをスキャンし、選択して有効化できます。すべてのシグネチャとセキュリティチェックを有効にできますが、誤検出が発生し、ADC インスタンスのパフォーマンスに影響する可能性があります。そのため、必要なセキュリティチェックと署名のみを選択することをお勧めします。また、WAF レコメンデーションエンジンは、アプリケーションに対してどのシグネチャとセキュリティチェックを有効にする必要があるかを自動的に検出します。
注
ADC インスタンスは 13.0 41.28 以降 (セキュリティチェック用) と 13.0 以降 (署名用) でなければなりません。
前提条件
用途:
-
プレミアムライセンスが必要です。
-
負荷分散仮想サーバーでなければなりません。
WAF スキャンの設定を行う
Citrix ADM で、[ セキュリティ]>[WAF推奨事項 ]に移動し、[ アプリケーション]で[ スキャンの開始 ]をクリックしてアプリケーションのWAFスキャン設定を構成します。
WAF レコメンデーションのページで:
-
ドメイン名 — アプリケーション VIP に関連付けられた、パブリックにアクセス可能/パブリックにアクセス可能なドメイン名を指定します。例:
www.example.com
。注
開始 URL、ログイン URL、およびログアウト URL は、指定されたドメインと一致する必要があります。
-
トラフィックと開始 URL — アプリケーション (サーバー) の URL の詳細を指定します。
-
HTTP/HTTPS プロトコル — アプリケーションのプロトコルを選択します。
-
トラフィックタイムアウト — スキャン中の 1 つのリクエストの待機時間 (秒単位)。値は 0 より大きくなければなりません。
-
Start URL — スキャンを開始するアプリケーションのホームページ。例:
https://www.example.com/home
。URL は有効な IPv4 アドレスでなければなりません。10.0.0.0/8、172.16.0.0/12、および192.168.0.0/16の範囲の内部 IP アドレスは許可されていません。
-
-
ログイン URL — アプリケーションにアクセスするためのログイン認証情報と URL (ある場合) を指定します。
-
ログイン URL — 認証のためにログインデータが送信される URL。HTML では、この URL は一般にアクション URL と呼ばれます。
-
認証方法 — アプリケーションでサポートされている認証方法 (フォームベースまたはヘッダーベース) を選択します。
-
フォームベース認証では、ログイン認証情報を使用してログイン URL にフォームを送信する必要があります。これらの認証情報は、フォームフィールドとその値の形式である必要があります。次に、アプリケーションは、スキャン中にセッションを維持するために使用されるセッション Cookie を共有します。
-
ヘッダーベースの認証では、ヘッダーセクションに Authentication ヘッダーとその値が必要です。Authentication ヘッダーには有効な値が必要で、スキャン中のセッションを維持するために使用されます。ヘッダーベースの場合、フォームフィールドは空のままにしてください。
-
-
リクエストメソッド — フォームデータをログイン URL に送信するときに使用する HTTP メソッドを選択します。許可されるリクエストメソッドは POST、GET、および PUT です。
-
フォームフィールド — ログイン URL に送信するフォームデータを指定します。フォームフィールドは、フォームベース認証を選択した場合にのみ必須です。キーと値のペアで指定する必要があります。ここで、フィールド名はキー、フィールド値は値です。パスワードを含め、ログインに必要なすべてのフォームフィールドが正しく追加されていることを確認してください。値は、データベースに保存される前に暗号化されます。「追加」ボタンをクリックすると、複数のフォームフィールドを追加できます。たとえば、フィールド名 — ユーザー名、フィールド値 — admin。
-
HTTP ヘッダー — ログインを成功させるには HTTP ヘッダーが必要になる場合があります。キーと値のペアで指定する必要があります。ここで、ヘッダー名はキー、ヘッダー値は値です。[追加] ボタンをクリックすると、複数の HTTP ヘッダーを追加できます。最も一般的に必要な HTTP ヘッダーの1つは Content-Type ヘッダーです。
-
-
「ログアウト URL 」— アクセス後にセッションを終了する URL を指定します。例:
https://www.example.com/customer/logout
。 -
脆弱性 — スキャナーが検出する脆弱性を選択します。現在、これはSQLインジェクション違反とクロスサイトスクリプティング違反に対して行われています。デフォルトでは、すべての違反が選択されます。脆弱性を選択した後、アプリケーションに対するこれらの攻撃をシミュレートして潜在的な脆弱性を報告します。実稼働環境以外ではこの検出を有効にすることをお勧めします。アプリケーションに対するこれらの攻撃をシミュレートせずに、他のすべての脆弱性も報告されています。
-
追加設定
-
同時リクエスト数 — ウェブアプリケーションに並行して送信されたリクエストの総数。
-
スキャンの深さ -スキャンを続ける必要があるウェブアプリケーションの深さ。たとえば、スキャン深度の値が 2 の場合、開始 URL とこの URL に含まれるすべてのリンクがスキャンされます。1 以上の値を指定する必要があります。
-
レスポンスサイズの上限 — レスポンスサイズの上限です。上記の値を超える応答はスキャンされません。推奨される上限は 3 MB (300000 バイト) です。
-
WAF スキャンの設定が完了しました。[ スキャン ] をクリックしてスキャン処理を開始することも、[ 後で保存する ] をクリックして設定を保存して後でスキャンすることもできます。
WAF スキャン推奨プロセス
スキャンを開始すると、WAF レコメンデーションエンジンは
-
提供された URL を使用して、提供された Web アプリケーションをスキャンします。
-
Web アプリケーションを検査して、Web アプリケーションで使用されているテクノロジーを検出します。
-
Web アプリケーションに対するセキュリティ攻撃をシミュレートして、潜在的な脆弱性を検出します。
-
検出された Web 技術に基づいて署名を推奨します。
-
検出された脆弱性とトラフィックの分析に基づいてセキュリティチェックを推奨します。
-
Web アプリケーションの応答を分析して、より詳細な設定を生成します。
次のセキュリティチェックがサポートされています。
-
バッファオーバーフロー
-
フィールドの書式
-
クレジットカード
-
クッキーの一貫性
-
HTML SQLインジェクション
-
HTML クロスサイトスクリプティング
-
フォームフィールドの一貫性
-
CSRF フォームタグ付け
スキャンレポートを表示
スキャンが完了したら、[ レポートを表示 ] をクリックして結果を表示します。
スキャン結果には次の情報が表示されます。
-
WAF Recommended — アプリケーションに推奨されるシグネチャとセキュリティチェックの合計の概要を表示できます。
-
スキャン検出 — アプリケーションで実行されたテクノロジーや違反の詳細などの情報のコレクションを表示できます。[ 詳細を表示 ] をクリックすると、検出に関する情報とスキャンのその他の詳細が表示されます。
「 WAF 勧告」で「 勧告を確認 」をクリックすると、 **セキュリティー検査と署名の詳細が表示されます**。
推奨セキュリティ設定には、アプリケーションに推奨されるセキュリティチェックとシグネチャが示されます。リストからレコメンデーションを編集し、[ 表示] または [編集 ] をクリックして詳細を表示したり、要件に応じて変更を編集したりできます。デフォルトにリセットすると、加えられたすべての変更がリセットされ、元の推奨に戻ります。
詳細を確認したら、「 推奨事項を適用」をクリックします。レコメンデーションはStyleBooksを使用して設定されます。「 セキュリティチェック 」タブと「 署名 」タブで個別に推奨事項を適用する必要があります。
最初に署名を適用し、次にセキュリティチェックを適用することをお勧めします。これにより、シグネチャがプロファイルに自動的にバインドされます。
署名を正常に適用すると:
-
構成は、
appfw-import-object
StyleBookを通じてADCインスタンスに適用されます。 -
推奨事項が設定されたシグネチャファイルが ADC インスタンスにインポートされます。
注
署名は ADC 13.0 以降のバージョンでサポートされています。
セキュリティチェックの推奨事項を適用する前に 、「 アプリケーション」>「構成」>「構成パック 」に移動し、シグニチャ構成パックが正しく作成されていることを確認します。
セキュリティーチェックを正常に適用すると:
-
構成は、ADCのバージョンに応じて、StyleBooksを通じてADCインスタンスに適用されます。ADC 13.0では
waf-default-130
スタイルブックが使用され、ADC 13.1ではwaf-default-131
スタイルブックが使用されます。 -
Appfw
プロファイルは ADC で作成され、policylabel
を使用してアプリケーションにバインドされます。 -
推奨シグニチャが既に適用されている場合、シグニチャは appfw プロファイルにバインドされます。
注
セキュリティー検査は ADC 13.0 41.28 以降のバージョンでサポートされています。
推奨事項 (セキュリティチェックと署名) を適用すると、次の確認メッセージが表示されます。
WAFプロファイルと署名がデフォルトのStyleBooksで適用されていることを確認するには、「 アプリケーション」>「構成」>「構成パック」に移動します。