Citrix ADC

faq和部署指南

问:为什么Citrix Web应用程序防火墙是保护应用程序的首选?

Citrix Web App Firewall提供全面的安全解决方案:

  • 混合安全模型:Citrix ADC混合安全模型允许您同时利用积极的安全模型和消极的安全模型,以得到最适合您的应用程序的配置。
    • 积极的安全模型防止缓冲区溢出,CGI-BIN参数操纵,表单/隐藏字段操纵,强制浏览,Cookie或会话中毒,破坏acl,跨站脚本(XSS),命令注入,SQL注入,错误触发敏感信息泄漏,不安全使用密码,服务器错误配置,后门和调试选项,基于速率的策略执行,众所周知的平台漏洞,零日漏洞,跨站请求伪造(CSRF),以及信用卡及其他敏感资料的泄漏。
    • 消极的安全模型使用丰富的签名集来防止L7和HTTP应用程序漏洞。Web应用程序防火墙与一些第三方扫描工具集成在一起,如Cenzic、Qualys、Whitehat和IBM提供的扫描工具。内置的XSLT文件允许轻松导入规则,可以与基于Snort的原生格式规则结合使用。自动更新功能可以获取新的漏洞的最新更新。

积极的安全模型可能是保护对安全性要求很高的应用程序的首选,因为它让您可以选择完全控制谁可以访问什么数据。你只允许你想要的,阻止其他的。该模型包含一个内置的安全检查配置,只需单击几次即可部署。但是,请记住,安全性越高,处理开销越大。

负面安全模型可能更适合自定义应用程序。签名允许多个条件的组合,只有当所有条件都满足时才会触发匹配,并触发指定的动作。你只屏蔽你不想要的东西,其他的就允许。在指定位置使用特定的快速匹配模式可以显著减少处理开销,从而优化性能。根据应用程序的特定安全需求添加自己的签名规则的选项使您可以灵活地设计自己的自定义安全解决方案。

  • 请求端和响应端检测和保护:您可以检查传入请求以检测任何可疑行为并采取适当的操作,您还可以检查响应以检测敏感数据并防止其泄漏。
  • 丰富的内置保护HTML, XML和JSON有效载荷:Web应用防火墙提供19种不同的安全检查。其中6个(如Start URL和Deny URL)同时适用于HTML和XML数据。有五种检查(如字段一致性和字段格式)是特定于HTML的,还有八种(如XML格式和Web服务互操作性)是特定于XML有效负载的。这个特性包括一组丰富的操作和选项。例如,URL关闭使您能够控制和优化导航通过您的网站,以防止强制浏览,而不必配置放松规则,以允许每个合法的URL。您可以选择在响应中删除或x-out敏感数据,例如信用卡号码。无论是SOAP阵列攻击保护、XML拒绝服务(XDoS)、WSDL扫描预防、附件检查,还是任何其他XML攻击,当您的应用程序受到Web应用程序防火墙的保护时,您可以放心地知道您拥有一个保护数据的铁甲盾牌。这些签名允许您使用XPATH-Expressions配置规则,以检测JSON有效负载的主体和头部中的违规行为。
  • 吕震中本:支持保护谷歌Web Toolkit应用程序,以防止SQL, XSS和表单字段一致性检查违规。
  • 无java,用户友好的图形用户界面(GUI):直观的GUI和预先配置的安全检查使单击几个按钮就可以轻松部署安全。向导提示并指导您创建所需的元素,例如概要文件、策略、签名和绑定。基于HTML5的GUI不依赖任何Java。它的性能比基于Java的旧版本要好得多。
  • 易于使用和自动化的CLI:在GUI中可用的大多数配置选项也可以在命令行界面(CLI)中使用。CLI命令可以通过批处理文件执行,并且很容易自动化。
  • 支持REST API:Citrix ADC NITRO协议支持一组丰富的REST API来自动化Web应用程序防火墙配置,并为安全违规的持续监控收集相关统计数据。
  • 学习:Web应用程序防火墙通过监控流量来优化安全性的能力对用户非常友好。学习引擎推荐规则,这使得即使不熟练使用正则表达式也可以轻松部署relax。
  • RegEx编辑器支持:正则表达式为既要整合规则又要优化搜索的困境提供了一种优雅的解决方案。您可以利用正则表达式的强大功能来配置url、字段名称、签名模式等。丰富的内置GUI RegEx编辑器为您提供了表达式的快速参考,并提供了一种方便的方法来验证和测试RegEx的准确性。
  • 自定义错误页面:被阻止的请求可以被重定向到一个错误的URL。您还可以选择显示一个定制的错误对象,该对象使用支持的变量和Citrix默认语法(高级PI表达式)来为客户端嵌入故障排除信息。
  • PCI-DSS,统计和其他违规报告:丰富的报告集使它很容易满足PCI-DSS遵从性需求,收集有关流量计数器的统计数据,并查看所有概要文件或仅一个概要文件的违规报告。
  • 日志记录和从日志点击规则:支持本地和CEF格式的详细日志记录。Web App Firewall为您提供了在syslog查看器中筛选目标日志消息的能力。您可以通过简单地单击按钮来选择日志消息并部署相应的放松规则。您可以灵活地定制日志消息,还可以支持生成web日志。有关更多详细信息,请参见Web应用防火墙日志的话题。

  • 在跟踪记录中包含违规日志:在跟踪记录中包含日志消息的能力使调试意外行为(如重置和阻塞)变得非常容易。
  • 克隆:有用的导入/导出配置文件选项允许您将安全配置从一个Citrix ADC设备克隆到其他设备。导出学习的数据选项可以方便地将学习的规则导出到Excel文件。然后,在应用它们之前,您可以让应用程序所有者对它们进行审查和批准。
  • 一个AppExpert模板(一组配置设置)可以设计为您的网站提供适当的保护。将这些模板导出到模板中,可以简化和加快在其他设备上部署类似保护的过程。

有关更多详细信息,请参见AppExpert模板主题

  • Sessionless安全检查:部署无会话安全检查可以帮助您减少内存占用和加快处理。
  • 与其他Citrix ADC功能的互操作性:Web应用防火墙与Citrix ADC的其他特性无缝协作,如重写、URL转换、集成缓存、CVPN和速率限制。
  • 策略中支持PI表达式:您可以利用高级PI表达式的功能来设计策略,为应用程序的不同部分实现不同级别的安全。
  • 支持IPv6:Web应用防火墙支持IPv4和IPv6协议。
  • 基于地理位置的安全防护:您可以灵活地使用Citrix默认语法(PI表达式)来配置基于位置的策略,它可以与内置的位置数据库结合使用来定制防火墙保护。您可以识别恶意请求产生的位置,并对来自特定地理位置的请求实施期望级别的安全检查检查。
  • 性能:请求端流媒体极大地提高了性能。一旦一个字段被处理,产生的数据就会被转发到后端,同时继续评估剩余的字段。处理大型职位时,处理时间的改善尤为显著。
  • 其他安全功能:Web应用程序防火墙有几个其他的安全旋钮,可以帮助确保您的数据安全。例如,机密字段让您阻止泄露敏感信息的日志消息,和带HTML评论允许您在将响应转发给客户端之前从响应中删除HTML注释。字段类型可用于指定提交给应用程序的表单中允许哪些输入。

问:配置Web应用程序防火墙需要做什么?

执行以下操作:

  • 添加一个Web App Firewall配置文件,并为应用程序的安全需求选择适当的类型(html、xml、web2.0)。
  • 选择所需的安全级别(基本或高级)。
  • 添加或导入所需的文件,如签名或WSDL。
  • 配置概要文件以使用这些文件,并对默认设置进行任何其他必要的更改。
  • 为这个配置文件添加一个Web应用程序防火墙策略。
  • 将策略绑定到目标绑定点,并指定优先级。

问:我如何知道选择什么档案类型?

Web App Firewall配置文件为HTML和XML有效负载提供了保护。根据应用程序的需要,您可以选择HTML概要文件或XML概要文件。如果您的应用程序同时支持HTML和XML数据,那么您可以选择Web2.0配置文件。

问:基本档案和高级档案有什么不同?我如何决定我需要哪一个?

使用基本概要文件还是高级概要文件取决于应用程序的安全需求。基本配置文件包括一组预配置的Start URL和Deny URL放松规则。这些放松规则决定哪些请求被允许,哪些请求被拒绝。传入的请求与预先配置的规则匹配,并应用配置的操作。用户可以用最小的放松规则配置来保护应用程序。Start URL规则可以防止强制浏览。通过启用一组默认的“拒绝URL”规则,可以检测并阻止被黑客利用的已知web服务器漏洞。通常发起的攻击,如缓冲区溢出、SQL或跨站点脚本也可以很容易地检测到。

顾名思义,高级保护是针对对安全性要求较高的应用程序的。放松规则被配置为只允许访问特定的数据,并阻止其他数据。这种积极的安全模型减少了可能无法通过基本安全检查检测到的未知攻击。除了所有基本保护之外,一个高级配置文件通过控制浏览、检查cookie、指定各种表单字段的输入要求、防止篡改表单或跨站点请求伪造攻击来跟踪用户会话。学习(Learning)用于观察流量并建议适当的放松措施,它在许多安全检查中默认启用。虽然使用简单,但高级保护需要适当的考虑,因为它们提供更严格的安全性,但也需要更多的处理。一些高级安全检查不允许使用缓存,这会影响性能。

在决定是使用基本配置文件还是高级配置文件时,请记住以下几点:

  • 基本和高级概要文件只是开始模板。您总是可以修改基本概要文件来部署高级安全特性,反之亦然。
  • 高级安全检查需要更多的处理,可能会影响性能。除非您的应用程序需要高级安全性,否则您可能希望从基本概要开始,并根据应用程序的需要加强安全性。
  • 除非应用程序需要,否则不希望启用所有安全检查。

问:什么是政策?如何选择绑定点和设置优先级?

Web App Firewall策略可以帮助您将流量分类到逻辑组中,以配置不同级别的安全实现。请仔细选择策略的绑定点,以确定哪些流量与哪些策略匹配。例如,如果希望检查每个传入请求是否受到SQL/XSS攻击,则可以创建一个通用策略并全局绑定它。或者,如果您希望对包含敏感数据的应用程序的虚拟服务器的流量进行更严格的安全检查,可以将策略绑定到该虚拟服务器。

仔细分配优先级可以增强流量处理。您希望将较高的优先级分配给更具体的策略,将较低的优先级分配给通用策略。请注意,数字越高,优先级越低。优先级为10的策略会在优先级为15的策略之前进行评估。

你可以对不同类型的内容应用不同的安全级别,例如,对静态对象(如图像和文本)的请求可以通过使用一种策略来绕过,而对其他敏感内容的请求可以通过使用第二种策略进行更严格的检查。

问:我如何配置规则来保护我的应用程序?

Web应用程序防火墙使得为您的网站设计正确的安全级别变得非常容易。您可以有多个Web App Firewall策略,绑定到不同的Web App Firewall配置文件,为您的应用程序实现不同级别的安全检查检查。您可以首先监控日志,以观察检测到哪些安全威胁,以及触发了哪些违规行为。您可以手动添加放松规则,也可以利用Web App Firewall推荐的学习规则来部署所需的放松规则,以避免误报。

Citrix Web应用防火墙提供视觉型的人支持,这使得规则管理非常容易。您可以轻松地在一个屏幕上查看所有数据,并通过单击对几个规则采取行动。可视化工具最大的优点是它推荐使用正则表达式来合并多个规则。您可以根据分隔符和Action URL选择规则的子集。可视化工具支持1)学习规则和2)放松规则。

  1. 学习规则的可视化工具提供了编辑规则和放松规则的选项。您还可以跳过(忽略)规则。

  2. 部署放松的可视化工具为您提供了添加新规则或编辑现有规则的选项。还可以通过选择一个节点并单击,启用或禁用一组规则启用禁用按钮在放松可视化器。

问:什么是签名?我如何知道该使用哪些签名?

签名是一个可以有多条规则的对象。每个规则由一个或多个模式组成,这些模式可以与一组指定的操作相关联。Web App Firewall有一个内置的默认签名对象,包含超过1300条签名规则,并带有一个选项,可以通过使用自动更新功能,以获得对新的漏洞的保护。其他扫描工具创建的规则也可以导入。

签名非常强大,因为它们使用模式匹配来检测恶意攻击,并且可以配置为检查事务的请求和响应。当需要可定制的安全解决方案时,它们是首选选项。当检测到签名匹配时,可以使用多种操作选择(例如,阻塞、记录、学习和转换)。默认签名涵盖了保护不同类型应用程序的规则,如web-cgi、web-coldfusion、web-frontpage、web-iis、web-php、web-client、web-activex、web-shell-shock和web-struts。为了匹配应用程序的需求,您可以选择并部署属于特定类别的规则。

Signature-usage小贴士:

  • 您只需复制默认签名对象并修改它以启用您需要的规则并配置您想要的操作。
  • 通过添加新规则,可以自定义签名对象,并与其他签名规则协同工作。
  • 签名规则还可以配置为与Web App Firewall配置文件中指定的安全检查配合使用。如果通过签名和安全检查检测到指示违规的匹配项,则执行更具限制性的操作。
  • 签名规则可以有多个模式,并配置为只在所有模式都匹配时标记违规,从而避免误报。
  • 为规则仔细选择文字快速匹配模式可以显著优化处理时间。

问:Web应用程序防火墙与Citrix ADC的其他功能一起工作吗?

Web应用程序防火墙完全集成到Citrix ADC设备中,并与其他功能无缝工作。您可以通过使用其他Citrix ADC安全特性和Web应用程序防火墙来为您的应用程序配置最大的安全性。例如,AAA-TM可用于对用户进行身份验证,检查用户访问内容的授权,并记录访问,包括无效登录尝试。重写可以用来修改URL或添加、修改或删除标题,以及应答器可用于向不同用户交付定制内容。您可以定义最大负荷为您的网站使用速度限制监控流量并在流量过高时控制流量。HTTP拒绝服务(DoS)保护可以帮助区分真正的HTTP客户端和恶意的DoS客户端。通过将Web App Firewall的策略绑定到虚拟服务器,可以缩小安全检查的范围,同时通过使用负载平衡管理大量使用的应用程序的特性。对静态对象(如图像或文本)的请求可以绕过安全检查检查,利用集成缓存压缩优化此类内容的带宽使用。

问:Web应用防火墙和Citrix ADC的其他特性是如何处理负载的?

图中显示了Citrix ADC设备中L7包流的详细信息特征处理顺序部分。

现在您已经了解了使用Citrix Web App Firewall最先进的安全保护的优点,您可能想要收集额外的信息,这些信息可以帮助您为您的安全需求设计最佳的解决方案。Citrix建议您执行以下操作:

  • 知道你的环境:了解您的环境将有助于您确定最佳的安全保护解决方案(签名、安全检查或两者兼备)。在开始配置之前,您应该收集以下信息。
    • 操作系统:你有什么样的操作系统(MS Windows, Linux, BSD, Unix,其他)?
    • Web服务器:你运行的是什么web服务器(IIS, Apache或Citrix ADC企业服务器)?
    • 应用程序:什么类型的应用程序正在您的应用服务器上运行(例如,ASP。NET、PHP、Cold Fusion、ActiveX、FrontPage、Struts、CGI、Apache Tomcat、Domino和WebLogic)?
    • 您是否有定制的应用程序或现成的(例如Oracle、SAP)应用程序?您使用的是什么版本?
    • SSL:需要SSL吗?如果是,用于签名证书的密钥大小(512、1024、2048、4096)是多少?
    • 交通量:您的应用程序的平均流量速率是多少?你有季节性或特定时间的交通高峰吗?
    • 服务器农场:你有多少服务器?是否需要使用负载平衡?
    • 数据库:你使用什么类型的数据库(MS-SQL, MySQL, Oracle, Postgres, SQLite, nosql, Sybase, Informix等)?
    • 数据库连接:您拥有什么样的数据库连接(DSN、每个文件连接字符串、单个文件连接字符串)以及使用什么驱动程序?
  • 确定您的安全需求:您可能想要评估哪些应用程序或特定数据需要最大的安全保护,哪些应用程序或特定数据不容易受到攻击,以及哪些应用程序或特定数据可以安全地绕过安全检查。这将帮助您获得最佳配置,并设计适当的策略和绑定点来隔离流量。例如,您可能希望配置一个策略来绕过静态web内容(如图像、MP3文件和电影)请求的安全检查,并配置另一个策略来对动态内容请求应用高级安全检查。您可以使用多个策略和配置文件来保护同一应用程序的不同内容。
  • 许可证要求:Citrix提供了一个统一的解决方案来优化您的应用程序的性能,利用丰富的功能,如负载平衡,内容切换,缓存,压缩,响应器,重写,和内容过滤,举几个例子。确定您想要的特性可以帮助您决定需要哪个许可证。
  • 安装和基线化Citrix ADC设备:创建一个虚拟服务器,并通过它运行测试流量,以了解流经系统的流量的速率和数量。这些信息将帮助您确定容量需求并选择正确的设备(VPX、MPX或SDX)。
  • 部署Web应用防火墙:使用Web App Firewall向导来进行一个简单的安全配置。向导引导您通过几个屏幕,并提示您添加配置文件、策略、签名和安全检查。
    • 简介:为您的概要文件选择一个有意义的名称和适当的类型(HTML、XML或WEB 2.0)。策略和签名将使用相同的名称自动生成。
    • 政策:自动生成的策略有默认的Expression (true),选择所有流量,全局绑定。这是一个很好的起点,除非您心中有一个想要使用的特定策略。
    • 保护:该向导帮助您利用混合安全模型,在该模型中,您可以使用缺省签名提供丰富的规则集来保护不同类型的应用程序。简单的编辑模式允许您查看各种类别(CGI, Cold Fusion, PHP等)。您可以选择一个或多个类别来确定适用于您的应用程序的特定规则集。使用行动选项,启用选中类别下的所有签名规则。确保阻塞被禁用,以便您可以在加强安全性之前监控流量。点击继续.在指定深度的保护窗格中,您可以根据需要进行更改以部署安全检查保护。在大多数情况下,基本的保护足以用于初始的安全配置。运行一段时间的流量,以收集一个具有代表性的安全检查数据样本。
    • 严格安全:在部署Web App Firewall并观察一段时间流量之后,您可以开始通过部署放松然后启用阻塞来加强应用程序的安全性。学习视觉型的人,单击部署规则是很有用的功能,使它非常容易调整您的配置,以获得适当的放松水平。此时,您还可以更改策略表达和/或配置额外的策略和配置文件,以为不同类型的内容实现所需的安全级别。
    • 调试:如果你看到你的应用程序的意外行为,Web应用防火墙提供了各种选项来轻松调试:
      • 日志.如果合法的请求被阻塞,您的第一步是检查ns.log文件,看看是否触发了任何意外的安全检查违规。
      • 禁用功能。如果您没有看到任何违规,但仍然看到了意外的行为,例如应用程序重置或发送部分响应,您可以禁用Web App Firewall特性以进行调试。如果问题仍然存在,就排除了Web应用程序防火墙的嫌疑。
      • 使用日志消息跟踪记录。如果问题与Web应用程序防火墙相关,需要进一步检查,您可以选择在nstrace中包含安全违规消息。您可以在跟踪中使用“Follow TCP stream”在同一个屏幕上一起查看各个事务的详细信息,包括头、有效负载和相应的日志消息。关于如何使用此功能的详细信息可以在附录