Citrix ADC

XML拒绝服务检查

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

如果使用向导或GUI,在“修改XML拒绝服务检查”对话框中,在一般选项卡,您可以启用或禁用阻止,日志,统计和学习操作:

如果使用命令行方式,可以输入以下命令配置XML拒绝服务检查:

  • 设置appfw概要文件<名称> -xmlDoSAction[* *屏蔽* *][* *记录* *][* *学习* *][* *数据* *][* *不* *]

要配置单独的XML拒绝服务规则,必须使用GUI。在检查的标签。修改XML拒绝服务检查对话框中,选择规则,单击开放打开修改XML拒绝服务对话框。对于不同的规则,单独的对话框有所不同,但都很简单。有些只允许您启用或禁用规则;其他选项则允许您通过在文本框中输入新值来修改数字。

注意:

学习引擎针对拒绝服务攻击的预期行为基于配置的动作。如果动作被设置为“Block”,引擎会学习配置的绑定值+1,并且在出现违规时停止XML解析。如果配置的动作未设置为“Block”,引擎将学习实际传入的违规长度值。

单独的XML拒绝服务规则是:

  • 最大元素深度。将每个单独元素中的嵌套层的最大数量限制为256。如果该规则被启用,Web应用防火墙检测到一个XML请求的元素超过了允许的最大级别数,它将阻止该请求。您可以将最大级别数修改为从1(1)到65,535的任意值。

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

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

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

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

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

  • 最大#属性。将每个元素允许拥有的最大属性数量限制为256个。您可以将属性的最大数量修改为1(1)到256之间的任意值。

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

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

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

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

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

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

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

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

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

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

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

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

  • SOAP数组检查。启用或禁用以下SOAP数组检查:

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

在本文中