ADC

Web App Firewall 配置文件设置

以下是必须在设备上配置的配置文件设置。

在命令提示符下,键入:

add appfw profile <name> [-invalidPercentHandling <invalidPercentHandling>] [-checkRequestHeaders ( ON | OFF )] [-URLDecodeRequestCookies ( ON | OFF )] [-optimizePartialReqs ( ON | OFF )] [-errorURL <expression>] [-logEveryPolicyHit ( ON | OFF )] [-stripHtmlComments <stripHtmlComments>] [-stripXmlComments ( none | all )] [-postBodyLimitSignature <positive_integer>][-fileUploadMaxNum <positive_integer>][-canonicalizeHTMLResponse ( ON | OFF )][-percentDecodeRecursively ( ON | OFF )] [-multipleHeaderAction <multipleHeaderAction> ...][-inspectContentTypes <inspectContentTypes> ...][-semicolonFieldSeparator ( ON | OFF )]

示例:

add appfw profile profile1 [-invalidPercentHandling secure_mode] [-checkRequestHeaders ON] [-URLDecodeRequestCookies OFF] [-optimizePartialReqs OFF]

其中,

invalidPercentHandling - 配置处理百分比编码的名称和值的方法。

可用设置功能如下:

asp_mode-去除并解析用于解析的无效百分比。

示例:- curl –v “http://<vip>/forms/login.html?field=sel%zzect -> Invalid percent encoded char(%zz) 被剥离,其余内容将被检查,并为 SQLinjection 检查采取措施。

secure_mode-我们检测到无效的百分比编码值并将其忽略。

示例:- 检测到 curl –v “http://<vip>/forms/login.html?field=sel%zzect -> Invalid percent encoded char(%zz),计数器增加,内容按原样传递给服务器。

apache_mode-此模式的工作方式类似于安全模式。

注意:

从版本 13.1 版本 45.x 开始,apache_mode 函数已过时。

可能的值:apache_mode、asp_mode、secure_mode

默认值:安全模式

optimizePartialReqs ——当关闭/打开(没有安全对象)时,NetScaler 设备会向后端服务器发送部分请求。此部分响应已发送回客户端。配置安全对象时,optimizePartialReqs 很有意义。设备在关闭时从服务器发送完全响应请求,开启时仅请求部分响应。

可用的设置如下:

ON -客户端的部分请求会导致对后端服务器的部分请求。 OFF-客户端的部分请求更改为对后端服务器的完整请求。

可能的值:开、关 默认值:开

URLDecodeRequestCookies。启用 checkRequestHeaders 后,将检查 cookie 以进行安全检查(SQL、跨站点、cmd 注入)。如果启用了 URLDecodeRequestCookies,则对 cookie 进行 URL 解码,然后进行检查。

可能的值:开、关 默认值:关

签名邮政正文限制(字节)。限制位置指定为“HTTP_POST_BODY”的签名所检查的请求负载(以字节为单位)。

默认值:8096 最小值:0 最大值:4294967295

帖子正文限制(字节)。限制 Web App Firewall检查的请求负载(以字节为单位)。

默认值:20 万 最小值:0 最大值:10 GB

有关安全设置及其 GUI 过程的详细信息,请参阅配置 Web App Firewall 配置文件主题。

postBodyLimitAction。当您指定允许的 HTTP 正文的最大大小时,PostBodyLimit 将遵循错误设置。 要遵守错误设置,您必须配置一个或多个“帖子正文限制”操作。该配置也适用于传输编码标头被分块的请求。

set appfw profile <profile_name> -PostBodyLimitAction block log stats

其中, 阻止 - 此操作阻止违反安全检查的连接,并且它基于所配置的 HTTP 主体的最大大小(后体限制)。您必须始终启用该选项。

日志-记录此安全检查的冲突情况。

统计信息-为此安全检查生成统计信息。

注意:

帖子正文限制操作的日志格式现在已更改为遵循标 准审核日志记录格式,例如: ns.log.4.gz:Jun 25 1.1.1.1. <local0.info> 10.101.10.100 06/25/2020:10:10:28 GMT 0-PPE-0 : default APPFW APPFW_POSTBODYLIMIT 1506 0 : <Netscaler IP> 4234-PPE0 - testprof ><URL> Request post body length(<Post Body Length>) exceeds post body limit.

inspectQueryContentTypes 检查针对以下内容类型的注入 SQL 和跨站点脚本的请求查询和 Web 表单。

set appfw profile p1 -inspectQueryContentTypes HTML XML JSON OTHER

可能的值:HTML、XML、JSON、其他

默认情况下,对于基本和高级 appfw 配置文件,此参数设置为“InspectQueryContentTypes:HTML JSON OTER”。

以 XML 格式检查查询内容类型的示例:

> set appfw profile p1 -type XML
Warning: HTML, JSON checks except “InspectQueryContentTypes” & “Infer Content-Type XML Payload Action” will not be applicable when profile type is not HTML or JSON respectively.
<!--NeedCopy-->

以 HTML 格式检查查询内容类型的示例:

> set appfw profile p1 -type HTML
Warning: XML, JSON checks except “InspectQueryContentTypes” & “Infer Content-Type XML Payload Action” will not be applicable when profile type is not XML or JSON respectively
Done
<!--NeedCopy-->

以 JSON 格式检查查询内容类型的示例:

> set appfw profile p1 -type JSON
Warning: HTML, XML checks except “InspectQueryContentTypes” & “Infer Content-Type XML Payload Action will not be applicable when profile type is not HTML or XML respectively
Done
<!--NeedCopy-->

errorURL 表达式。NetScaler Web App Firewall 用作错误 URL 的 URL。最大长度:2047。

注意:

为了阻止请求的 URL 中的违规,如果错误 URL 类似于签名 URL,设备将重置连接。

logEveryPolicyHit -记录每个配置文件匹配项,无论安全检查结果如何。 可能的值:ON、OFF。 默认值:OFF。

stripXmlComments - 在转发受保护网站为响应用户请求而发送的网页之前,先删除 XML 注释。 可能的值:无、全部、exclude_script_tag。 默认值:无

postBodyLimitSignature - 签名中位置 HTTP_POST_BODY 的签名检查所允许的 HTTP 帖子正文大小的最大值,以字节为单位。 值的变化可能会影响 CPU 和延迟配置文件。 默认值:2048。 最小值:0 最大值:4294967295

fileUploadMaxNum -每个表单提交请求允许的最大文件上载次数。最大设置 (65535) 允许无限数量的上载。 默认值:65535 最小值:0 最大值:65535

canonicalizeHTMLResponse -对受保护网站发送的响应中的任何特殊字符执行 HTML 实体编码。 可能的值:开、关 默认值:开

percentDecodeRecursively - 配置应用程序防火墙是否应使用百分比递归解码。 可能的值:开、关 默认值:开

multipleHeaderAction -一个或多个多个标头操作。可用设置功能如下:

  • 阻止。阻止具有多个标头的连接。
  • 日志。记录具有多个标头的连接。
  • KeepLast。当存在多个标题时,只保留最后一个标题。

inspectContentTypes — 一个或多个 InspectContentType 列表。

  • 应用程序/x-www-form-urlencoded
  • multipart/form-data
  • text/x-gwt-rpc

可能的值:无、应用程序 /x-www 表单 urlencoded、多部分/表单数据、text/x-gwt-rpc

semicolonFieldSeparator -允许 ‘;’ 作为 URL 查询和 POST 表单正文中的表单域分隔符。 可能的值:开、关 默认值:关

Web App Firewall 配置文件设置