Citrix ADC

常见问题解答和部署指南

问:为什么 Citrix Web App Firewall 是保护应用程序安全的首选方案?

Citrix Web App Firewall 具有以下功能,可提供全面的安全解决方案:

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

积极的安全模式可能是保护对安全性有高度需求的应用程序的首选,因为它使您可以选择完全控制谁可以访问哪些数据。你只允许你想要的东西,而阻止其余的。 该模型包括内置的安全检查配置,只需单击几下即可部署。 但是,请记住,安全性越严格,处理开销就越大。

对于自定义应用程序,负安全模型可能更可取。签名允许您组合多个条件,并且只有在满足所有条件时才会触发匹配和指定的操作。 你只阻止你不想要的东西,然后允许其余的。指定位置的特定快速匹配模式可以显著降低处理开销,从而优化性能。根据应用程序的特定安全需求,选择添加自己的签名规则,使您可以灵活地设计自己的自定义安全解决方案。

  • 求以及响应端检测和保护: 您可以检查传入的请求以检测任何可疑行为并采取适当的措施,还可以检查响应以检测和防止敏感数据泄露。
  • 针对 HTML、XML 和 JSON 有效负载的丰富内置保护集: Web App Firewall 提供 19 种不同的安全检查。其中六个(例如 “开始 URL” 和 “拒绝 URL”)同时适用于 HTML 和 XML 数据。有五项检查(例如字段一致性和字段格式)特定于 HTML,八项检查(例如 XML 格式和 Web 服务互操作性)特定于 XML 负载。此功能包括一组丰富的操作和选项。例如,URL 关闭使您能够控制和优化在网站中的导航,以防止强制浏览,而无需配置放宽规则以允许每个合法 URL。您可以选择在响应中删除或删除敏感数据,例如信用卡号。无论是 SOAP Array 攻击防护、XML 拒绝服务 (XDoS)、WSDL 扫描防护、附件检查还是任意数量的其他 XML 攻击,您都可以放心地知道,当您的应用程序受到 Web App Firewall 保护时,您有一个铁定的盾牌来保护您的数据。这些签名允许您使用 XPTH 表达式配置规则,以检测正文中的违规行为以及 JSON 有效负载的标头。
  • GWT: 支持保护 Google Web Toolkit 应用程序,以防止 SQL、跨站点脚本和表单域一致性检查违规。
  • 无 Java、用户友好的图形用户界面 (GUI): 直观的 GUI 和预配置的安全检查使您可以通过单击几个按钮轻松部署安全性。向导会提示并引导您创建所需的元素,例如配置文件、策略、签名和绑定。基于 HTML5 的图形用户界面没有任何 Java 依赖关系。 它的性能明显优于基于 Java 的旧版本。
  • 易于使用且可自动化的 CLI: GUI 中提供的大多数配置选项也可在命令行界面 (CLI) 中使用。CLI 命令可以通过批处理文件执行,并且易于自动执行。
  • 支持 REST API: Citrix ADC NITRO 协议支持一组丰富的 REST API,以自动进行 Web App Firewall 配置并收集相关统计信息以持续监视安全违规行为。
  • 学习: Web App Firewall 通过监控流量来微调安全性来学习的能力非常人性化。学习引擎会推荐规则,这样可以在不熟练使用正则表达式的情况下轻松部署放松。
  • RegEx 编辑器支持: 正则表达式为想要合并规则但优化搜索的难题提供了一个优雅的解决方案。 您可以利用正则表达式的强大功能来配置 URL、字段名称、签名模式等。丰富的内置 GUI RegEx 编辑器为您提供了表达式的快速参考,并提供了一种方便的方法来验证和测试 RegEx 的准确性。
  • 自定义错误页面: 阻止的请求可以重定向到错误 URL。您还可以选择显示自定义错误对象,该对象使用受支持的变量和 Citrix Advanced 策略(高级 PI 表达式)嵌入客户端的故障排除信息。
  • PCI-DSS、统计数据和其他违规报告:丰富的报告 集使您可以轻松满足 PCI-DSS 合规性要求、收集有关流量计数器的统计信息以及查看所有配置文件或仅一个配置文件的违规报告。
  • 日志记录和点击规则: 本机和 CEF 格式都支持详细日志记录。Web App Firewall 使您能够在 syslog 查看器中过滤目标日志消息。只需单击一个按钮,即可选择日志消息并部署相应的放宽规则。您可以灵活地自定义日志消息,并支持生成 Web 日志。有关其他详细信息,请参阅 Web App Firewall 日志主题。

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

有关详细信息,请参阅 AppExpert 模板主题

  • 无会话安全检查: 部署无会话安全检查可帮助您减少内存占用并加快处理速度。
  • 与其他 Citrix ADC 功能的互操作性: Web App Firewall 可与其他 Citrix ADC 功能无缝协作,例如重写、URL 转换、集成缓存、CPVPN 和速率限制。
  • 在策略中支持 PI 表达式: 您可以利用高级 PI 表达式的强大功能来设计策略,以便为应用程序的不同部分实施不同级别的安全性。
  • 支持 IPv6: Web App Firewall 同时支持 IPv4 和 IPv6 协议。
  • 基于地理位置的安全保护: 您可以灵活地使用 Citrix Advanced 策略 (PI 表达式) 来配置基于位置的策略,该策略可与内置位置数据库结合使用以自定义防火墙保护。您可以确定发出恶意请求的位置,并对来自特定地理位置的请求强制执行所需级别的安全检查检查。
  • 性能: 请求端 流式传输 显著提高了性能。字段处理完毕后,结果数据将转发到后端,同时继续对其余字段进行评估。在处理大型帖子时,处理时间的改善尤其明显。
  • 其他安全功能: Web App Firewall 还有其他一些安全设置,可帮助确保数据的安全性。例如, 机密字段 允许您阻止日志消息中的敏感信息泄露,而 剥离 HTML 注释 允许您在将响应转发给客户端之前从响应中删除 HTML 注释。字段类型 可用于指定提交给应用程序的表单中允许输入哪些内容。

问:配置 Web App Firewall 需要执行什么操作?

请执行以下操作:

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

问:我怎么知道要选择哪种配置文件类型?

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

问:基本配置文件和高级配置文件有什么区别?我该如何决定我需要哪一个?

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

顾名思义,高级保护适用于具有更高安全要求的应用程序。放宽规则配置为仅允许访问特定数据并阻止其余数据。这种积极的安全模式可缓解未知攻击,而基本安全检查可能无法检测这些攻击。除了所有基本的保护措施之外,高级配置文件还可以通过控制浏览、检查 Cookie、指定各种表单域的输入要求以及防止篡改表单或跨站点请求伪造攻击来跟踪用户会话。默认情况下,为许多安全检查启用了学习功能,它会观察流量并建议适当的放松。尽管高级保护易于使用,但需要适当考虑,因为它们提供更严格的安全性,但也需要更多的处理。某些高级安全检查不允许使用缓存,这可能会影响性能。

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

  • 基本和高级配置文件才刚刚开始使用模板您始终可以修改基本配置文件以部署高级安全功能,反之亦然。
  • 高级安全检查需要更多处理,并且会影响性能。除非您的应用程序需要高级安全性,否则您可能希望从基本配置文件开始,并根据应用程序的要求加强安全性。
  • 除非您的应用程序需要,否则您不想启用所有安全检查。

问:什么是保单?如何选择绑定点并设置优先级?

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

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

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

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

Web App Firewall 使您可以非常轻松地为您的网站设计适当的安全级别。您可以将多个 Web App Firewall 策略绑定到不同的 Web App Firewall 配置文件,以便为应用程序实施不同级别的安全检查检查。您可以最初监视日志,以观察检测到哪些安全威胁以及触发了哪些违规行为。您可以手动添加放宽规则,也可以利用 Web App Firewall 推荐的学习规则来部署所需的放宽以避免误报。

Citrix Web App Firewall 在 GUI 中提供 可视化工具 支持,这使得规则管理非常容易。您可以在一个屏幕上轻松查看所有数据,只需单击一下即可对多个规则执行操作。可视化工具的最大优势在于它推荐正则表达式来合并多个规则。您可以根据分隔符和操作 URL 选择规则的子集。可视化工具支持可用于查看 1) 学习的规则和 2) 放宽规则。

  1. 学习规则的可视化工具提供了编辑规则并将其作为放松部署的选项。你也可以跳过(忽略)规则。

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

问:什么是签名?我怎么知道要使用哪些签名?

签名是可以有多个规则的对象。每个规则由一个或多个模式组成,这些模式可以与一组指定的操作相关联。Web App Firewall 有一个内置的默认签名对象,由 1,300 多个签名规则组成,可以选择使用 自动更新功能获取最新 规则,以防止新的漏洞。也可以导入其他扫描工具创建的规则。

签名非常强大,因为它们使用模式匹配来检测恶意攻击,并且可以配置为检查交易的请求和响应。需要可定制的安全解决方案时,签名是首选方案。检测到签名匹配时,可以使用多种操作选项(例如,阻止、记录、学习和转换)。 默认签名涵盖保护不同类型应用程序的规则,例如 webcgi、web coldfusion、web 首页、webiis、webphp、web 客户端、web activex、web shell 冲击和 web 支柱。为了满足应用程序的需求,您可以选择并部署属于特定类别的规则。

签名使用提示:

  • 您可以创建默认签名对象的副本,然后对其进行修改以启用所需的规则并配置所需的操作。
  • 可以通过添加新规则来自定义签名对象,这些规则可以与其他签名规则配合使用。
  • 还可以将签名规则配置为与 Web App Firewall 配置文件中指定的安全检查结合使用。如果签名和安全检查检测到指示违规的匹配项,则强制执行的操作就越严格。
  • 签名规则可以有多个模式,并且配置为仅在所有模式都匹配时标记违规,从而避免误报。
  • 仔细选择规则的字面快速匹配模式可以显著优化处理时间。

问:Web App Firewall 是否可以与其他 Citrix ADC 功能配合使用?

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

问:Web App Firewall 和 Citrix ADC 其他功能如何处理有效负载?

显示 Citrix ADC 设备中 L7 数据包流详细信息的图表可在 功能的处理顺序部 分中找到。

问:Web App Firewall 部署的推荐工作流是什么?

现在,您已经了解了使用 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、甲骨文、Postgres、SQLite、nosql、Sybase、Informix 等)?
    • 数据库连接: 您有什么样的数据库连接(DSN、每个文件的连接字符串、单个文件连接字符串)以及使用什么驱动程序?
  • 确定您的安全需求: 您可能需要评估哪些应用程序或特定数据需要最大程度的安全保护,哪些应用程序或特定数据不那么容易受到攻击,哪些应用程序或特定数据可以安全这将帮助您提出最佳配置,并设计适当的策略和绑定点以隔离流量。例如,您可能需要配置一个策略以绕过对静态 Web 内容(如图像、MP3 文件和电影)请求的安全检查,并配置另一个策略以对动态内容请求应用高级安全检查。您可以使用多个策略和配置文件来保护同一应用程序的不同内容。
  • 许可证要求: Citrix 提供了统一的解决方案,通过利用一系列丰富的功能(例如负载平衡、内容切换、缓存、压缩、响应程序、重写和内容筛选)来优化应用程序的性能。确定所需的功能可以帮助您确定所需的许可证。
  • 安装 Citrix ADC 设备并对其进行基准测试: 创建虚拟服务器并通过该虚拟服务器运行测试流量,以了解流经系统的流量速率和数量。此信息将帮助您确定容量需求并选择正确的设备(VPX、MPX 或 SDX)。
  • 部署 Web App Firewall: 使用 Web App Firewall 向导继续进行简单的安全配置。该向导将引导您浏览多个屏幕,并提示您添加配置文件、策略、签名和安全检查。
    • 配置文件: 为您的个人资料选择一个有意义的名称和适当的类型(HTML、XML 或 WEB 2.0)。策略和签名将使用相同的名称自动生成。
    • 策略: 自动生成的策略具有默认的表达式 (true),用于选择所有流量并进行全局绑定。除非你有想要使用的特定策略,否则这是一个很好的起点。
    • 保护: 该向导可帮助您利用混合安全模型,在该模型中,您可以使用提供丰富规则集的默认签名来保护不同类型的应用程序。简单 编辑模式允许您查看各种类别(CGI、Cold Fusion、PHP 等)。您可以选择一个或多个类别来标识适用于您的应用程序的一组特定规则。使用 作选项启用所选类别中的所有签名规则。确保禁用了阻止功能,以便在加强安全性之前可以监控流量。 单击 “ 继续”。在 “ 指定深度保护 ” 窗格中,您可以根据需要进行更改以部署安全检查保护。在大多数情况下,基本的保护措施足以进行初始安全配置。运行流量一段时间以收集具有代表性的安全检查数据样本。
    • 加强安全性: 部署 Web App Firewall 并观察流量一段时间后,您可以通过部署放宽然后启用阻止来开始加强应用程序的安全性。学习可视化工具和 单击以部署规则 是有用的功能,可让您非常轻松地调整配置以获得适当的放松级别。此时,您还可以更改策略表达式和/或配置其他策略和配置文件,以便为不同类型的内容实施所需的安全级别。
    • 调试: 如果您发现应用程序出现意外行为,Web App Firewall 提供了多种选项以方便调试:
      • 日志。如果合法请求被阻止,你的第一步是检查 ns.log 文件,看看是否触发了任何意外的安全检查冲突。
      • 禁用功能。如果您没有看到任何违规但仍看到意外行为,例如应用程序重置或发送部分响应,则可以禁用 Web App Firewall 功能进行调试。如果问题仍然存在,它将排除 Web App Firewall 作为嫌疑人。
      • 使用日志消息跟踪记录。如果问题似乎与 Web App Firewall 有关并且需要仔细检查,则可以选择在 nstrace 中包含安全违规消息。您可以在跟踪中使用“跟踪 TCP 流”来查看单个事务的详细信息,包括标头、有效负载和相应的日志消息,一起在同一屏幕上。有关如何使用此功能的详细信息,请参阅 附录