PoC ガイド:Web アプリケーションファイアウォールの展開

概要

この概念実証(PoC)ガイドは、スタンドアロンまたは既存のADC展開の一部としてCitrix Web App Firewall(WAF)を迅速に展開し、Webアプリケーションとサービスを保護するために設計されています。このガイドでは、Citrix WAF の基本、展開のベストプラクティス、および WAF プロジェクトの次のステップについて説明します。このガイドでは、利用可能なすべての保護をカバーするわけではありません。また、現在利用可能なすべてのWebテクノロジーも網羅していません。

この手順は、ADCアプライアンスによってすでにプロキシされているアプリケーションまたはサーバのクローン作成について説明しています。これにより、管理者は既存のトラフィックを中断することなくポリシーとルールを構築できます。これは、Web Application Firewallの PoC を展開する唯一の方法ではありませんが、他の方法よりも簡単です。

概念アーキテクチャ

Citrix Webアプリケーションファイアウォールとアプリケーションのアーキテクチャ

Web Application Firewallは、レイヤ 3 またはレイヤ 4 で動作する従来のネットワークファイアウォールとは異なり、アプリケーションレイヤであるレイヤ 7 で動作します。これは、HTTP、XML、SQL、およびHTMLのようなWebおよびアプリケーションプロトコルを理解しています。

Citrix WAFは、可能な限り幅広い保護を実現するために、正と負の両方のセキュリティモデルを提供します。ネガティブセキュリティモデルは 、既知の攻撃を防ぐために脆弱性シグネチャを採用しています。また、迅速な初期導入を可能にし、サードパーティのアセスメントツールから結果をインポートすることにより、アプリケーションの「仮想パッチ適用」メカニズムを提供します。

Citrix Webアプリケーションファイアウォールとアプリケーションのアーキテクチャ

正のセキュリティモデルは 、許可されるトラフィックパターンとユーザ動作を定義し、それ以外のすべてをブロックします。WAF エンジンは、動的プロファイリングを使用して、許容可能な動作のルールセットを構築します。

Citrix Webアプリケーションファイアウォールとアプリケーションのアーキテクチャ

前提条件

このガイドでは、Citrix ADCまたはスタンドアロンのCitrix WAFで次の項目がすでに構成されていることを前提としています。

  1. ネットワークの概念とCitrix ADCの管理に関する基本的な理解
  2. ADCアプライアンスはすでに導入されており、ネットワーク上でアクセス可能
  3. 適切なライセンスが適用されている-スタンドアロンWAFまたはADCの場合、 Premiumライセンスが必要です
  4. NSIPが割り当てられ、管理のためにアクセス可能
  5. SNIP が割り当てられ、保護されている 1 つ以上のサービスと通信できる
  6. 別のVIPの内部専用IPアドレスとDNSエントリ (ADCによってすでにサービスが負荷分散されている場合があるため、別のIPとDNSが使用可能であることを確認してください)

    注:

    別の DNS 名と URL を使用してアプリケーションにアクセスする場合は、新しい名前を認識するために、アプリケーションに構成を追加する必要があります。

  7. 保護するアプリケーションまたはサービスのアーキテクチャと構造に関する基本的な理解。たとえば、サイトがクレジット・カード情報を処理し、クレジット・カード保護が有効かどうかを決定する場合、またはアプリケーションで SQL データベースを使用して記憶域に SQL データベースを使用するかどうかが SQLi保護を使用するかどうかが判断されます。
  8. 保護されているアプリケーションに応じて、HTTP、HTML、正規表現、JavaScript などのWebプロトコルと技術の基本的な理解
  9. Citrix ADCでのレイヤー4の負荷分散と構成の基本的な理解
  10. 専用の syslog サーバ-ローカル syslog を使用できますが、専用の syslog サーバを設定することをお勧めします。または、Security Insight を備えたCitrix ADMは、WAFエンジンとアプリケーションセキュリティの詳細な分析を提供します

WAF 概念実証に関する考慮事項

おそらく、保護するWebサービスまたはアプリケーションは、ロード・バランシングやその他のトラフィック管理のために、ADCによってすでにプロキシされています。WAF PoC の展開中、既存のユーザのアプリケーションの機能や可用性を損なうことはありません。これを実現するために、重複した仮想サーバが作成されます。ただし、重複する仮想サーバには WAF ポリシーがバインドされている点が異なります。

この方法により、ユーザはアプリケーションをテストして、アプリケーションが正しく機能していることを確認し、許容可能なトラフィックの WAF ルールを構築することもできます。

Web Application Firewallを有効にする前に、ADC配置のサイジングを考慮する必要があります。これは、リソースを大量に消費する可能性があるからです。サイズを見積もる最善の方法は、Web サーバーを使用して、要求サイズ、応答サイズ、およびフォーム数を分析および推定することです。Citrix ADCを使用して基本的なWebサイジングメトリックを収集できますが、アプリケーションがすでにプロキシされている場合に限ります。


show httpband -type RESPONSE
show httpband -type REQUEST
<!--NeedCopy-->

特定の保護には、 他のものよりも大幅に多くのリソースが必要となるため高度な保護と呼ばれます 。高度な保護は、フォームフィールド、URL、Cookie、および Web トランザクション内のその他のデータを記憶しているため、より多くのリソースを消費します。WAF エンジンは、トランザクション間でデータが変更されないことを検証し、要求と応答が改ざんされないこと、およびそれにより多くのアプライアンスのメモリを消費します。設定に記載されているように、一部の高度な保護機能では、 セッションレスチェックがサポートされています 。セッションレス保護では、メモリよりも多くの CPU リソースが必要です。

たとえば、 Advanced ポリシーが適用されたアプライアンスは、 基本保護のみを持つ同一アプライアンスの約 10 分の 1 のトラフィックを処理できます。各アプライアンスでサポートされているWAFスループット機能については、Citrix ADCのデータシートを参照してください。

推奨される保護

通常、これらのセキュリティチェックは WAF プロファイルで有効にできます。これらのチェックのほとんどは、ブロッキングを有効にする前に、 学習されたルールを適用する必要があります 。学習されたルールを先に展開せずに、 デフォルトでブロックをイネーブルにしないでください

注:

このリストは網羅的なものではありません。一部の保護は、一部のアプリケーションと互換性がありません。また、一部の保護は他のアプリケーションにメリットを追加しません。

  • クッキーの一貫性
    • アプリケーションからのセッション Cookie を WAF エンジンによって暗号化またはプロキシすることを許可する
    • クッキーの一貫性により、悪意のあるアクターがクッキーを改ざんするのを防ぎます
    • クッキーの一貫性は高度な保護です

      注:

      ユーザーがアプリケーションをアクティブに使用しているときは、この設定を有効にしないでください。暗号化されていないセッションクッキーは送信されません。

    • Citrix 製品ドキュメントの詳細情報
  • バッファオーバーフロー
    • セキュリティで保護されていない OS や Web サーバソフトウェアに対する攻撃を防止。処理できるよりも大きいデータを受信すると、予期せぬ動作をする
    • バッファオーバーフローは、URL、クッキー、またはヘッダーが指定された最大サイズよりも長いかどうかを検出します
    • Citrix 製品ドキュメントの詳細情報
  • フォームフィールドの一貫性チェック
    • ユーザーが返した Web フォームがサーバーに送信される前に変更されていないことを検証します。
    • フォームフィールドの一貫性は、 セッションレスサポートによる高度な保護機能
    • Citrix 製品ドキュメントの詳細情報
  • SQLインジェクション
    • POST 本文、ヘッダー、および Cookie から SQL の特殊キーワードと文字をブロックまたは変換します。
    • Web アプリケーションが SQL データベースを使用する場合にのみ適用可能
    • Citrix 製品ドキュメントの詳細情報
  • クロスサイトスクリプティングチェック (XSS)
    • クロスサイトスクリプト攻撃に対する要求のヘッダーと POST 本文をチェックします。
    • WAF は、要求を完全にブロックするか、問題のあるスクリプトを変換して実行されないようにすることができます
    • Citrix 製品ドキュメントの詳細情報
  • URL を拒否する
    • ハッカーや悪意のあるコードやスクリプトが一般的にアクセスする URL への接続をブロックする
    • [ 編集 ]、[追加] の順にクリックして、[ 緩和ルール] > [URL 拒否 ] UI でカスタム URL 拒否ルールを追加できます
    • Citrix 製品ドキュメントの詳細情報
  • 開始URL (URL 閉鎖)
    • ブックマーク、外部リンク、ページジャンプ、または手動で URL を入力することで、サイト上のランダムな URL への直接アクセス(強制ブラウジング)を防止
    • 開始 URL は、 セッションレスサポートによる高度な保護です 。学習したルールは、開始 URL に基づいてブロックする前に展開する必要があります
    • Citrix 製品ドキュメントの詳細情報

初期 WAF 設定

WAF 保護を設定する場合、次の 2 つのオプションがあります。

  • オプション 1: Web App Firewall 構成ウィザードを使用して WAF プロファイルと WAF ポリシーを作成する
    • ウィザードでは、次のように、初期署名セットおよびその他のセキュリティチェックと設定を構築する手順について説明します。
      • Web UIで、[ セキュリティ]>[Citrix Web App Firewall]の順に移動します。

      Citrix Webアプリケーションファイアウォールとアプリケーションのアーキテクチャ

      • WAF プロファイルの名前とプロファイルの種類 (保護するアプリケーションの種類に応じて Web、XML、または JSON) を選択します。

      Citrix Webアプリケーションファイアウォールとアプリケーションのアーキテクチャ

      • WAF エンジンによって処理されるトラフィックを決定する式を指定します。

      Citrix Webアプリケーションファイアウォールとアプリケーションのアーキテクチャ

      • 既知の脆弱性の保護を適用するシグニチャを選択します。既存のシグニチャセットを使用するか、新しいセットを作成するオプションがあります。この保護プロファイルに適用するシグニチャを選択するには、基本機能または高度な機能を提供する 2 つのエディタオプションがあります。

      • 両方のエディタには、シグニチャを選択し、有効化、ブロック、ログ、または統計を選択するナビゲーションオプションがあります。複数のページの署名に注意し、すべてが選択されていることを確認してください。基本エディタは使い始めるのが簡単ですが、高度なエディターではより多くの機能が提供されます

      注:

      次の手順に進む前に、署名が ENABLED としてマークされていることを確認します。

      Citrix Webアプリケーションファイアウォールとアプリケーションのアーキテクチャ

      Citrix Webアプリケーションファイアウォールとアプリケーションのアーキテクチャ

      • アプリケーションに適用可能なディーププロテクションを選択します。まず、ロギング、統計、およびラーニングを有効にすることをお勧めします。多くの保護で学習されたルールが必要なため、最初はブロッキングを有効にしないでください。

      Citrix Webアプリケーションファイアウォールとアプリケーションのアーキテクチャ

      重要:

      WAF ウィザードを使用してプロファイルとポリシーを作成すると、グローバルにバインドされます。フィルタリング式をデフォルト(true)のままにすると、すべてのトラフィックが WAF エンジンによって処理され、アプリケーションが誤動作する可能性があります。推奨されるアクションは、 デフォルトのグローバルバインドポイントからポリシーのバインドを解除し 、代わりに後で作成される LB 仮想サーバーにバインドすることです。グローバルバインドポイントから WAF ポリシーをバインド解除するには、次の手順を実行します。

      • セキュリティ]> Citrix Web App Firewall]>[ポリシー]>[ファイアウォール]に移動します。
      • [ ポリシーマネージャ] を選択し、[ デフォルトグローバル] を選択します。
      • リストされている WAF ポリシーを強調表示し、[ Unbind] を選択します。

    Citrix Webアプリケーションファイアウォールとアプリケーションのアーキテクチャ

  • オプション 2: または、WAF プロファイル、WAF ポリシーを手動で作成し、署名セットを適用することによって、WAF 保護をアプリケーションまたはサイトに適用することもできます。
    1. アプリケーションの署名セットを作成する
      1. セキュリティ]> Citrix Web App Firewall]>[署名
      2. [ Default Signatures ] をハイライトし、[ Add ] を押して、デフォルトシグニチャセットのコピーを作成します
      3. 保護するアプリケーションまたはサイトに応じて適切な署名を選択し、署名が [ ENABLED] に設定されていることを確認します。
    2. Web App Firewall プロファイルの作成
      1. セキュリティ]> Citrix Web App Firewall]>[プロファイル]に移動します。
      2. プロファイルにわかりやすい名前を付けて、保護するアプリケーションの種類に応じて [Web]、[XML]、または [JSON] を選択します。
      3. 基本設定を適用するには 、[基本] を選択します。
      4. 作成したら、新しいプロファイルをハイライト表示し、[ 編集] を押します
      5. セキュリティチェックを開きすべてのアイテムでブロックを選択解除します
      6. プロファイル設定を開く
        • [ バインドされた署名] 設定で以前に作成した署名セットを選択します
        • バックエンドアプリケーションサーバーがチャンクされた要求をサポートしている場合は、[ ストリーミング ] を有効にしてパフォーマンスを向上させます
        • 保護されているアプリケーションまたは Web サイトに基づいて、追加の設定を変更します。
    3. Web App Firewall ポリシーの作成
      1. セキュリティ]> Citrix Web App Firewall]>[ポリシー]>[ファイアウォール]に移動します。
      2. [ 追加 ] を押して、新しいポリシーを作成します
      3. ポリシーにわかりやすい名前を付けて、前に作成した WAF プロファイルを選択します。
      4. WAF エンジンによって処理されるトラフィックを決定するトラフィック式を作成します。

使用方法に関係なく、基本的な Web App Firewall 設定をバインドできるようになりました。最後の手順は、シグニチャファイルを更新することです。

  • [ セキュリティ]>[Citrix Web App Firewall]>[署名]に移動します。
  • 新しく作成した署名セットをハイライトし、 [アクションの選択] > [自動更新設定]を押します。
  • 署名の自動更新を有効にし 、更新 URL が入力されていることを確認します

    注:

    シグニチャの更新では、ADC が DNS 名を解決し、NSIP からパブリックインターネットにアクセスできる必要があります。

Citrix Webアプリケーションファイアウォールとアプリケーションのアーキテクチャ

  • 自動更新が設定されると、ADC は 1 時間に 1 回アップデートをチェックします。シグニチャは手動で更新することもでき、WAF プロファイルとポリシーの作成後に手動更新を 1 回実行する必要があります。

ADC アプライアンスがシグニチャアップデートに到達できるかどうかを確認するには、 CLI (exit to Shell)から次のコマンドを実行します。


shell
curl -I https://s3.amazonaws.com/NSAppFwSignatures/SignaturesMapping.xml
<!--NeedCopy-->

システムは HTTP/1.1 200 OKを返す必要があります

Citrix Webアプリケーションファイアウォールとアプリケーションのアーキテクチャ

最新の署名更新ドキュメントは、 Citrix Prod Docsで入手できます 。RSSを介した更新も利用できます。

デフォルトでは、共通イベント形式(CEF)ロギングは有効になっていません。WAF はネイティブロギング形式を使用します。さらに、WAF エンジンには、リクエストのジオロケーション情報を含めることができます。トラブルシューティングを容易にするために、[ セキュリティ]>[Citrix Web App Firewall ]>[エンジン設定の変更]の順に選択して、CEFログとジオロケーションを有効にすることをお勧めします。CEF ロギングおよびGeo ロケーションロギングのチェックボックスをオンにします。または、これらの設定は、CLI を使用して次のようにで有効にできます。


set appfw settings GeoLocationLogging ON CEFLogging ON
<!--NeedCopy-->

仮想サーバ構成のクローン作成

Web App Firewall プロファイルとポリシーを作成したら、負荷分散仮想サーバーにバインドする必要があります。アプリケーションまたはサービスが ADC にまだ設定されていない場合は、最初から設定する必要があります。アプリケーションがすでに設定されている場合は、クローンする必要があります。

既存の仮想サーバのクローンをすばやく作成するには、次の手順を実行します。

  • [ トラフィック管理] > [負荷分散] > [仮想サーバー] に移動します

Citrix Webアプリケーションファイアウォールとアプリケーションのアーキテクチャ

  • 既存の仮想サーバをハイライト表示し、[ 追加 ] を押して、同様の設定で新しい仮想サーバを作成します。
    • 新しい仮想サーバに新しい名前および異なる IP アドレスを割り当てる
    • ポートとプロトコルが正しいことを確認し、 [OK]を押します
    • サービスまたはサービスグループをバインドし、[ Continue] を押します
    • 既存の仮想サーバと一致するために必要な負荷分散方法、永続性、およびその他のトラフィック設定を変更します。
    • この仮想サーバーが HTTPS 仮想サーバーの場合は、適切な証明書がバインドされ、セキュリティで保護された Cipher Suite がバインドされていることを確認します。

Citrix Webアプリケーションファイアウォールとアプリケーションのアーキテクチャ

Citrix Webアプリケーションファイアウォールとアプリケーションのアーキテクチャ

次に、WAF ポリシーを、この新しい仮想サーバにバインドする必要があります。

  • [ トラフィック管理] > [負荷分散] > [仮想サーバー] に移動します
  • 新しく作成した仮想サーバをハイライト表示し、[ 編集] を押します。
  • 右の [詳細設定] 列で、[ ポリシー]
  • +(プラス) アイコンを押してポリシーを追加します
    • **リクエストの種類でアプリファイアウォールポリシーを選択する**
    • デフォルトのバインドの詳細は放置することができます

Citrix Webアプリケーションファイアウォールとアプリケーションのアーキテクチャ

Citrix Webアプリケーションファイアウォールとアプリケーションのアーキテクチャ

ユーザー受け入れテストと初期トラブルシューティング

この時点で、ユーザは新しい URL を使用してアプリケーションのテストを開始し、WAF ポリシーがバインドされた Web アプリケーションにアクセスできます。アプリケーションの複雑さに応じて、異なる部署にまたがる複数のユーザーがアプリケーションを使用して、許容可能なトラフィック量を生成する必要があります。このトラフィックは、学習エンジンによってアプリケーションのすべての部分を確認し、アプリケーションの機能を妨げるフォールスポジティブブロックがないことを確認するために使用されます。

最初のテストでは、問題のあるリクエストに関連する情報を見つけるのは難しい場合がありますが、これを支援する設定がいくつかあります。1 つ目は、要求がブロックされるたびに診断情報を提示するカスタム HTML エラーオブジェクトを設定することです。エラーオブジェクトが設定されていない場合、ユーザーには情報が何も提供されない空白のページが表示されることがよくあります。

注:

これは、WAF で保護されたアプリケーションがテスト対象外のユーザーに公開されると、削除または変更することをお勧めします。

  • 診断情報を表示するように HTML エラーオブジェクトを設定します
    • WAF プロファイルに移動し、[ **プロファイルの設定**] を展開します
    • HTMLエラーオブジェクトを選択し、追加ボタン(またはプラス)をクリックして新しいオブジェクトを作成します
    • [HTML エラーページのインポート] で [ テキスト] を選択します
    • エラーオブジェクトに名前を付けて、次のコードを貼り付けます。
<html>
<head>
<title>Application Firewall Block Page</title>
</head>
<body>
<h1><B>Your request has been blocked by a security policy<B><BR></H1>
<H3>Access has been blocked - if you feel this is in error, please contact the site
administrators quoting the following: </H3> <UL>
<li>NS Transaction ID: ${NS_TRANSACTION_ID}
<li>AppFW Session ID: ${NS_APPFW_SESSION_ID}
<li>Violation Category: ${NS_APPFW_VIOLATION_CATEGORY}
<li>Violation Details: ${NS_APPFW_VIOLATION_LOG} </UL>
</body>
</html>
<!--NeedCopy-->

Citrix Webアプリケーションファイアウォールとアプリケーションのアーキテクチャ

結果のエラーページには、違反カテゴリやログの詳細など、貴重な診断情報が表示されます。この情報により、管理者は、フォールスポジティブが原因でブロックを緩和する必要があるかどうかを検証できます。

Citrix Webアプリケーションファイアウォールとアプリケーションのアーキテクチャ

重要:

WAF ブロックによっては、ページの特定の要素の読み込みのみが妨げられます。たとえば、画像、CSS フォーマット、スクリプト、ボタン\ フォーム機能が動作しない場合があります。これらのブロックは依然として問題と見なされますが、診断エラーページは表示されません。syslog ビューア(以下の例を参照)を使用して、問題の原因となっているシグニチャまたはセキュリティチェックを見つけます。

WAF エンジンによって生成される Syslog メッセージは 、診断エラーページが使用できない場合に、ブロックされたセッションを理解するのに役立ちます。

  • [ システム] > [監査] > [Syslog メッセージ]

Citrix Webアプリケーションファイアウォールとアプリケーションのアーキテクチャ

  • フィルタ」列で 「モジュール」を選択し、「 APPFW」を選択します。
  • 適用を押してください

Citrix Webアプリケーションファイアウォールとアプリケーションのアーキテクチャ

フォールスポジティブブロックがある場合、いくつかの違反は Syslog ビューアからすぐに緩和できます

  • [Syslog メッセージ] ビュー(前の)から、ルール違反である Syslog メッセージを見つけます。
  • メッセージの右上隅にあるボックスにチェックを入れます
  • [アクション] メニューを選択し、[展開] を選択します。
  • または、展開する前に緩和ルールを変更することもできます

Citrix Webアプリケーションファイアウォールとアプリケーションのアーキテクチャ

注:

署名違反による偽陽性のブロックは、多くの場合、Web アプリケーションが標準に従っていないか、正しく記述されていないことを意味します。アプリケーションを機能させる即時アクションは、緩和ルールを適用することですが、長期的な目標は、アプリケーション自体を修正することです。記述の悪いアプリケーションでの緩和ルールは、アプリケーションの機能を許可することにより、悪意のあるコンテンツを通過させることができます。

すべてのアイテムの統計をオンにすると 、アプライアンスはルールまたはシグニチャに違反するたびにカウンタを収集します。これは、最初にカウンタをクリアして、WAF ポリシーの結果としてブロックされた新しい要求が発生したかどうかを確認できるので便利です。

ADC UI の [ ダッシュボード ] タブで、統計ビューを [ アプリケーションファイアウォール ] に設定し、関連するすべての統計数を表示します。統計は、このビューからもクリアできます。

Citrix Webアプリケーションファイアウォールとアプリケーションのアーキテクチャ

または、次のコマンドを使用して、 アプライアンスのシェルコマンドラインから統計を表示できます


nsconmsg -d stats | grep appfw
<!--NeedCopy-->

Web Application Firewallは Web 標準に準拠しており、既定では、不正な形式の要求はブロックされます。この動作を変更するには、次の操作を行います。

  • Citrix WAFは厳格なHTTPチェックを使用しています
  • デフォルトでは無効で、RFC に準拠していない HTTP 要求はブロックされます
    • RFCに準拠していない要求処理を変更するには、[ セキュリティ]>[Citrix Web App Firewall ]の順に選択し、[ エンジンの設定の変更
    • CLIメソッドでは、不正な形式のリクエストのロギングと統計生成のみを設定するには、次のコードを参照してください。

      注:

      この設定はグローバルです。ブロックオプションを無効にすると、WAF エンジンは、RFC に準拠していない要求に対してアプリケーションファイアウォール処理をバイパスします。これはお勧めしません。

Citrix Webアプリケーションファイアウォールとアプリケーションのアーキテクチャ


set appfw settings -malformedReqAction log stats
<!--NeedCopy-->

セキュリティチェックの学習

学習されたデータは、WAF エンジンのポジティブなセキュリティモデルのルールを作成するために使用されます 。学習されたルールに関するいくつかの簡単な詳細:

  • RegEx形式で保存され、分析または移行のためにCSVにエクスポート可能
  • アプライアンスの HA ペアに伝播される
  • セキュリティチェックはラーニングモードのままにできますが、必須ではありません。
  • UAT中に処理されるトラフィックが増加するほど、より有用なデータを収集します
  • アプライアンスが既知のクライアントと不明なクライアントの両方からトラフィックを受信しているときに、学習用に Trusted Learning Client を設定することを強く推奨します 。この設定により、悪意のあるトラフィックが学習されたルールに許可されないようにします。

学習されたエンジンは、 aslearn プロセスとして実行され、ルールは次の場所に SQLite 形式で格納されます。


/var/nslog/asl/appfwprofile.db
<!--NeedCopy-->

Citrix Webアプリケーションファイアウォールとアプリケーションのアーキテクチャ

ラーニングモードは永続的に有効にできますが、学習データベースのサイズ制限は 20 MB です。データベースがこのサイズに達すると、ラーニングエンジンは新しいデータを追加しません。

プロセスの観点からは、次のように学習が行われます。

Citrix Webアプリケーションファイアウォールとアプリケーションのアーキテクチャ

有効なラーニングチェックを含むバインド WAF ポリシーを使用してユーザが新しいアプリケーションにアクセスしているときはいつでも、学習された規則が生成されます。重複仮想サーバーアプローチを使用すると 、保護されたアプリケーションをテストしている間、本番トラフィックはブロックされません。さらに、この時点で WAF エンジンを通過するすべてのトラフィックは、学習されたルールを生成します。

緩和規則を構築し、誤検出ブロックなしでアプリケーションが期待どおりに動作することを保証するための典型的な流れは、連続的に発生します。

Citrix Webアプリケーションファイアウォールとアプリケーションのアーキテクチャ

このプロセスは、以前にルールが作成されていないアプリケーションまたはワークフローに変更があるときはいつでも繰り返す必要があります。

UI を使用して学習されたデータを表示するには、次の手順を実行します。

  • セキュリティ]>[Citrix Web App Firewall ]>[プロファイル]の順に選択し、[アプリファイアウォール]プロファイルを選択して[ 編集]を選択します。
  • 右側の列で、[ 学習したルール] を選択します。
  • ラーニングをサポートする各セキュリティチェックは、いくつかのオプションとともに表示されます。
    • 特定のセキュリティチェックで学習されたルールを表示および展開するには、[ 編集 ] を選択します。

Citrix Webアプリケーションファイアウォールとアプリケーションのアーキテクチャ

  • ルールが配置されると、 学習したルールから緩和ルールに移行されます。
  • 学習したルール UI から、ルールを [ 学習したデータのエクスポート] ボタンを使用してルールを CSV にエクスポートしてから 、ルールを緩和ルールに移動できます。
  • ビジュアライザーは 、ルールと保護されたアプリケーションの URL マップを視覚化するためのスタートURLチェックに特に便利なツールです。

Citrix Webアプリケーションファイアウォールとアプリケーションのアーキテクチャ

学習したルールが緩和ルールに配備されると、セキュリティチェックを [ ブロック] に設定できます。

注:

十分なトラフィックが処理されていないか、WAF エンジンによってすべてのアプリケーションパスが認識されない場合は、誤検出ブロックがある可能性があります。学習したルールプロセスは、アプリケーションが期待どおりに動作するまで繰り返すことができます。

インポートエクスポート

Web Application Firewallプロファイルの構成全体は、複数のアプライアンスに複製できます。このプロセスでは、HTML エラーオブジェクト、XML エラーオブジェクト、WSDL\ XML スキーマ、署名、緩和規則など、すべてのバインドされたオブジェクトをキャプチャします。これは、テスト環境から実稼働環境に移行する場合や、変更を行う前に WAF 設定をバックアップする場合に特に便利です。

注:

エクスポートされた構成では、両方のアプライアンスが同じビルド上にある必要があります。

GUIを使用してWAFプロファイルをエクスポートするには、ソースアプライアンスで、[ セキュリティ]>[Citrix Web App Firewall ]>[プロファイル]>[WAFプロファイルの選択]の順に選択し、[操作]>[エクスポート]の順に選択します 。エクスポートファイルの生成には、しばらく時間がかかる場合があります。アーカイブが完了すると、 WafProfile.tgZ ファイルがクライアントコンピュータにダウンロードされます。

GUIを使用してWAFプロファイルをインポートするには、移行先アプライアンスで、[ セキュリティ]>[Citrix Web App Firewall ]>[プロファイル]>[操作]>[インポート]の順に選択します。[インポート元] [ファイル] を選択し、[ファイルの選択] を選択して、以前にダウンロードしたアーカイブを検索します。インポートプロセスに関するすべての問題は、次のファイルに記録されます。


/var/log/ns.log
<!--NeedCopy-->

注:

インポートプロセスでは、WAF ポリシーまたはバインディングは作成されません。

動的プロファイリング

ダイナミックプロファイリング機能は、バージョン 13.0 で WAF エンジンに追加され、設定されたしきい値の後に、学習したデータを自動的に緩和ルールに展開できます。管理者にアラートが送信され、無効な場合はデータをスキップできます。そうでない場合、データは自動的に追加されます。デフォルトでは、サポートされているすべてのセキュリティー検査で動的プロファイリングが無効になっています。動的プロファイリングを有効にし、設定を構成するには、次の手順を実行します。

  • セキュリティ]>[Citrix Web App Firewall ]>[プロファイル]の順に選択し、[アプリファイアウォール]プロファイルを選択して[ 編集]を選択します。
  • 右側の列で、[ 動的プロファイリング] を選択します。
    • 各セキュリティチェックは、この UI から有効または無効にできます。
    • この WaF プロファイルの動的プロファイル設定は、[ 設定]

Citrix Webアプリケーションファイアウォールとアプリケーションのアーキテクチャ

Citrix Webアプリケーションファイアウォールとアプリケーションのアーキテクチャ

動的プロファイルを使用する場合は、 信頼できるラーニングクライアントを有効にして 、有効なアプリケーショントラフィックのみがルールを生成するようにすることを強くお勧めします。これらのクライアントは、次の場所から追加できます。

  • 学習したルール UI
  • 動的プロファイリング UI

Citrix Webアプリケーションファイアウォールとアプリケーションのアーキテクチャ

本番環境への移行時の考慮事項

重複仮想サーバ方式を使用する際の最も重要な考慮事項は 、URL を含む学習された規則のいずれも、アプリケーション URL が変更された場合に適用されないことです。たとえば、開始 URL および CSRF フォームタグルールには URL が含まれます。

運用仮想サーバーに移行する最良の方法は、セキュリティー検査のブロックを無効にし、URL を含むルールを再学習して展開することです。または、学習したルールをエクスポートし、URL を変更した後に読み出すこともできます。また、 信頼できるラーニングクライアントがまだ追加されていない場合は 、有効化することも非常に重要です。

最後に、PoC を実稼働環境とは異なるリソースを持つテストプラットフォームで実行する場合は、Web Application Firewallを有効にすることで変化するリソース要件を考慮することが重要です。

参照ドキュメント

Citrix製品ドキュメント-Web App Firewall

Citrix 製品ドキュメント WAF-よくある質問

Citrixアプリケーションファイアウォールがアプリケーションデータトラフィックを変更する方法

WAF 基本保護対高度な保護

アプリケーションファイアウォールでの共通イベント形式(CEF)ロギングのサポート

Web App Firewall プロファイルのエクスポートとインポート

PoC ガイド:Web アプリケーションファイアウォールの展開