Citrix ADC

Citrix Web应用防火墙简介

Citrix Web App防火墙防止安全漏洞,数据丢失以及对访问敏感业务或客户信息的网站的未经授权修改。它通过过滤请求和响应,检查它们是否有恶意活动的证据,并阻止展示此类活动的请求。您的网站不仅受到常见类型的攻击类型,而且来自新的,还有尚未攻击。除了保护Web服务器和网站免受未经授权的访问之外,Web应用程序防火墙还可以防止遗产CGI代码或脚本,Web框架,Web服务器软件和其他底层操作系统中的漏洞。

Citrix Web App Firewall可以作为一个独立的设备,也可以作为Citrix ADC虚拟设备(VPX)上的一个特性。在Web应用防火墙文档中,术语Citrix ADC指的是运行Web应用防火墙的平台,无论该平台是专用的防火墙设备、配置了其他特性的Citrix ADC还是Citrix ADC VPX。

要使用Web App防火墙,必须创建至少一个安全配置以阻止违反为受保护的网站设置的规则的连接。您可能想要创建的安全配置的数量取决于您网站的复杂性。有时,单个配置就足够了。在其他情况下,特别是那些包括互动网站的网站,即访问数据库服务器的网站,您可以在网上商店与购物车,您可能需要几种不同的配置来最佳保护敏感数据,而不会浪费不易受某些类型的攻击的内容的重大努力。您通常可以将默认值留出全局设置,这会影响所有安全配置,不变。但是,如果它们与配置的其他部分冲突,则可以更改全局设置,也可以更换或者更愿意自定义它们。

Web应用程序安全性

Web应用安全是指通过HTTP和HTTPS协议进行通信的计算机和程序的网络安全。这是一个安全缺陷和弱点比比皆是的广泛领域。服务器和客户端的操作系统都存在安全问题,容易受到攻击。Web服务器软件和CGI、Java、JavaScript、PERL和PHP等网站启用技术存在潜在的漏洞。浏览器和其他与web应用程序通信的客户端应用程序也存在漏洞。除了最简单的HTML之外,使用任何技术的网站,包括任何允许与访问者交互的网站,通常都有自身的漏洞。

在过去,安全漏洞通常只是一件令人烦恼的事,但今天这种情况很少发生了。例如,黑客侵入网络服务器,对网站进行未经授权的修改(破坏),这种攻击在过去很常见。这些攻击通常是由黑客发起的,他们除了向其他黑客展示自己的技能或让目标人物或公司难堪之外,没有其他动机。然而,目前大多数安全漏洞都是出于对金钱的渴望。大多数人试图实现以下目标中的一个或两个:获取敏感和潜在有价值的私人信息,或获得未经授权访问和控制网站或网络服务器。

某些形式的网络攻击专注于获取私人信息。这些攻击往往是可能的,甚至是针对那些足够安全的网站,以防止攻击者完全控制。攻击者可以从网站获取的信息包括客户姓名、地址、电话号码、社会安全号码、信用卡号码、医疗记录和其他私人信息。然后攻击者可以使用这些信息或将其出售给其他人。许多通过此类攻击获得的信息受到法律保护,所有这些信息都受到习惯和期望的保护。这种类型的违反可能会对其私人信息被泄露的客户造成严重后果。最好的情况是,这些客户必须保持警惕,防止其他人滥用他们的信用卡,以他们的名义开设未经授权的信用账户,或直接盗用他们的身份(身份盗窃)。在最坏的情况下,这些客户可能会面临信用评级的下降,甚至会因为他们没有参与的犯罪活动而受到指责。

其他网络攻击的目的是获得对(或)的控制妥协)一个网站或其运行的服务器或两者。一个黑客获得了控制网站或服务器的黑客可以使用它来托管未经授权的内容,充当用于另一个Web服务器上托管的内容的代理,提供SMTP服务以发送未经请求的批量电子邮件,或提供DNS服务以支持其他受损的活动Web服务器。托管受妥协的Web服务器上的大多数网站都促进了可疑或彻底的欺诈行为。例如,大多数网络钓鱼网站和儿童剥削网站都在受损的Web服务器上托管。

保护您的网站和web服务免受这些攻击需要一种多层防御,它既能阻止具有可识别特征的已知攻击,又能防止未知攻击,这些攻击通常是可以检测到的,因为它们与您的网站和web服务的正常流量不同。

已知的网络攻击

网站的第一道防线是防范已知存在的大量攻击,这些攻击已被网络安全专家观察和分析。针对基于HTML的网站的常见攻击类型包括:

  • 缓冲区溢出攻击。向Web服务器发送长URL,LONG Cookie或LONG信息会导致系统挂起,崩溃或提供对底层操作系统的未经授权访问。缓冲区溢出攻击可用于访问未经授权的信息,以危及Web服务器或两者。
  • 饼干安全攻击。向网络服务器发送修改过的cookie,通常是希望通过使用伪造的凭证获得对未授权内容的访问权。
  • 强行浏览。直接访问网站上的url,而无需导航到主页上的超链接或网站上其他常见的起始url。强制浏览的个别实例可能表明用户在您的网站上添加了书签,但重复尝试访问不存在的内容,或用户永远不能直接访问的内容,通常代表对网站安全的攻击。强制浏览通常用于获取未经授权的信息,但也可以与缓冲区溢出攻击相结合,以试图危及服务器。
  • Web表单安全攻击。以网页形式向网站发送不合适的内容。不适当的内容可以包括修改隐藏字段、HTML或代码字段用于字母数字数据,过于长字符串字段,只接受一个短字符串,一个字母数字字符串字段,只接受一个整数,和各种各样的其他数据,你的网站并不期望接收的web表单。web表单安全攻击可以用来从您的网站获取未经授权的信息,或者直接破坏网站,通常与缓冲区溢出攻击结合使用。

对web表单安全的两种特殊类型的攻击值得特别提及:

  • SQL注入攻击。以web形式或作为URL的一部分发送活动SQL命令,目的是使SQL数据库运行该命令或命令。SQL注入攻击通常用于获取未经授权的信息。
  • 跨站点脚本攻击。使用网页上的URL或脚本违反同源政策,禁止任何脚本从其他网站获取属性或修改任何内容。由于脚本可以获取您网站上的信息和修改文件,允许脚本访问不同网站上的内容可以为攻击者提供获取未经授权的信息、破坏web服务器或两者兼而有之的手段。

针对基于xml的web服务的攻击通常至少可分为以下两种类型中的一种:试图向web服务发送不适当的内容,或试图破坏web服务的安全性。针对基于xml的web服务的常见攻击类型包括:

  • 恶意代码或对象。包含代码或对象的XML请求,这些代码或对象可以直接获取敏感信息,也可以让攻击者控制web服务或底层服务器。
  • 编写XML请求。不符合W3C XML规范的XML请求,因此可能违反不安全web服务的安全性
  • 拒绝服务(DOS)攻击。XML请求重复发送和高卷,其中旨在压倒目标的Web服务并拒绝合法用户访问Web服务。

除了标准的基于XML的攻击,XML web服务和web 2.0站点也容易受到SQL注入和跨站点脚本攻击,如下所述:

  • SQL注入攻击。在基于xml的请求中发送一个或多个活动SQL命令,目的是使SQL数据库运行该或多个命令。与HTML SQL注入攻击一样,XML SQL注入攻击通常用于获取未经授权的信息。
  • 跨站点脚本攻击。使用基于XML的应用程序中包含的脚本违反同源策略,该策略不允许任何脚本从不同的应用程序获取属性或修改任何内容。由于脚本可以通过使用XML应用程序获取信息和修改文件,因此允许脚本访问属于不同应用程序的内容可以让攻击者获得未经授权的信息,或者破坏应用程序,或者两者兼得

已知的网络攻击通常可以通过过滤网站流量的特定特征(签名)来阻止,这些特征(签名)总是出现在特定的攻击中,但绝不能出现在合法的流量中。这种方法的优点是需要的资源相对较少,假阳性的风险相对较小。因此,它是防范针对网站和web服务的攻击、配置基本签名保护的有价值的工具。

未知的网络攻击

对网站和应用的最大威胁并不来自已知攻击,而是来自未知攻击。大多数未知攻击落入两类中的一个:新推出的攻击,安全公司尚未开发有效的防御(零日攻击),并仔细针对特定网站或Web服务的攻击而不是许多网站或Web服务(矛攻击)。这些攻击,如已知攻击,旨在获得敏感的私人信息,妥协网站或Web服务,并允许它用于进一步的攻击,或者这两个目标。

零日攻击是对所有用户的主要威胁。这些攻击通常与已知的攻击类型相同;零日攻击通常涉及注入SQL、跨站点脚本、跨站点请求伪造或其他类似于已知攻击的攻击类型。通常,它们针对的是目标软件、网站或web服务的开发人员不知道或已经了解的漏洞。因此,安全公司没有针对这些攻击开发防御措施,即使开发了,用户也没有获得并安装补丁,也没有采取必要的变通措施来防范这些攻击。发现零日攻击和防御可用性(漏洞窗口)之间的时间正在缩短,但犯罪者仍然可以指望数小时甚至数天,因为许多网站和web服务缺乏针对攻击的任何特定保护。

矛式攻击是一个主要的威胁,但对更精选的用户群体。鱼叉式网络钓鱼(spear phishing)是一种常见的“鱼叉式网络钓鱼”(spear phishing),目标是特定银行或金融机构的客户,或者(不太常见的)特定公司或组织的员工。其他的“钓鱼”通常是写得很粗糙的伪造品,熟悉银行或金融机构实际通信的用户都能识别出来,而“鱼叉式钓鱼”则是字母完美,令人信服。它们可以包含特定于个人的信息,乍一看,没有陌生人必须知道或能够获得这些信息。鱼叉式钓鱼者因此能够说服目标提供所要求的信息,然后钓鱼者可以利用这些信息抢劫账户,处理从其他来源非法获得的资金,或获得其他甚至更敏感的信息。

这两种类型的攻击都具有某些通常可以检测到的特征,尽管不能像标准签名那样使用寻找特定特征的静态模式。检测这些类型的攻击需要更加复杂和资源密集型的方法,如启发式过滤和正向安全模型系统。启发式过滤不是针对特定的模式,而是针对行为模式。正向安全模型系统对它们所保护的网站或web服务的正常行为进行建模,然后阻止不符合正常使用模型的连接。基于URL和基于web形式的安全检查配置正常使用您的网站,然后控制用户如何与您的网站互动,使用启发式和积极的安全,以阻止异常或意外的流量。正确设计和部署的启发式安全性和正向安全性都可以捕获签名错过的大多数攻击。然而,它们需要比签名多得多的资源,您必须花一些时间正确配置它们,以避免误报。因此,它们不是作为主要防线使用的,而是作为签名或其他资源较少的方法的备份。

通过配置这些高级保护和签名,您可以创建一个混合安全模型,使Web应用程序防火墙能够对已知和未知的攻击提供全面的保护。

Citrix Web应用程序防火墙的工作原理

在安装Web应用防火墙时,需要创建一个初始安全配置,该配置由策略、配置文件和签名对象组成。策略是用来标识要过滤的流量的规则,配置文件则用来标识流量被过滤时允许或阻断的行为模式和类型。最简单的模式(称为签名)不是在概要文件中指定的,而是在与概要文件相关联的签名对象中指定的。

签名是与已知类型的攻击匹配的字符串或模式。Web App防火墙包含七个类别中的千项签名,每个攻击都针对特定类型的Web服务器和Web内容。Citrix在确定新威胁时,将新签名更新列表。在配置期间,您可以指定适合您需要保护的Web服务器和内容的签名类别。签名提供良好的基本保护,低处理开销。如果您的应用程序具有特殊漏洞,或者您检测到对攻击不存在的攻击,则可以添加自己的签名。

更高级的保护措施被称为安全检查。安全检查是一种更严格的算法检查请求的特定模式或行为类型,可能表明攻击或构成对您受保护的网站和网络服务的威胁。例如,它可以识别试图执行可能违反安全的特定类型操作的请求,或者包含敏感私人信息(如社会安全号码或信用卡号码)的响应。在配置过程中,您可以指定适合web服务器和需要保护的内容的安全检查。安全检查很严格。如果您在配置它们时没有添加适当的异常(放松),它们中的许多会阻止合法的请求和响应。如果您使用自适应学习功能,识别所需的异常并不困难,该功能会观察您的网站的正常使用情况,并创建推荐异常。

Web应用程序防火墙可以安装为第3层网络设备或服务器和用户之间的第2层网络桥,通常在公司的路由器或防火墙后面。它必须安装在它可以拦截您要保护的Web服务器之间的流量以及用户通过访问这些Web服务器的Hub或交换机之间的流量。然后,您将网络配置为向Web App防火墙发送请求,而不是直接到您的Web服务器,并响应Web应用程序防火墙,而不是直接到您的用户。Web App防火墙过滤器在将其转发到最终目标之前的流量,使用其内部规则集和添加和修改。它阻止或呈现它检测到有害的任何活动,然后将其余流量转发到Web服务器。下图提供了过滤过程的概述。

注意:

图中省略了对传入流量的策略应用。它说明了一种安全配置,该策略用于处理所有请求。同时,该配置中已经配置了签名对象并与配置文件相关联,并在配置文件中配置了安全检查。

图1所示。Web应用防火墙过滤流程图

Web应用防火墙流程图

如图所示,当用户在受保护的网站上请求URL时,Web应用程序防火墙首先检查请求,以确保它与签名不匹配。如果请求匹配签名,Citrix Web应用程序防火墙要么显示错误对象(Web应用程序防火墙设备上的一个网页,可以使用导入特性进行配置),要么将请求转发到指定的错误URL(错误页面)。签名不需要像安全检查那样多的资源,因此在运行任何安全检查之前检测和停止签名检测到的攻击可以减少服务器上的负载。

如果请求通过签名检查,Web应用防火墙将继续对已启用的请求进行安全检查。请求安全检查验证该请求适合您的网站或web服务,并且不包含可能构成威胁的材料。例如,安全检查检查请求是否有迹象表明它可能是意外类型、请求意外内容或包含意外且可能是恶意的web表单数据、SQL命令或脚本。如果请求在安全检查中失败,Web应用程序防火墙要么对请求进行消毒,然后将其发送回Citrix ADC设备(或Citrix ADC虚拟设备),要么显示错误对象。如果请求通过了安全检查,它将被发送回Citrix ADC设备,后者将完成任何其他处理并将请求转发到受保护的web服务器。

当网站或web服务向用户发送响应时,web应用防火墙将应用已启用的响应安全检查。响应安全检查检查响应是否泄露敏感的私人信息,网站损坏的迹象,或其他不能出现的内容。如果响应没有通过安全检查,Web应用防火墙要么删除不能出现的内容,要么阻止响应。如果响应通过了安全检查,它将被发送回Citrix ADC设备,后者将其转发给用户。

Citrix Web应用防火墙特性

Web应用防火墙的基本特性包括策略、配置文件和签名,它们提供了一种混合安全模型已知网络攻击,未知的网络攻击Web应用程序防火墙如何工作. 特别值得注意的是学习功能,它观察到受保护应用程序的流量,并为某些安全检查建议适当的配置设置。

导入功能管理上载到Web应用程序防火墙的文件。然后,Web应用程序防火墙在各种安全检查中使用这些文件,或者在响应与安全检查匹配的连接时使用这些文件。

您可以使用日志、统计和报告特性来评估Web应用程序防火墙的性能,并确定对更多保护的可能需求。

Citrix Web应用防火墙如何修改应用流量

Citrix Web应用程序防火墙通过修改以下内容来影响它保护的Web应用程序的行为:

  • 曲奇饼
  • HTTP标题
  • 形式/数据

为了维护会话状态,Citrix ADC Web App Firewall会生成自己的会话cookie。此cookie仅在web浏览器和Citrix ADC web应用程序防火墙之间传递,而不会传递到web服务器。如果任何黑客试图修改会话cookie,应用程序防火墙会在将请求转发到服务器之前删除cookie,并将该请求视为新的用户会话。只要web浏览器处于打开状态,会话cookie就会出现。当web浏览器关闭时,应用程序防火墙会话cookie将不再有效。会话状态维护客户端访问的URL和表单的信息。

可配置的Web应用防火墙会话cookie为citrix_ns_id.

从Citrix ADC构建12.1 54和13.0开始,cookie一致性是无会话的,它不强制添加会话cookiecitrix_ns_id由设备生成。

Citrix Web App防火墙饼干

许多web应用程序生成cookie来跟踪用户或会话特定信息。此信息可以是用户首选项或购物车项目。web应用程序cookie可以是以下两种类型之一:

  • 持续的饼干-这些cookie存储在本地计算机上,下次访问网站时再次使用。这种类型的cookie通常包含关于用户的信息,如登录、密码或首选项。
  • 会话或瞬态cookie-这些cookie仅在会话期间使用,并在会话终止后销毁。这种类型的cookie包含应用程序状态信息,例如购物车项或会话凭据。

黑客可以试图修改或窃取应用程序cookie来劫持用户会话或伪装成用户。应用程序防火墙通过哈希应用程序cookie,然后添加更多带有数字签名的cookie来阻止这种尝试。通过跟踪cookies,应用防火墙确保cookies在客户端浏览器和应用防火墙之间不会被修改或妥协。应用防火墙不会修改应用cookie。

Citrix Web应用程序防火墙生成以下默认cookie以跟踪应用程序cookie:

  • 持续的饼干:citrix_ns_id_wlf.. 注意:wlf代表将永远存在。
  • 会话或瞬态cookie:citrix_ns_id_wat..注意:Wat代表将暂时行动。要跟踪应用程序cookie,应用程序防火墙将持久性或会话应用程序cookie组在一起,然后将所有cookie留在哈希和签名。因此,应用程序防火墙生成一个wlfcookie跟踪所有持久应用程序cookie和一个cookie用于跟踪所有应用程序会话cookie。

应用防火墙根据web应用生成的cookie生成的cookie数量和类型如下表所示:

在Citrix ADC Web应用防火墙之前
一个持久的cookie 持久cookie:citix_ns_id_wlf
一个瞬态饼干 临时cookie:citix_ns_id_wat
多个持久cookie、多个临时cookie 一个持久化cookie:citrix_ns_id_wlf.一个短暂的cookie:citix_ns_id_wat

Citrix Web应用程序防火墙允许加密应用程序cookie。应用程序防火墙还提供了代理应用程序发送的会话cookie的选项,通过将其与应用程序防火墙会话数据的其余部分存储在一起,而不将其发送到客户端。当客户端向应用程序发送包含应用程序防火墙会话cookie的请求时,应用程序防火墙在将请求发送到源应用程序之前将应用程序发送的cookie插入到请求中。应用程序防火墙也允许在cookie中添加HTTPOnly和/或Secure标志。

应用程序防火墙如何影响HTTP头

HTTPs请求和HTTPs响应都使用头来发送关于一个或多个HTTPs消息的信息。标题是一系列行,每行包含名称、冒号、空格和值。例如,主机标头具有以下格式:

主持人:m.giftsix.com

某些标题字段都用于请求和响应标头,而其他标题字段仅适用于请求或响应。应用程序防火墙可能会在一个或多个https请求或响应中添加,修改或删除某些标头以维护应用程序的安全性。

被Citrix Web应用程序防火墙丢弃的请求头

删除与缓存相关的许多请求标头以在会话的上下文中查看每个请求。类似地,如果请求包括编码标题以允许Web服务器发送压缩响应,则应用程序防火墙删除该标头,以便通过Web App防火墙检查未压缩服务器响应中的内容,以防止对客户端的任何泄露敏感数据泄露.

应用程序防火墙会删除以下请求标头:

  • 范围-用于从失败或部分文件传输中恢复。
  • If-Range -允许客户端在缓存中包含部分对象时检索部分对象(有条件GET)。
  • if-formified - 由于 - 自此字段中指定的时间未修改所请求的对象,则不会从服务器返回实体。您收到HTTP 304未修改错误。
  • If-None-Match -允许以最小的开销有效地更新缓存的信息。
  • 接受编码 - 特定对象允许的编码方法,例如GZIP。

Citrix Web应用防火墙修改的请求头

如果浏览器使用HTTP/1.0或更早的协议,浏览器在收到每个响应后会不断打开和关闭TCP套接字连接。这增加了web服务器的开销,并阻止维护会话状态。HTTP/1.1协议允许连接在会话期间保持打开状态。应用防火墙修改如下请求头,使应用防火墙与web服务器之间使用HTTP/1.1协议,与web浏览器使用的协议无关:Connection: keep-alive

Citrix Web应用程序防火墙添加的请求头

应用防火墙作为反向代理,将会话的源IP地址替换为应用防火墙的IP地址。因此,web服务器日志中记录的所有请求都表示来自Application Firewall。

Citrix Web应用程序防火墙丢弃的响应标题

应用程序防火墙可能会阻止或修改内容,例如删除信用卡号或剥离注释,这可能会导致大小不匹配。要防止此类方案,应用程序防火墙会丢弃以下标题:

Content Length–指示发送给收件人的邮件的大小。应用程序防火墙修改的响应头

应用程序防火墙修改的许多响应头都与缓存有关。必须修改HTTP响应中的缓存头,以强制web浏览器始终向web服务器发送请求以获取最新数据,而不使用本地缓存。但是,某些ASP应用程序使用单独的插件来显示动态内容,并且可能需要能够在浏览器中临时缓存数据。为了在启用高级安全保护(如FFC、URL关闭或CSRF检查)时允许临时缓存数据,应用程序防火墙使用以下逻辑在服务器响应中添加或修改缓存控制头:

  • 如果服务器发送Pragma: no-cache,那么应用程序防火墙不会做任何修改。
  • 如果客户端请求是HTTP 1.0,那么应用程序防火墙将插入Pragma: no-cache。
  • 若客户端请求是HTTP 1.1,并且具有缓存控制:无存储,则应用程序防火墙不会进行任何修改。
  • 如果Client Request是HTTP 1.1, Server Response有cache - control头,没有store或者没有cache指令,那么Application Firewall不会做任何修改。

  • 如果客户端请求为HTTP 1.1,并且服务器响应没有缓存控制标头,或者缓存控制标头没有存储或缓存指令,则应用程序防火墙将完成以下任务:
  1. insert Cache-control: max-age=3, must-revalidate,private。
  2. 插入X-Cache-Control-Orig =缓存控制标题的原始值。
  3. 删除上次修改的标题。
  4. 替换Etag。
  5. 插入x - expires - origin =服务器发送的Expire Header的原始值。
  6. 修改过期头和设置网页的过期日期到过去,所以它总是再次拿起。
  7. 修改Accept-Ranges并将其设置为none。

要在客户端浏览器中替换临时缓存的数据时,当应用程序防火墙更改响应时,诸如条形条带表示,X-OUT /删除SafeObject,XOUT或删除信用卡或URL转换,请执行以下操作:

  1. 在转发给客户端之前从服务器上删除Last-Modified。
  2. 用应用程序防火墙确定的值替换Etag。

响应头添加的Citrix Web应用程序防火墙

  • 转移编码:分块。这个报头将信息流回客户端,在发送响应之前不需要知道响应的总长度。这个标头是必需的,因为内容长度标头被删除了。
  • set - cookie:应用防火墙添加的cookie。
  • Xet-Cookie:如果会话是有效的,如果响应没有在缓存中过期,你可以从缓存服务,不需要发送一个新的cookie,因为会话仍然有效。在这种情况下,Set-Cookie被修改为Xet-Cookie。用于web浏览器。

如何影响表单数据

应用程序防火墙防止试图修改服务器发送的原始表单内容的攻击。它还可以防止跨站请求伪造攻击。应用程序防火墙通过在页面中插入隐藏的表单标记as_fid来实现。

例子:

隐藏的字段AS_FID用于字段一致性。应用程序防火墙使用此字段来跟踪包含隐藏字段名称/值对的表单的所有字段,并确保服务器发送的表单中的任何字段都在客户端上更改。CSRF Check还使用此唯一表单标记AS_FID,以确保用户提交的表单在本次会话中为用户提供服务,并且禁止黑客正在尝试劫持用户会话。

无会话表单检查

Application Firewall还提供了使用无会话字段一致性保护表单数据的选项。这对于表单可能具有大量动态隐藏字段的应用程序很有用,这些字段会导致Application Firewall为每个会话分配高内存。无会话字段一致性检查是通过插入另一个隐藏字段as_ffc_field来完成的,只针对POST请求,或者基于配置的设置同时针对GET和POST请求。当应用程序防火墙将表单转发给客户端时,它将GET方法更改为POST。然后,当将方法提交回服务器时,设备将其还原为GET方法。as_ffc_field值可以很大,因为它包含所提供表单的加密摘要。下面是一个无会话表单检查的示例:

 

HTML注释剥离

Application Firewall还提供了一个选项,在将响应发送到客户端之前去掉响应中的所有HTML注释。这不仅会影响表单,还会影响所有响应页面。应用程序防火墙定位并删除“ "注释标签。标记保留下来,以表明注释存在于HTML源代码的那个位置。任何嵌入在其他HTML或JavaScript标记中的文本都将被忽略。一些应用程序可能无法正常工作,如果它们没有正确地将JavaScript嵌入到注释标记中。比较Application Firewall剥离注释前后的页面源代码,可以帮助识别剥离的注释中是否嵌入了所需的JavaScript。

信用卡保护

Application Firewall提供了一个选项来检查响应的头和正文,并在将响应转发给客户端之前删除或x-outs信用卡号码。目前应用程序防火墙提供保护以下主要信用卡:美国运通,大莱卡,发现,JCB,万事达,和Visa。x-out动作独立于Block动作。

安全保护对象

与信用卡号码类似,也可以通过使用Application Firewall Safe Object安全检查来防止其他敏感数据的泄漏,以删除或x-out响应中的敏感内容。

跨站点脚本转换动作

当为跨站点脚本启用转换时,Web应用程序防火墙将更改“<”到“%26lt;”和“>”到“%26gt;”在请求中。如果启用了Web应用防火墙中的checkRequestHeaders设置,则Web应用防火墙将检查请求标头,并在标头和Cookie中转换这些字符。转换操作不会阻止或转换最初由服务器发送的值。Web App防火墙允许跨站点脚本有一组默认属性和标记。还提供了被拒绝的跨站点脚本模式的默认列表。可以通过选择signatures对象并单击管理SQL /跨站点脚本模式对话在GUI。

转换SQL特殊字符

应用程序防火墙具有以下SQL特殊字符的默认转换规则:

转换
'(单引号,即%27) 另一个单引号
\(Backslash为%5c) |又加了一个反斜杠
;(分号为%3B) 下降

当启用特殊字符的转换且checkRequestHeaders设置为ON时,特殊字符的转换也会在标头和Cookie中发生。注意:某些请求头(如用户代理、接受编码)通常包含分号,并且可能会受到SQL转换的影响。

Citrix Web应用程序防火墙破坏EXPECT标头的行为

  1. 每当NetScaler收到包含EXPECT头的HTTP请求时,NetScaler就会代表后端服务器向客户端发送EXPECT:100-continue响应。
  2. 这种行为是因为在将请求转发到服务器之前,必须对整个请求运行Application Firewall保护,NetScaler必须从客户端获得整个请求。
  3. 接受A.100继续响应,客户端发送完成请求的剩余请求部分。
  4. NetScaler然后运行所有保护,然后将请求转发到服务器。
  5. 现在,当NetScaler转发完整的请求时,最初请求中的EXPECT报头变得过时了,因为NetScaler破坏了这个报头并将它发送给服务器。
  6. 服务器在接收请求时忽略任何已损坏的报头。
Citrix Web应用防火墙简介