ADC

XML 拒绝服务检查

XML 拒绝服务(XML DoS 或 xDoS)检查会检查传入的 XML 请求,以确定它们是否与拒绝服务 (DoS) 攻击的特征匹配。如果有匹配,则会阻止这些请求。XML DoS 检查的目的是防止攻击者使用 XML 请求在您的 Web 服务器或网站上发起拒绝服务攻击。

如果使用向导或 GUI,则在 “修改 XML 拒绝服务复选” 对话框中的 “ 常规 ” 选项卡上,可以启用或禁用 “阻止”、“日志”、“统计信息” 和 “学习” 操作:

如果使用命令行界面,则可以输入以下命令来配置 XML 拒绝服务检查:

  • set appfw profile <name> -xmlDoSAction [**block**] [**log**] [**learn**] [**stats**] [**none**]

要配置单个 XML 拒绝服务规则,必须使用 GUI。在 修改 XML 拒绝服务复 选对话框的 检查 选项卡上,选择一个规则,然后单击 开以打开该规则的 修改 XML 拒绝服务 对话框。各个对话框因不同的规则而有所不同,但很简单。有些仅允许您启用或禁用规则;有些则允许您通过在文本框中键入新值来修改数字。

注意 : Learning 引擎针对拒绝服务攻击的预期行为基于配置的操作。如果操作设置为 “阻止”,则引擎将获知配置的绑定值 +1,当出现违规时 XML 解析将停止。如果配置的操作未设置为 “阻止”,引擎将获知实际传入的违规长度值。

单个 XML 拒绝服务规则是:

  • 最大元素深度。将每个单独元素中嵌套级别的最大数量限制为 256。如果启用此规则,并且 Web App Firewall 检测到具有超过允许级别的最大数量的元素的 XML 请求,则会阻止请求。您可以将最大级别数修改为从一 (1) 到 65,535 的任意值。

  • 最大元素名称长度。将每个元素名称的最大长度限制为 128 个字符。这包括扩展名称空间中的名称,其中包括 XML 路径和元素名称,格式如下:

     {http://prefix.example.com/path/}target_page.xml
     <!--NeedCopy-->
    

用户可以将最大名称长度修改为介于一 (1) 个字符和 65,535 之间的任何值。

  • 最大 # 个元素。将每个 XML 文档中任意一种类型的元素的最大数量限制为 65,535。您可以将元素的最大数量修改为介于 1 到 65535 之间的任意值。

  • 最多 # 元素子元素。将允许每个单独元素具有的子元素(包括其他元素、字符信息和注释)的最大数量限制为 65,535。您可以将元素子元素的最大数量修改为介于 1 到 65535 之间的任意值。

  • 最大 # 个属性。将允许每个单独元素具有的最大属性数限制为 256。您可以将属性的最大数量修改为介于 1 和 256 之间的任意值。

  • 最大属性名称长度。将每个属性名称的最大长度限制为 128 个字符。您可以将最大属性名称长度修改为介于 1 到 2048 之间的任何值。

  • 最大属性值长度。将每个属性值的最大长度限制为 2048 个字符。您可以将最大属性名称长度修改为介于 1 到 2048 之间的任何值。

  • 最大字符数据长度。将每个元素的最大字符数据长度限制为 65,535。您可以将长度修改为介于一 (1) 到 65,535 之间的任何值。

  • 最大文件大小。将每个文件的大小限制为 20 MB。您可以将最大文件大小修改为任意值。

  • 最小文件大小。要求每个文件的长度至少为 9 个字节。您可以将最小文件大小修改为表示各种字节的任何正整数。

  • 最大 # 个实体扩展。将允许的实体扩展数限制为指定数量。默认值:1024。

  • 最大实体扩展深度。将嵌套实体扩展的最大数量限制为不超过指定数量。默认值:32。

  • 最大 # 个命名空间。限制 XML 文档中的命名空间声明的数量不超过指定的数量。默认值:16。

  • 最大命名空间 URI 长度。将每个命名空间声明的 URL 长度限制为不超过指定字符数。默认值:256。

  • 块处理说明。阻止请求中包含的任何特殊处理说明。此规则没有可用户修改的值。

  • 阻止 DTD。阻止请求中包含的任何文档类型定义 (DTD)。此规则没有可用户修改的值。

  • 阻止外部实体。阻止请求中对外部实体的所有引用。此规则没有可用户修改的值。

  • SOAP 阵列检查。启用或禁用以下 SOAP 阵列检查:

    • 最大 SOAP 阵列大小。在阻止连接之前,XML 请求中所有 SOAP 数组的最大总大小。您可以修改此值。默认值:20000000。
    • 最大 SOAP 阵列排名。在阻止连接之前,XML 请求中任何单个 SOAP 数组的最大等级或维度。您可以修改此值。默认值:16。
XML 拒绝服务检查