Citrix ADC

XML 外部エンティティ (XXE) 攻撃防止

XML 外部エンティティ (XXE) 攻撃保護は、Web アプリケーションが存在する信頼されたドメイン外のエンティティに関して、受信ペイロードに許可されていない XML 入力があるかどうかを検査します。XXE 攻撃は、外部エンティティへの参照を含む入力を含む XML ペイロードを解析する弱い XML パーサーがある場合に発生します。

Citrix ADCアプライアンスでは、XMLパーサーが正しく構成されていない場合、この脆弱性を悪用した影響は危険です。これは、攻撃者がWebサーバー上の機密データを読み取り、サービス拒否攻撃などを実行することを可能にします。したがって、XXE 攻撃からアプライアンスを保護することが重要です。Web アプリケーションファイアウォールは、コンテンツタイプが XML として識別される限り、XXE 攻撃からアプライアンスを保護できます。悪意のあるユーザがこの保護メカニズムをバイパスするのを防ぐため、HTTP ヘッダーの「推論された」コンテンツタイプが、本文のコンテンツタイプと一致しない場合、WAF は着信要求をブロックします。このメカニズムは、ホワイトリストに登録されているデフォルトまたはデフォルト以外のコンテンツタイプが使用されている場合に、XXE 攻撃保護バイパスを防止します。

Citrix ADCアプライアンスに影響を与える可能性のあるXXE脅威には、次のようなものがあります。

  • 機密データ漏洩
  • サービス拒否(DOS)攻撃
  • サーバー側の偽造要求
  • ポートスキャン

XML 外部エンティティ (XXE) 保護のしくみ

  1. 着信要求がある場合、WAF は XML ペイロードの最初の 512 バイトを調べて、コンテンツタイプヘッダーとペイロードの content-type の不一致がないか調べます。
  2. コンテンツタイプが一致する場合、XML XXE 保護が有効になり、HTTP 要求に適用されます。
  3. ただし、content-type ヘッダーが body の content-type と一致しない場合、要求は設定されたアクションに基づいてブロック、ドロップ、またはログに記録されます。
  4. ログ記録を有効にして、ログメッセージを生成できます。ログを監視して、正当な要求に対する応答がブロックされているかどうかを判断できます。ログメッセージの数が大幅に増加すると、攻撃を開始しようとした可能性があります。
  5. また、統計機能を有効にして、違反およびログに関する統計データを収集することもできます。stats カウンタの予期しない急増は、アプリケーションが攻撃を受けていることを示している可能性があります。

XML 外部エンティティ (XXE) インジェクション保護を構成する

コマンドインターフェイスを使用して XML 外部エンティティ (XXE) チェックを構成するには:コマンドラインインターフェイス で、アプリケーションファイアウォールプロファイルコマンドを追加または変更して XXE 設定を構成できます。ブロック、ログ、および統計アクションを有効にすることができます。

コマンドプロンプトで、次のように入力します。

set appfw profile <name> [-inferContentTypeXmlPayloadAction <inferContentTypeXmlPayloadAction <block | log | stats | none>]

注:

デフォルトでは、XXE アクションは「なし」に設定されています。

例:

set appfw profile profile1 -inferContentTypeXmlPayloadAction Block

ここで、アクションタイプは次のとおりです。

ブロック:リクエストは、リクエスト内の URL の例外なくブロックされます。

ログ:HTTP 要求ヘッダーの content-type とペイロードの間に不一致が発生した場合は、違反する要求に関する情報をログメッセージに含める必要があります。

統計:コンテンツタイプの不一致が検出されると、この違反タイプの対応する統計値が増加します。

なし:コンテンツタイプの不一致が検出された場合、アクションは実行されません。[なし] は、他のアクションタイプと組み合わせることはできません。デフォルトのアクションは [なし] に設定されています。

Citrix ADC GUIを使用してXXEインジェクションチェックを構成する

XXE インジェクションチェックを設定するには、次の手順を実行します。

  1. セキュリティ]>[Citrix Web App Firewall]>[プロファイル]に移動します。
  2. [プロファイル] ページで、プロファイルを選択し、[編集] をクリックします。
  3. Citrix Web App Firewall プロファイル ページで、[詳細設定]セクションに移動し、[セキュリティチェック]をクリックします。

    XML 外部エンティティチェックセクション

  4. セキュリティチェック 」セクションで、「 コンテンツタイプの XML ペイロードを推 定」を選択し、「 アクション 設定」をクリックします。
  5. [コンテンツタイプ XML ペイロードの設定] ページで、次のパラメータを設定します。

    1. アクション。XXE インジェクションセキュリティチェックに対して実行するアクションを 1 つ以上選択します。
  6. [OK] をクリックします。

    XML 外部エンティティチェック設定の構成

XXE インジェクショントラフィックおよび違反統計情報の表示

Citrix Web App Firewall 統計ページには、セキュリティトラフィックとセキュリティ違反の詳細が表形式またはグラフ形式で表示されます。

コマンドインターフェイスを使用してセキュリティの統計情報を表示するには。

コマンドプロンプトで、次のように入力します。

stat appfw profile profile1

Citrix ADC GUIを使用したXXEインジェクションの統計情報の表示

XXE 射出統計を表示するには、次の手順を実行します。

  1. セキュリティ]>[Citrix Web App Firewall]>[プロファイル]に移動します。
  2. 詳細ペインで、Web App Firewall プロファイルを選択し、[統計] をクリックします。
  3. Citrix Web App Firewall 統計 ページに、XXEコマンドインジェクショントラフィックと違反の詳細が表示されます。
  4. [表形式ビュー] を選択するか、[グラフィカルビュー] に切り替えて、データを表形式またはグラフィック形式で表示できます。

XML 外部エンティティチェック違反の統計