使用 Citrix ADC GUI 手动配置
如果需要手动配置 Web App Firewall 功能,Citrix 建议您使用 Citrix ADC GUI 过程。
创建和配置签名对象
在配置签名之前,必须从相应的默认签名对象模板创建签名对象。为副本分配一个新名称,然后配置副本。无法直接配置或修改默认签名对象。以下过程提供有关配置签名对象的基本说明。有关更多详细说明,请参阅 手动配置签名功能。
- 导航到安全 > Citrix Web App Firewall > 签名。
-
在详细信息窗格中,选择要用作模板的签名对象,然后单击 添加。
选项包括:
- 默认签名。包含签名规则、SQL 注入规则和跨站点脚本规则。
- XPath 注射。包含默认签名中的所有项目,此外还包含 XPath 注入规则。
- 在“添加签名对象”对 话框中,键入新签名对象的名称,单击“确定”,然后单击“关闭”。名称可以以字母、数字或下划线符号开头,可以由一到 31 个字母、数字和连字符 (-)、句点 (#)、空格 ()、位于 (@)、等于 (=) 和下划线 (_) 符号组成。
- 选择您创建的签名对象,然后单击 打开。
-
在“修改签名对象”对 话框中,设置左侧的“显示筛选条件”选项以显示要配置的筛选条件。
修改这些选项时,您指定的结果将显示在右侧的“筛选结果”窗口中。有关签名类别的详细信息,请参阅 签名。
- 在“筛选结果”区域中,通过选中并清除相应的复选框来配置签名的设置。
- 完成后,单击“关闭”。
使用 GUI 创建 Web App Firewall 配置文件
创建 Web App Firewall 配置文件需要您仅指定少数配置详细信息。
- 导航到安全 > Citrix Web App Firewall > 配置文件。
- 在详细信息窗格中,单击 Add(添加)。
-
在 “ 创建 Web App Firewall 配置文件” 对话框中,键入配置文件的名称。
名称可以以字母、数字或下划线符号开头,并且可以由一到 31 个字母、数字和连字符 (-)、句点 (.) 磅 (#)、空格 ()、位于 (@)、等于 (=)、冒号 (:) 和下划线 (_) 符号组成。
- 从下拉列表中选择配置文件类型。
- 单击 Create(创建),然后单击 Close(关闭)。
使用 GUI 配置 Web App Firewall 配置文件
- 导航到安全 > Citrix Web App Firewall > 配置文件。
- 在详细信息窗格中,选择要配置的配置文件,然后单击 编辑。
- 在“配置 Web App Firewall 配置文件”对话框的“安全检查”选项卡上,配置安全检查。
- 要为检查启用或禁用操作,请在列表中选择或清除该操作的复选框。
-
要为包含这些参数的校验配置其他参数,请在列表中单击该校验最右侧的蓝色 V 形。在出现的对话框中,配置参数。这些服务从检查到检查都有所不同。
您还可以选择一个复选框,然后在对话框底部单击打开以显示该复选框的“配置放宽”对话框或“配置规则”对话框。这些对话框也因检查而异。其中大多数都包括“检查”选项卡和“常 规”选项卡。如果该校验支持放宽或用户定义的规则,则“检查”选项卡包含“添加”按钮,该按钮将打开另一个对话框,您可以在该对话框中为校验指定放宽或规则。(放宽是免除指定流量检查的规则。) 如果已配置放宽,则可以选择一个放宽,然后单击“打开”以修改它。
-
若要查看已学习的异常或校验的规则,请选择该校验,然后单击 已知的冲突。在“管理学习规则”对话框中,依次选择每个已学习的异常或规则。
- 要编辑异常或规则,然后将其添加到列表中,请单击“编辑和部署”。
- 若要在不修改的情况下接受例外或规则,请单击“部署”。
- 要从列表中删除异常或规则,请单击“跳过”。
- 要刷新要查看的例外或规则列表,请单击 刷新。
- 要打开学习可视化工具并使用它来查看学习的规则,请单击可视化工具。
- 若要查看与校验匹配的连接的日志条目,请选择校验,然后单击 日志。您可以使用此信息确定哪些检查与攻击匹配,以便您可以为这些检查启用阻止。您还可以使用此信息确定哪些检查与合法流量匹配,以便您可以配置适当的豁免以允许这些合法连接。有关日志的更多信息,请参阅 日志、统计信息和报告。
- 要完全禁用检查,请在列表中清除该检查右侧的所有复选框。
- 在“设置”选项卡上,配置配置文件设置。
-
要将配置文件与您之前创建和配置的签名集相关联,请在 “公 共设置” 下拉列表中选择该组签名。
注意 : 您必须使用对话框右侧的滚动条向下滚动以显示“常用设置”部分。
-
要配置 HTML 或 XML 错误对象,请从相应的下拉列表中选择对象。
注意 : 您必须首先上载要在“导入”窗格中使用的错误对象。
-
要配置默认 XML 内容类型,请直接在“默认请求”和“默认响应”文本框中键入内容类型字符串,或单击“管理允许的内容类型”以管理允许的内容类型列表。
-
-
如果要使用学习功能,请单击“学习”,然后配置配置文件的学习设置。有关详细信息,请参阅 配置和学习功能。
- 单 击 “确定” 以保存更改并返回 “配置文件” 窗格。
配置 Web App Firewall 规则或放松
您可以在此对话框中配置两种不同类型的信息,具体取决于要配置的安全检查。在大多数情况下,您可以为安全检查配置异常(或放松)。如果要配置“拒绝 URL”校验或“字段格式”校验,则需要配置添加(或规则)。其中任何一个的过程都是相同的。
使用 Citrix ADC GUI 配置松弛规则的步骤
- 导航到 安全 > Citrix Web App Firewall > 配置文件。
- 在“配置 文 件”窗格中,选择要配置的配置文件,然后单击“编辑”。
- 在 配置 Web App Firewall 配置文件 页面中,单击 高级设置 部分中的 放宽规则 。“放松规则”部分包含 Web App Firewall 放松规则的完整列表。
- 单击要配置的安全规则,然后单击 编辑。
- “URL 放松规则”页面包含操作列表,您可以为此规则配置操作,以及现有放松或规则的列表。如果您尚未手动添加任何放宽或批准学习引擎推荐的任何放宽,则列表可能为空。列表下方是一行按钮,允许您添加、修改、删除、启用或禁用列表上的放宽。
-
要添加或修改放宽或规则,请执行以下操作之一:
- 要添加新的放松,请单击 添加。
- 若要修改现有放宽,请选择要修改的放宽,然后单击 打开。
此时将显示“开始 URL 放松规则”页面。除了标题外,这些对话框是相同的。
-
按如下所述填写对话框。每个选项的对话框都不同。下面的列表涵盖了可能出现在任何对话框中的所有元素。
- “已启用”复选框-选择此选项可将此放宽或规则置于活跃使用状态;清除此选项可将其停用。
- 附件内容类型-XML 附件的内容类型属性。在文本区域中,输入与要允许的 XML 附件的“内容类型”属性匹配的正则表达式。
- 操作 URL— 在文本区域中,输入一个 PCRE 格式的正则表达式,该正则表达式定义将输入到 Web 表单中的数据传递到的 URL。
- Cookie— 在文本区域中,输入定义 cookie 的 PCRE 格式正则表达式。
- 字段名称-Web 表单字段名称元素可以标记为“字段名称”、“表单字段”或其他类似名称。在文本区域中,输入定义表单字段名称的 PCRE 格式正则表达式。
- 从源 URL— 在文本区域中,输入定义承载 Web 表单的 URL 的 PCR 格式正则表达式。
- 从操作 URL— 在文本区域中,输入一个 PCR 格式的正则表达式,该正则表达式定义输入到 Web 表单的数据将传送到的 URL。
- 名称— XML 元素或属性名称。在文本区域中,输入定义元素或属性名称的 PCRE 格式正则表达式。
- URL-URL 元素可以标记为操作 URL、拒绝 URL、表单操作 URL、表单源 URL、开始 URL 或简单的 URL。在文本区域中,输入定义 URL 的 PCRE 格式正则表达式。
-
格式— 格式部分包含多个设置,其中包括列表框和文本框。可能会出现以下任何一项:
- Type— 在“类型”下拉列表中选择字段类型。若要添加新的字段类型定义,请单击管理 —
- 最小长度— 如果要强制用户填写此字段,则键入表示以字符为单位的最小长度的正整数。默认值:0(允许字段留空。)
- 最大长度— 要限制此字段中的数据长度,请键入表示最大长度(以字符为单位)的正整数。默认值:65535
-
位置 (Location)-从下拉列表中选择您的放松所应用的请求元素。对于 HTML 安全检查,选择如下:
- 表单字段-Web 表单中的表单字段。
- 标题-请求标题。
- COOKIE—Set-Cookie 标头。
对于 XML 安全检查,选择如下:
- 元素-XML 元素。
- 属性-XML 属性。
- 最大附件大小-XML 附件允许的最大大小(以字节为单位)。
- 注释-在文本区域中,键入注释。可选。
注意:对于需要正则表达式的任何元素,您可以键入正则表达式,使用正则表达式标记菜单将正则表达式元素和符号直接插入到文本框中,或单击正则表 达式编辑器 打开 添加正则表达式 对话框,然后使用它构造表达式。
- 要删除放松或规则,请将其选中,然后单击 删除。
- 若要启用放宽或规则,请选择它,然后单击 启用。
- 若要禁用放宽或规则,请选择它,然后单击 禁用。
-
要在集成交互式图形显示中配置所有现有放宽的设置和关系,请单击可视化工具,然后使用显示工具。
注意:
“可视化工具”按钮不会出现在所有选中放松对话框中。
- 要查看此检查的学习规则,请单击学习,然后执行 要配置和使用学习功能中的步骤
- 单击 OK(确定)。
使用 Citrix ADC GUI 配置学习规则的步骤
- 导航到 安全 > Citrix Web App Firewall > 配置文件。
- 在配 置文件 窗格中,选择配置文件,然后单击 编辑 。
- 在 Citrix Web App Firewall 概要文件 页面中,单击“从 高级设置学习的规则”。在“学习规则”部分,您可以看到当前配置文件中可用且支持学习功能的安全检查列表。
- 要配置学习阈值,请选择安全检查,然后单击“设置”。
-
在“动 态分析和学习规则设置”页中,可以设置设置。有关详细信息,请参阅 动态配置文件
-
最小数量阈值。根据您正在配置的安全检查的学习设置,最小数量阈值可能是指必须遵守的最小总用户会话数、必须遵守的最小请求数或必须遵守特定表单字段的最小次数,在生成学习的放宽之前。默认值:1
-
门槛值的次数百分比。根据您正在配置的安全检查学习设置,次数百分比阈值可能是指冲突安全检查的观察用户会话总数的百分比、请求的百分比或表单字段匹配特定字段类型的次数百分比,之前学会放宽产生。默认值:0
-
- 要删除所有学到的数据并重置学习功能,以便它必须从头开始重新启动其观测值,请选择“删除所有学到的数据”操作。
注意 : 此按钮仅删除尚未审核、批准或跳过的学习建议。它不会删除已接受和部署的学习放宽。
- 若要将学习引擎限制为来自特定 IP 集的流量,请单击“受信任的学习客户端”,然后将要使用的 IP 地址添加到列表中。
- 若要将 IP 地址或 IP 地址范围添加到“受信任的学习客户端”列表中,请单击“添加”。
- 在“AppFirewall 配置文件到受信任的克林特绑定”页中,单击 添加。
- 选中“已启用”复选框以启用该功能。
- 在“受信任的学习客户端**”框中,键入 IP 地址或 CIDR 格式的 IP 地址范围。
- 在 “注释” 文本区域中,键入描述此 IP 地址或范围的注释。
- 单击创建和关闭。
- 要修改现有 IP 地址或范围,请单击 IP 地址或范围,然后单击 编辑。除名称外,显示的对话框与“添加受信任的学习客户端”对话框相同。
- 要禁用或启用 IP 地址或范围,但将其保留在列表中,请单击 IP 地址或范围,然后根据需要单击 禁用 或 启用。
-
要完全删除 IP 地址或范围,请单击 IP 地址或范围,然后单击 删除。
- 单击“关闭”返回到“Citrix Web App Firewall 配置文件”页。
使用 Citrix ADC GUI 创建 Citrix Web App Firewall 策略的步骤
-
导航到安全 > Citrix Web App Firewall > 策略。
- 在“策 略”页中,单击 Citrix Web App Firewall 策略 链接。
- 在 Citrix Web App Firewall 策略页中,单击 添加。
-
在“创建 Citrix Web App Firewall 策略”页中,设置以下参数。
- 名称。 名称可以以字母、数字或下划线符号开头,并且可以由一到 128 个字母、数字和连字符 (-)、句点 (.) 磅 (#)、空格 ()、位于 (@)、等于 (=)、冒号 (:) 和下划线 (_) 符号组成。
- 配置文件。从配置文件下拉列表中选择要与此策略关联的配置文件。您可以通过单击“新建”创建配置文件以与策略关联,也可以通过单击“修改”修 改现有配置文件。
- 表达式。在“表达式”文本区域中,为策略创建规则。
- 日志操作。添加日志操作或修改现有日志操作。
- 评论。有关策略的简要说明。
- 单击创建或确定,然后单击关闭。
创建或配置 Web App Firewall 规则(表达式)
策略规则(也称为表 达式)定义 Web App Firewall 使用与策略关联的配置文件筛选的 Web 流量。与其他 Citrix ADC 策略规则(或 表达式)一样,Web App Firewall 规则使用 Citrix ADC 表达式语法。此语法强大、灵活且可扩展。在这套指令中完全描述太复杂了。您可以使用以下过程创建简单的防火墙策略规则,也可以将其视为策略创建过程的概述。
-
如果尚未执行此操作,请导航到 Web App Firewall 向导或 Citrix ADC GUI 中的相应位置以创建策略规则:
- 如果要在 Web App Firewall 向导中配置策略,请在导航窗格中单击 Citrix Web App Firewall 向导,然后在详细信息窗格中单击 Citrix Web App Firewall 向导,然后导航到指定规则选项卡页。
-
在“指定规则”页中,从下拉列表中选择表达式的前缀。选项包括:
- HTTP。HTTP 协议。如果要检查与 HTTP 协议相关的请求的某些方面,请选择此选项。
- SYS。一个或多个受保护的网站。如果要检查与请求收件人有关的请求的某些方面,请选择此选项。
- CLIENT。发送请求的计算机。如果您想检查请求发件人的某些方面,请选择此选项。
- SERVER. 向其发送请求的计算机。如果要检查请求收件人的某些方面,请选择此选项。
选择前缀后,Web App Firewall 会显示一个由两部分组成的提示窗口,其中显示顶部可能的下一个选项,并在底部简要说明所选选项的含义。
-
选择您的下一个学期。
如果您选择 HTTP 作为前缀,则唯一的选择是 REQ,它指定了请求/响应对。(Web App Firewall 作为一个单元对请求和响应进行操作,而不是单独对每个单元进行操作。) 如果您选择了另一个前缀,则您的选择会更加多样。有关特定选项的帮助,请单击该选项一次,以在下部提示窗口中显示有关该选项的信息。
确定所需的术语后,双击该术语将其插入到“表达式”窗口中。
-
在您刚刚选择的术语之后键入一个时间段。然后,系统会提示您选择下一个术语,如上一步中所述。当术语要求您键入值时,请填写相应的值。例如,如果您选择 HTTP.REQ.HEET (“”),请在引号之间键入标头名称。
-
继续从提示中选择术语并填写所需的任何值,直到表达式完成。
以下是一些用于特定目的的表达式示例。
- 特定的网络主机。要匹配来自特定 Web 主机的流量:
HTTP.REQ.HEADER("Host").EQ("shopping.example.com")
对于 shopping.example.com,请替换要匹配的 Web 主机的名称。
- 特定的 Web 文件夹或目录。要匹配来自 Web 主机上特定文件夹或目录的流量:
HTTP.REQ.URL.STARTSWITH("https//www.example.com/folder")
对于 www.example.com,请替换 Web 主机的名称。对于文件夹,替换要匹配的内容的文件夹或路径。例如,如果您的购物车位于名为/解决方案/订单的文件夹中,您将该字符串替换为文件夹。
- 特定内容类型:GIF 图像。要匹配 GIF 格式图像,请执行以下操作:
HTTP.REQ.URL.ENDSWITH(".gif")
要匹配其他格式的图像,请替换另一个字符串代替 .gif。
- 特定类型的内容:脚本。要匹配 CGI-BIN 目录中的所有 CGI 脚本,请执行以下操作:
HTTP.REQ.URL.STARTSWITH("https//www.example.com/CGI-BIN")
要将所有 JavaScript 与 .js 扩展名匹配,请执行以下操作:
HTTP.REQ.URL.ENDSWITH(".js")
有关创建策略表达式的详细信息,请参阅 策略和表达式。
注意 : 如果使用命令行配置策略,请记住转义 Citrix ADC 表达式中的任何双引号。例如,如果在 GUI 中输入以下表达式是正确的:
HTTP.REQ.HEADER("Host").EQ("shopping.example.com")
但是,如果在命令行中输入,则必须键入以下内容:
HTTP.REQ.HEADER("Host").EQ("shopping.example.com")

使用“添加表达式”对话框添加防火墙规则(表达式)
“添加表达 式”对话框(也称为“表达式编辑器”)可帮助不熟悉 Citrix ADC 表达式语言的用户构建与要筛选的流量匹配的策略。
- 如果尚未执行此操作,请导航到 Web App Firewall 向导或 Citrix ADC GUI 中的相应位置:
- 如果要在 Web App Firewall 向导中配置策略,请在导航窗格中单击 Web App Firewall,然后在详细信息窗格中单击 Web App Firewall 向导,然后导航到 指定规则 屏幕。
- 如果要手动配置策略,请在导航窗格中展开“Web App Firewall”、“策略”和“防火墙”。在详细信息窗格中,要创建策略,请单击 添加。若要修改现有策略,请选择该策略,然后单击“打开”。
- 在“指定规则”屏幕上的“创建 Web App Firewall 配置文件”对话框或“配置 Web App Firewall 配置文件”对话框中,单击“添加”。
- 在 “ 添加表达式 ” 对话框的 “构造表达式” 区域的第一个列表框中,选择以下前缀之一:
- HTTP。HTTP 协议。如果要检查与 HTTP 协议相关的请求的某些方面,请选择此选项。默认选择。
- SYS。一个或多个受保护的网站。如果要检查与请求收件人有关的请求的某些方面,请选择此选项。
- CLIENT。发送请求的计算机。如果您想检查请求发件人的某些方面,请选择此选项。
- SERVER. 向其发送请求的计算机。如果要检查请求收件人的某些方面,请选择此选项。
- 在第二个列表框中,选择您的下一个术语。可用术语根据您在上一步中所做的选择而有所不同,因为对话框会自动调整列表以仅包含对上下文有效的术语。例如,如果您在上一列表框中选择了 HTTP,则唯一的选择是 REQ,用于请求。由于 Web App Firewall 将请求和关联响应视为单个单元并筛选这两个单元,因此您无需单独处理特定响应。选择第二个术语后,第二个术语的右侧会出现第三个列表框。“帮助”窗口显示第二个术语的描述,“预览表达式”窗口显示您的表达式。
- 在第三个列表框中,选择下一个术语。右侧会出现一个新的列表框,“帮助”窗口将更改以显示新术语的描述。“预览表达式”窗口将进行更新,以显示已指定的表达式到该点时的表达式。
- 继续选择术语,并在提示填写参数时,直到表达式完成。如果您在选择一个术语后犯了错误或想要更改表达式,您可以简单地选择另一个术语。表达式将被修改,并且清除您在修改的术语之后添加的所有参数或多个术语。
- 完成表达式构建后,单击“确定”关闭“添加表达式”对话框。您的表达式将插入到“表 达式”文本区域。
使用 Citrix ADC GUI 绑定 Web App Firewall 策略
- 执行以下操作之一:
- 导航到“安全”>“Web App Firewall”,然后在详细信息窗格中单击“应用程 序防火墙策略管理器”。
- 导航到“安全”>“Citrix Web App Firewall”>“策略”>“防火墙”,然后在“Citrix Web App Firewall 策略”窗格中,单击“策略管理器”。
- 在应用程序防火墙策略管理器对话框中,从下拉列表中选择要将策略绑定到的绑定点。这些选择是:
- 覆盖全局。绑定到此绑定点的策略处理来自 Citrix ADC 设备上所有接口的所有流量,并在任何其他策略之前应用。
- LB 虚拟服务器。绑定到负载平衡虚拟服务器的策略仅应用于由负载平衡虚拟服务器处理的流量,并在任何默认全局策略之前应用。选择 LB 虚拟服务器后,还必须选择要绑定此策略的特定负载平衡虚拟服务器。
- CS 虚拟服务器。绑定到内容交换虚拟服务器的策略仅应用于由该内容交换虚拟服务器处理的流量,并在任何“默认全局”策略之前应用。选择 CS 虚拟服务器后,还必须选择要绑定此策略的特定内容切换虚拟服务器。
- 默认全局。绑定到此绑定点的策略处理来自 Citrix ADC 设备上所有接口的所有流量。
- 策略标签。绑定到策略标签的策略处理策略标签路由到它们的流量。策略标签控制策略应用于此流量的顺序。
- 无。请勿将策略绑定到任何绑定点。
- 单击继续。此时将显示现有 Web App Firewall 策略的列表。
- 单击要绑定的策略,选择该策略。
- 对绑定进行任何其他调整。
- 要修改策略优先级,请单击字段以启用它,然后键入新的优先级。您还可以选择 重新生成优先级 以均匀地重新编号优先级。
- 要修改策略表达式,请双击该字段以打开“配置 Web App Firewall 策略”对话框,您可以在其中编辑策略表达式。
- 要设置转到表达式,请双击转 到表达式 列标题中的字段以显示下拉列表,您可以在其中选择一个表达式。
- 要设置“调用”选项,请双击“调用”列标题中的字段以显示下拉列表,从中可以选择表达式。
- 重复步骤 3 到 6 以添加要全局绑定的任何其他 Web App Firewall 策略。
- 单击 OK(确定)。状态栏中将显示一条消息,指出该策略已成功绑定。