Citrix ADC

管理内容类型

Web服务器添加一个content - type头,其中包含每个内容类型的MIME/类型定义。Web服务器提供许多不同类型的内容。例如,标准HTML被指定为“text/ HTML”MIME类型。JPG图像被指定为“图像/jpeg”或“图像/ JPG”内容类型。一个普通的web服务器可以提供不同类型的内容,所有的内容都由指定的MIME/类型在content Type头中定义。

许多Web App Firewall过滤规则旨在过滤特定的内容类型。过滤规则适用于一种类型的内容(如HTML),在过滤不同类型的内容(如图像)时通常不合适。因此,Web App Firewall在对请求和响应进行过滤之前,会尝试确定它们的内容类型。如果web服务器或浏览器没有向请求或响应添加content - type头文件,web应用程序防火墙将应用默认内容类型并相应地过滤内容。

默认的内容类型通常是“应用程序/八字节流”,具有最通用的MIME/类型定义。MIME/类型适用于web服务器可能提供的任何内容类型。但是没有向Web应用程序防火墙提供太多信息,以允许它选择适当的过滤。如果一个受保护的web服务器被配置为添加准确的内容类型头,那么您可以为该web服务器创建一个配置文件,并为其分配一个默认的内容类型。这样做是为了提高过滤的速度和准确性。

还可以为特定概要配置允许的请求内容类型的列表。配置此功能后,如果Web App Firewall过滤了不匹配任何允许的内容类型的请求,它就会阻止该请求。从10.5版升级到11.0版后,默认允许的内容类型列表中不包含的未知内容类型将不绑定。您可以将希望允许的其他内容类型添加到宽松的规则中。

请求必须总是“application/x-www-form-urlencoded”、“multipart/form-data”或“text/x-gwt-rpc”类型。Web App Firewall会阻止任何指定了其他内容类型的请求。

请注意

不能在允许的响应内容类型列表中包含" application/x-www-form-urlencoded "或" multipart/form-data "内容类型。

使用命令行接口设置默认的请求内容类型

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

  • 设置appfw profile -requestContentType
  • 保存ns config

例子

下面的示例将“text/html”内容类型设置为指定配置文件的默认类型:

set appfw profile profile1 -requestContentType "text/html" save ns config 

使用命令行接口删除用户定义的默认请求内容类型

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

  • 取消设置appfw profile -requestContentType
  • 保存ns config

例子

以下示例取消指定概要文件的默认内容类型“text/html”,允许该类型恢复为“application/octet-stream”:

删除appfw profile profile1 -requestContentType "text/html" save ns config 

请注意

总是使用最后一个内容类型头进行处理,并删除剩余的内容类型头(如果有的话),以确保后端服务器接收到只有一种内容类型的请求。

要阻止可以绕过的请求,添加一个Web应用程序防火墙策略,其规则为HTTP.REQ.HEADER (" content-type ").COUNT.GT(1) ',配置文件为appfw_block

如果接收到的请求没有Content-Type头,或者请求有Content-Type头但没有任何值,Web应用程序防火墙将应用配置RequestContentType值并相应处理请求。

使用命令行接口设置默认响应内容类型

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

  • 设置appfw profile -responseContentType
  • 保存ns config

例子

下面的示例将“text/html”内容类型设置为指定配置文件的默认类型:

set appfw profile profile1 -responseContentType "text/html" save ns config 

使用命令行接口删除用户定义的默认响应内容类型

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

  • 取消设置appfw profile -responseContentType
  • 保存ns config

例子

以下示例取消指定概要文件的默认内容类型“text/html”,允许该类型恢复为“application/octet-stream”:

unset appfw profile profile1 -responseContentType "text/html" save ns config 

使用命令行接口将内容类型添加到允许的内容类型列表中

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

  • 绑定appfw profile -ContentType
  • 保存ns config

例子

以下示例将" text/shtml "内容类型添加到指定配置文件允许的内容类型列表中:

bind appfw profile profile1 -contentType "text/shtml" save ns config 

使用命令行接口从允许的内容类型列表中删除内容类型

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

  • unbind appfw profile -ContentType
  • 保存ns config

例子

以下示例从指定配置文件允许的内容类型列表中删除" text/shtml "内容类型:

unbind appfw profile profile1 -contentType "text/shtml" save ns config 

管理urlenencoded和多部分形式的内容类型

Citrix ADC Web App Firewall现在允许您为表单配置Urlencoded和Multipart-Form内容类型。内容类型配置类似于XML和JSON列表。基于配置,Web App Firewall对请求进行分类,并检查urlenencoded或multipart-form内容类型。

使用Urlencoded和Multipart-Form内容类型配置Web App Firewall配置文件在命令提示符下,输入:

绑定appfw profile p2 -contentType

例子:

绑定appfw profile p2 -contentType UrlencodedFormContentType

绑定appfw profile p2 -ContentType appfwmultipartform

使用GUI管理默认和允许的内容类型

  1. 导航到安全>Web应用程序防火墙>配置文件
  2. 在详细信息窗格中,选择要配置的概要文件,然后单击编辑.的配置Web应用防火墙配置文件对话框。
  3. 配置Web应用防火墙配置文件对话框中,单击设置选项卡。
  4. 设置选项卡,向下滚动到内容类型区域的一半。
  5. 在“内容类型”区域,配置默认的请求或响应内容类型:
    • 若要配置默认请求内容类型,请在“默认请求”文本框中键入要使用的内容类型的MIME/类型定义。
    • 若要配置默认响应内容类型,请在“默认响应”文本框中键入要使用的内容类型的MIME/类型定义。
    • 若要创建新的允许的内容类型,请单击添加.的添加允许的内容类型对话框。
    • 要编辑现有的允许的内容类型,请选择该内容类型,然后单击开放.的修改允许的内容类型对话框。
  6. 若要管理允许的内容类型,请单击“管理允许的内容类型”。
  7. 若要添加新内容类型或修改现有内容类型,请单击“添加”或“打开”,并在添加允许的内容类型修改允许的内容类型对话框中,执行以下步骤。
    1. 选中/清除“已启用”复选框可将内容类型包含在允许的内容类型列表中,或从其中排除该内容类型。

    2. 在“内容类型”文本框中,键入描述要添加的内容类型的正则表达式,或更改现有的内容类型正则表达式。

      内容类型的格式与MIME类型描述完全相同。

      注意:

      您可以在允许的内容类型列表中包含任何有效的MIME类型。由于许多文档类型可能包含活动内容,因此可能包含恶意内容,因此在向此列表添加MIME类型时必须谨慎。

    3. 提供一个简短的描述,解释将这个特定MIME类型添加到允许的内容类型列表的原因。

    4. 点击创建好吧以保存您的更改。

  8. 点击关闭关闭“管理允许的内容类型”对话框,并返回设置选项卡。
  9. 点击好吧以保存您的更改。

使用Citrix ADC GUI管理Urlencoded和Multipart-form内容类型

  1. 导航到安全>Web应用程序防火墙>配置文件
  2. 在详细信息窗格中,选择要配置的概要文件,然后单击编辑
  3. 配置Web应用防火墙配置文件页,选择配置文件设置高级设置部分。
  4. 检查内容类型段,设置以下参数:

    1. 应用程序/ x-www-form-urlencoded。选择复选框以检查urlenencoded内容类型。
    2. 多部分/格式。选择检查以检查多部分表单内容类型。
  5. 点击好吧

管理内容