Citrix ADC

强制执行 HTTP RFC 合规性

Citrix Web App Firewall 检查传入流量是否符合 HTTP RFC 规定,并删除默认情况下存在 RFC 冲突的任何请求。但是,在某些情况下,设备可能必须绕过或阻止非 RFC 合规性请求。在这种情况下,您可以将设备配置为在全局或配置文件级别绕过或阻止此类请求。

在全局级别阻止或绕过不符合 RFC 要求的请求

如果请求不完整或无效,并且 WAF 无法处理此类请求,HTTP 模块将其标记为无效。例如,缺少主机头的传入 HTTP 请求。若要阻止或绕过此类无效请求,您必须在应用程序防火墙全局设置中配置“malformedReqAction”选项。

注意:

如果您禁用“malformedReqAction”参数中的“阻止”选项,则设备会绕过所有非 RFC 合规性请求的整个应用程序防火墙处理,并将请求转发到下一个模块。

使用命令行界面阻止或绕过无效的非 RFC 投诉 HTTP 请求

要阻止或绕过无效请求,请输入以下命令:

set appfw settings -malformedreqaction <action>

示例:

set appfw settings –malformedReqAction block

显示格式错误的请求操作设置

要显示格式错误的请求操作设置,请输入以下命令:

show appfw settings

输出:

DefaultProfile:  APPFW_BYPASS UndefAction:  APPFW_BLOCK SessionTimeout:  900     LearnRateLimit:  400     SessionLifetime:  0 SessionCookieName:  citrix_ns_id ImportSizeLimit:  134217728 SignatureAutoUpdate:  OFF SignatureUrl:"https://s3.amazonaws.com/NSAppFwSignatures/SignaturesMapping.xml" CookiePostEncryptPrefix:  ENC GeoLocationLogging:  OFF CEFLogging:  OFF       EntityDecoding:  OFF     UseConfigurableSecretKey:  OFF SessionLimit:  100000    MalformedReqAction:  block log stats
 Done

使用 Citrix ADC GUI 阻止或绕过无效的非 RFC 投诉 HTTP 请求

  1. 导航到安全 > Citrix Web App Firewall
  2. Citrix Web App Firewall 页面中,单击 设置下的更改引擎设置
  3. 配置 Citrix Web App Firewall 设置页面中,选择日志格式错误请求选项作为“阻止”、“日志”或“统计”。
  4. 单击确定关闭

注意:

如果取消选择“阻止”操作或没有选择任何格式错误的请求操作,设备会绕过请求而不会隐私用户。

在配置文件级别阻止或绕过不符合 RFC 要求

其他不符合 RFC 的请求可以配置为在配置文件级别阻止或绕过。您必须在“阻止”或“旁路”模式下设置 RFC 配置文件。通过这样做,任何与 Web App Firewall 配置文件匹配的无效流量都会被绕过或阻止。

注意:

当您在 “绕过” 模式下设置 RFC 配置文件时,您必须确保您禁用 “HTML 跨站点脚本设置” 和 “HTML SQL 注入设置” 部分中的转换选项。如果启用该选项并将 rfc 配置文件设置为“绕过”模式,设备将显示警告消息,“转换跨站点脚本”和“转换 SQL 特殊字符”当前都处于打开状态。建议在与 APPFW_RFC_BYPASS 一起使用时将其关闭。

重要:

此外,设备还会显示一个警告说明:“启用的 Appfw 安全检查可能不适用于在设置此配置文件时冲突 RFC 检查的请求。不建议启用任何转换设置,因为请求可能会被部分转换,包含 RFC 冲突。”

使用命令行界面在 Web App Firewall 配置文件中配置 RFC 配置文件

在命令提示符下,键入以下命令:

set appfw profile <profile_name> -rfcprofile <rfcprofile_name

示例

set appfw profile P1 -rfcprofile APPFW_RFC_BLOCK

注意

默认情况下,rfc 配置文件绑定到“阻止”模式下的 Web App Firewall 配置文件。

使用 GUI 在 Web App Firewall 配置文件中配置 RFC 配置文件

  1. 导航到安全 > 应用程序防火墙 > 配置文件
  2. 置文件”页面中,选择一个配置文件,然后单击编辑
  3. Web App Firewall 配置文件页中,单击高级设置部分的配置 文件设置。
  4. HTTP 设置 部分,在 APPFW_RFC_绕过模式下设置 RFC 配置文件。系统 会显示一条警告消息,“启用的 Appfw 安全检查可能不适用于在设置此配置文件时冲突 RFC 检查的请求。不建议启用任何转换设置,因为请求可能会被部分转换,包含 RFC 冲突”。

强制执行 HTTP RFC 合规性