XML 脅威保護ポリシー

ポリシー名

XML 脅威保護

概要

API 要求内の悪意のある XML から保護する

カテゴリ

セキュリティ

使用可能な最小 Flex Gateway バージョン

v1.10.0

返される状況コード

400 - Bad Request

概要

XML 要求を処理するアプリケーションは、要素、属性、および深いネストレベルの異常な膨張により特徴付けられる攻撃を受けやすくなっています。攻撃者は再帰的な技法を使用してメモリリソースをコンシュームします。多くの場合、アプリケーションデータのサイズが劇的に増加することは、セキュリティリスクが発生していることを示します。XML 脅威保護ポリシーを使用して、定義済みの予期されるサイズを超える異常な要求を拒否します。

ポリシーのパラメーターの設定

Flex Gateway のローカルモード

ローカルモードでは、宣言型の設定ファイルを使用してポリシーを API に適用します。以下のポリシー定義とパラメーターの表を参照してください。

- policyRef:
    name: xml-threat-protection-flex
  config:
    maxNodeDepth: <number> // OPTIONAL, default: -1
    maxAttributeCountPerElement: <number> // OPTIONAL, default: -1
    maxChildCount: <number> // OPTIONAL, default: -1
    maxTextLength: <number> // OPTIONAL, default: -1
    maxAttributeLength: <number> // OPTIONAL, default: -1
    maxCommentLength: <number> // OPTIONAL, default: -1
パラメーターを ​-1​ として定義すると、パラメーターは無制限になります。
パラメーター 必須 デフォルト値 説明

maxNodeDepth

いいえ

-1

XML ドキュメントの最大ノード深度を指定します。

maxAttributeCountPerElement

いいえ

-1

要素の最大属性数を指定します。名前空間の定義で使用される属性は含まれません。

maxChildCount

いいえ

-1

子の最大数。XML ドキュメント内の要素の子の最大数を指定します。

maxTextLength

いいえ

-1

XML ドキュメントに含まれるテキストノードの最大文字数を指定します。

maxAttributeLength

いいえ

-1

XML ドキュメント内の属性の最大文字数を指定します。

maxCommentLength

いいえ

-1

XML ドキュメント内のコメント文字の最大数を指定します。

リソースの設定例

- policyRef:
    name: xml-threat-protection-flex
  config:
    maxNodeDepth: 1
    maxAttributeCountPerElement: 1
    maxChildCount: 2
    maxTextLength: 20
    maxAttributeLength: 20
    maxCommentLength: 20

管理 Flex Gateway および Flex Gateway の接続モード

UI からポリシーを API インスタンスに適用するときに、以下のパラメーターが表示されます。

項目 説明

Maximum Node Depth (最大ノード深度)

XML ドキュメントの最大ノード深度を指定します。

Maximum Attribute Count Per Element (要素あたりの最大属性数)

要素の最大属性数を指定します。名前空間の定義で使用される属性は含まれません。

Maximum Child Count (子の最大数)

子の最大数。XML ドキュメント内の要素の子の最大数を指定します。

Maximum Text Length (最大テキスト長)

XML ドキュメントに含まれるテキストノードの最大文字数を指定します。

Maximum Attribute Length (最大属性長)

XML ドキュメント内の属性の最大文字数を指定します。

Maximum Comment Length (最大コメント長)

XML ドキュメント内のコメント文字の最大数を指定します。