强制遵循HTTP RFC
Citrix Web App Firewall检查传入的流量是否符合HTTP RFC,并在默认情况下丢弃任何违反RFC的请求。但是,在某些情况下,设备可能不得不绕过或阻止非rfc遵从性请求。在这种情况下,您可以将设备配置为在全局或概要级别绕过或阻止此类请求。
在全局级别阻塞或绕过不符合rfc的请求
HTTP模块在请求不完整或无效且WAF不能处理时将其标记为无效。例如,一个传入的HTTP请求缺少一个主机头。若要阻止或绕过此类无效请求,必须配置malformedReqAction
选项中的应用程序防火墙全局设置。
注意:
中禁用块选项
malformedReqAction
参数,设备绕过整个应用防火墙处理所有非rfc符合请求,并将请求转发到下一个模块。
通过命令行接口阻止或绕过无效的非rfc投诉HTTP请求
要阻止或绕过无效请求,输入以下命令:
设置appfw设置- malformdreqaction
例子:
设置appfw settings - malformdreqaction block
显示格式错误的请求操作设置
输入以下命令显示格式错误的请求动作设置:
显示appfw设置
输出:
DefaultProfile: APPFW_BYPASS UndefAction: APPFW_BLOCK SessionTimeout: 900 LearnRateLimit: 400 SessionLifetime: 0 sessioncookename: citrix_ns_id ImportSizeLimit: 134217728 SignatureAutoUpdate: OFF SignatureUrl:"https://s3.amazonaws.com/NSAppFwSignatures/SignaturesMapping.xml" CookiePostEncryptPrefix: ENC GeoLocationLogging: OFF CEFLogging: OFF EntityDecoding: OFF useconfigablesecretkey: OFF SessionLimit: 100000 malformdreqaction: block log stats Done
通过使用Citrix ADC GUI阻止或绕过无效的非rfc投诉HTTP请求
- 导航到安全>Citrix Web应用防火墙.
- 在Citrix Web应用防火墙页面,点击更改引擎设置下设置.
- 在配置Citrix Web App防火墙设置页,选择日志格式错误请求选项为块,日志或统计。
- 点击好吧而且关闭.
注意:
如果取消选择块操作或不选择任何格式错误的请求操作,设备将绕过该请求,而不会通知用户。
在概要文件级别阻塞或绕过不符合rfc的请求
其他不符合rfc的请求可以配置为在概要文件级别阻塞或绕过。RFC配置文件必须配置为Block或Bypass两种模式。通过这样做,任何与Web应用程序防火墙配置文件匹配的无效流量都将被绕过或相应阻止。
注意:
类中的转换选项时,将RFC配置文件设置为“旁路”模式HTML跨站脚本设置在SQL注入设置部分。如果启用该选项并将rfc配置文件设置为旁路模式,则设备将显示一条警告消息,“转换跨站点脚本”和“转换SQL特殊字符”当前都处于开启状态。建议关闭时使用
APPFW_RFC_BYPASS
.重要的是:
此外,该设备还显示一个警告说明,“当设置此配置文件时,启用的Appfw安全检查可能不适用于违反RFC检查的请求。不建议启用任何转换设置,因为请求的部分转换可能包含RFC违规。”
使用命令行接口在Web应用程序防火墙配置文件中配置RFC配置文件
在命令提示符下,输入以下命令:
设置appfw profile
例子
set appfw profile P1 -rfcprofile APPFW_RFC_BLOCK
注意:
缺省情况下,rfc配置文件以阻断模式绑定到Web应用防火墙配置文件。
使用GUI在Web应用防火墙配置文件中配置RFC配置文件
- 导航到安全> Citrix Web应用防火墙>配置文件.
- 在配置文件页签中,选择目标配置文件,单击编辑.
- 在Web应用防火墙配置文件页面,点击配置文件设置从高级设置部分。
- 在HTML的设置节,配置APPFW_RFC_BYPASS方式的RFC配置文件。系统提示“Appfw Security checks enabled might not be applied to request exceeded exceeded RFC checking”。不建议启用任何转换设置,因为部分转换的请求可能包含RFC违规”。