Citrix ADC

有关配置文件的补充信息

以下是有关 Web应用防火墙配置文件特定方面的补充信息。此信息介绍了如何在安全检查规则或放宽中包含特殊字符,以及如何在配置配置文件时使用变量。

配置变量支持

要配置 Web应用防火墙的安全检查和设置,现在可以使用标准 Citrix ADC命名变量,而不是使用静态值。通过创建变量,您可以更轻松地将配置导出并导入新的 Citrix ADC设备,或者从一组配置文件中更新现有 Citrix ADC设备。当您使用测试台设置开发针对本地网络和服务器进行调谐的复杂 Web应用防火墙配置,然后将该配置传输到生产 Citrix ADC设备时,这可简化更新。

创建 Web应用防火墙配置变量的方式与执行任何其他 Citrix ADC命名变量相同,遵循标准 Citrix ADC约定。要使用 桂创建命名表达式变量,请使用添加表达式对话框。要使用 Citrix ADC命令行创建命名表达式变量,请使用添加表达式命令后跟相应的参数。

可以使用变量而不是静态值来配置以下 统一资源定位地址和表达式:

  • 开始URL(-starturl)
  • 拒绝 统一资源定位地址(-denyurl)
  • 表单字段一致性检查表单操作 统一资源定位地址(-字段一致性)
  • XML SQL注入检查操作 统一资源定位地址(-xmlsql注入)
  • X毫升跨站点脚本检查操作 统一资源定位地址(-xml)跨站脚本/脚本)
  • HTML SQL注入检查表单操作 统一资源定位地址(-sqlInjection)
  • 字段格式检查表单操作 统一资源定位地址(-fieldFormat)
  • 跨站点请求伪造 (CSRF)检查表单源 统一资源定位地址表单操作 统一资源定位地址(-csrfTag)
  • HTML跨站脚本检查表单操作 统一资源定位地址(-跨站点脚本)
  • 安全对象(-safeObject)
  • XML拒绝服务(XDoS)检查操作 统一资源定位地址(-XMLDoS)
  • 网状物服务互操作性检查统一资源定位地址(-XMLWSIURL)
  • <XML验证检查统一资源定位地址(-XMLValidationURL)
  • XML附件检查统一资源定位地址(-XMLAttachmentURL)

有关详细信息,请参阅策略和表达式

要在配置中使用变量,请将变量名称包括在两个 (@) 符号之间,然后完全像使用它替换的静态值一样使用它。例如,如果要使用 桂配置拒绝 统一资源定位地址校验,并希望将命名表达式变量 myDenyURL添加到配置中,则可在“添加拒绝 URL“对话框“拒绝 URL“文本区域中键入 @myDenyURL@要使用 Citrix ADC命令行执行相同的任务,您可以键入 添加appfw配置文件-denyURLAction@myDenyURL@

PCRE字符编码格式

Citrix ADC操作系统仅支持直接 输入可打印 ASCII码字符集中的字符,即十六进制代码介于十六进制 20(ASCII 32)和十六进制 7E(ASCII 127)之间的字符。要在 Web应用防火墙配置中包含超出该范围的代码的字符,必须输入其 UTF-8十六进制代码作为 PCRE正则表达式。

如果将许多字符类型作为 网址:表单字段名称或安全对象表达式包含在 Web应用防火墙配置中,则需要使用 PCRE正则表达式进行编码。这些措施包括:

  • 上 ASCII码字符。带有从十六进制 7F(ASCII 128)到十六进制 FF(ASCII 255)编码的字符。根据所使用的字符映射,这些编码可以引用控制代码、带重音或其他修改的 ASCII码字符、非拉丁字母字符以及基本 ASCII码集中未包含的符号。这些字符可以显示在 网址:表单字段名称和安全对象表达式中。

  • 双字节字符。带有使用两个 8.字节单词的编码的字符。双字节字符主要用于表示电子格式中文、日文和韩文文本。这些字符可以显示在 网址:表单字段名称和安全对象表达式中。

  • ASCII码控制字符。用于向打印机发送命令的不可打印字符。所有十六进制代码小于十六进制 20(ASCII 32)的 ASCII码字符都属于此类别。但是,这些字符绝不能出现在 统一资源定位地址或表单字段名称中,如果出现在安全对象表达式中,这些字符也很少出现。

Citrix ADC设备不支持整个 UTF-8字符集,但仅支持以下八个字符集中找到的字符:

  • 美国英文(国际标准化组织-8859-1。虽然标签显示为“美国英语”,但 Web应用防火墙支持 ISO-8859-1字符集(也称为 拉丁语-1字符集)中的所有字符。这个字符集完全代表了大多数现代西欧语言,并代表了除少数不寻常的字符之外的所有其他字符。

  • 繁体中文 (大5)Web应用防火墙支持 大5字符集中的所有字符,其中包括在香港、澳门、台湾以及许多居住在中国大陆以外的中国人常用的现代汉语口语和书写的所有繁体中文字符。

  • 简体中文(GB2312)。Web应用防火墙支持 GB2312字符集中的所有字符,其中包括所有在中国大陆常用的现代中文简体字符(构图)。

  • 日语(SJIS)。Web应用程序防火墙支持shift - jis (SJIS)字符集中的所有字符,其中包括现代日语中常用的大多数字符(表象符)。

  • 日语 (欧盟-太平洋联盟)。Web应用防火墙支持 EUC-JP字符集中的所有字符,其中包括现代日语中常用的所有字符(理想字符)。

  • 朝鲜语 (欧洲联盟-克罗地亚)。Web应用防火墙支持 EUC-KR字符集中的所有字符,其中包括在现代韩语中常用的所有字符(表象符)。

  • 土耳其语 (国际标准化组织-8859-9)。Web应用防火墙支持 ISO-8859-9字符集中的所有字符,其中包括现代土耳其语中使用的所有字母。

  • 统一码 (UTF-8)Web应用防火墙支持 UTF-8字符集中的某些附加字符,包括在现代俄语中使用的字符。

配置Web应用防火墙时,您可以使用utf - 8规范中分配给该字符的十六进制代码将所有非ASCII字符作为PCRE格式正则表达式输入。常规ASCII字符集中的符号和字符(在该字符集中分配了单两位数字代码)将在utf - 8字符集中分配相同的代码。例如,感叹号(!)在ASCII字符集中分配的十六进制代码21日在utf - 8字符集中也是十六进制21。来自另一个受支持的字符集的符号和字符在utf - 8字符集中有一组分配给它们的十六进制代码。例如,具有尖锐重音(a)的字母一个被分配为utf - 8代码C3 A1。

在 Web应用防火墙配置中用于表示这些 UTF-8代码的语法为 ASCII码字符“xNN”;“\xNN\xNN”表示英语、俄语和土耳其语中使用的非 ASCII码字符;“\xNN\xNN\xNN”表示中文、日语和韩语中使用的字符。例如,如果您想表示一个! 在 Web应用防火墙正则表达式中作为 UTF-8字符键入\ x21如果您想包含一个 á,您可以键入 \xC3\xA1

注意: 通常情况下,您不需要以 UTF-8格式表示 ASCII码字符,但是当这些字符可能会混淆 网状物浏览器或底层操作系统时,您可以使用字符的 UTF-8表示来避免这种混淆。例如,如果 统一资源定位地址包含空格,则可能需要将空格编码为 x20以避免混淆某些浏览器和 网状物服务器软件。

以下是 网址:表单字段名称和安全对象表达式的示例,其中包含非 ASCII码字符,这些字符必须作为 PCRE格式正则表达式输入,才能包含在 Web应用防火墙配置中。每个示例首先显示实际的 网址:字段名称或表达式字符串,后跟一个 PCRE格式的正则表达式。

  • 包含扩展 ASCII码字符的 网址

    实际网址:http://www.josénuñez.com

    编码的 网址:^http://www\[.\]jos\xC3\xA9nu\xC3\xB1ez\[.\]com$

  • 包含扩展 ASCII码字符的另一个 网址

    实际网址:http://www.example.de/trömso.html

    编码的 网址:^http://www[.]示例\[.]de/tr\xC3\xB6mso[.]html$

  • 包含扩展 ASCII码字符的表单字段名称。

    实际姓名:nome_do_usuário

    编码名称:^nome_do_usu\xC3\xA1rio$

  • 包含扩展 ASCII码字符的安全对象表达式。

    未编码的表达式 [A-Z]{3,6}¥[1-9][0-9]{6,6}

    编码表达式:[A-Z]{3,6}\xC2\xA5[1-9][0-9]{6,6}

您可以在互联网上找到许多包含整个Unicode字符集和匹配utf - 8编码的表。包含此信息的有用网站位于以下网址:

http://www.utf8-chartable.de/unicode-utf8-table.pl

要使本网站表格中的字符正确显示,您必须在计算机上安装适当的 统一码字体。如果不这样做,则角色的可视显示可能出现错误。但是,即使您没有安装适当的字体来显示字符,这组网页上的描述以及 UTF-8和 UTF-16代码将是正确的。

倒置 PCRE表达式

除了匹配包含模式的内容之外,您还可以使用倒置 PCRE表达式匹配不包含模式的内容。要反转表达式,您只需包含一个感叹号 (!) 后跟空格作为表达式中的第一个字符。

注意:如果一个表达式只包含一个感叹号,但没有后面的内容,则感叹号将被视为一个文字字符,而不是指示反转表达式的语法。

以下Web应用防火墙命令支持倒置PCRE表达式:

  • 开始 URL(URL)
  • 拒绝 URL(URL)
  • 表单字段一致性(表单操作 (网址)
  • 饼干一致性(表单操作URL)
  • 跨站请求伪造 (CSRF)(表单操作 (网址)
  • HTML跨站点脚本(表单操作 (网址)
  • 字段格式(表单操作 (网址)
  • 字段类型(类型)
  • 机密字段 (网址)

注意:如果安全检查包含 伊斯雷杰克斯标志或复选框,则必须将其设置为 对或选中以在字段中启用正则表达式。否则,该字段的内容将被视为文字,并且不会解析任何正则表达式(倒置或否)。

Web应用防火墙配置文件的禁用名称

以下名称分配给 Citrix ADC设备上的内置操作和配置文件,不能用作用户创建的 Web应用防火墙配置文件的名称。

  • 进取的
  • 允许
  • 基本
  • 克利恩塔斯
  • 压紧
  • CSSMINIFY
  • 瘪下来
  • 否认
  • DNS-NOP
  • GZIP
  • HTMLMINIFY
  • IMGOPTIMIZE
  • 缩小
  • 适度的
  • 诺克林托斯
  • 无压
  • 努普
  • 诺雷斯莱特
  • 重置
  • SetasLearnSlog_法案
  • SETNSLOGPARAMS_法案
  • SETSYSLOGPARAMS_法案
  • SETTMSESSPARAMS_法案
  • SETVPNPARAMS_法案
  • 设置预授权参数
  • default_DNS64_action
  • dns\u默认\u行为\u缓存旁路
  • dns\u默认\u操作\u删除
  • nshttp_默认_配置文件
  • nshttp\u默认\u严格\u验证
  • nstcp_default_Mobile_profile
  • nstcp_默认_XA_XD_配置文件
  • nstcp_默认_配置文件
  • nstcp_默认_tcp_交互_流
  • nstcp_默认_tcp_lan
  • nstcp\u默认\u tcp\u lan\u精简\u流
  • nstcp_默认值_tcp_lfp
  • nstcp_默认_tcp_lfp_精简_流
  • nstcp_默认值_tcp_lnp
  • nstcp_默认_tcp_lnp_精简_流
  • nstcp_内部应用程序
有关配置文件的补充信息