Citrix ADC

动态分析

学习功能是一个模式筛选器,用于观察和学习后端服务器上的活动。基于观察结果,学习引擎为每次安全检查生成多达 2000 个规则或异常(放松)。为了自动执行该过程并自动部署放宽规则,Citrix ADC 设备使用动态分析。

通过动态分析,设备记录预定义阈值的学习数据,并向用户发送 SNMP 警报。如果用户未在宽限期内跳过数据,设备会自动将其部署为放宽规则。此前,用户必须手动部署放松规则。目前,动态分析仅适用于以下安全检查:

  1. HTML SQL 注入
  2. HTML 跨站点脚本
  3. 字段格式
  4. 起始 URL
  5. 内容类型
  6. 字段格式
  7. CSRF 表单标记
  8. Cookie 一致性

例如,考虑启用了动态分析的 HTML SQL 注入安全检查。您可以将学习用于 IP 列表(称为“可信学习客户端”列表),学习功能应从中生成建议。要配置受信任客户端的列表,请参阅学习受信任客户端主题。如果传入流量存在冲突行为,则将其记录为学习的数据。如果学习的数据记录在学习引擎中,设备会向用户发送 SNMP 警报。如果用户无法识别误报并且在宽限期内没有跳过学习的数据,设备会自动将其部署为放松规则。

注意:配置动态配置文件 后,必须定期检查设备配置,以便自动部署放松规则,并将其保存在设备上。

使用 Citrix ADC 命令接口配置动态分析

动态分析可用于“开始 URL”、“HTML 跨站点脚本”、“字段格式”或“HTML SQL 注入”安全检查。要配置动态分析,必须完成以下步骤。

  1. 配置动态学习
  2. 配置自动部署宽限期

配置动态学习

作为第一步,您必须在设备上配置动态学习。在命令提示窗口中,键入:

set appfw profile <profile_name> dynamicLearning <security_checks>

示例

set appfw profile test1 dynamicLearning SQLInjection CrossSiteScripting fieldFormat startURL

配置自动部署宽限期

在特定安全检查上启用该功能后,必须为自动部署配置宽限期。

set appfw learningsettings <profile name> -crossSiteScriptingAutoDeployGracePeriod <seconds>

set appfw learningsettings <profile name> fieldFormatAutoDeploymentGracePeriod <seconds>

set appfw learningsettings <profile name> SQLInjectionAutoDeploymentGracePeriod <seconds>

set appfw learningsettings <profile name> –startURLAutoDeployGracePeriod <seconds>

示例

set appfw learningsettings test1 –crossSiteScriptingAutoDeployGracePeriod 30

set appfw learningsettings test1 –startURLAutoDeployGracePeriod 7

set appfw learningsettings test1 –fieldFormatAutoDeploymentGracePeriod 10

set appfw learning settings test1 –SQLInjectionAutoDeploymentGracePeriod 12

注意:

此处,自动部署宽限期以分钟为单位。

使用 Citrix ADC GUI 配置动态分析

  1. 导航到 安全 > 应用程序防火墙 > 配置文件
  2. 在详细信息窗格中,选择一个配置文件,然后单击 编辑
  3. Citrix Web 应用程序配置文件 页面中,单击高级设置下的动态分析

    动态配置文件设置

  4. 动态分析部分中,选择一个安全检查,然后单击编辑

    动态分析部分

  5. 在“动 态分析和学习设置”页面中,设置安全检查的宽限期。

    动态分析部分

  6. 点击 确定完成

放松规则的导出和导入

启用动态分析时,学习的数据将作为松弛规则自动部署。除此之外,设备还可以导出基于动态分析的松弛规则和常规松弛规则。您可以从暂存环境中导出规则,并将其导入到生产环境中。

注意:

将规则导入到生产环境时,必须确保该过程是相加的,且不会覆盖现有配置。

如何导出和导入松弛规则

要导出和导入松弛规则,必须完成以下步骤:

  1. 必须首先导出基于动态配置文件的数据。为此,导出选项可用于 WAF 配置文件中的放松规则。选择此选项时,将导出动态分析松弛规则和常规松弛规则。您可以使用导出选项将配置作为压缩包在设备上下载。
  2. 从暂存环境中导出数据后,必须将其导入到另一个 Citrix ADC 设备。为此,必须使用 WAF 配置文件的放松规则中提供的导入选项。选择此选项后,设备会导入捆绑的指定放松规则,并将其恢复到选定设备的 WAF 配置文件中。

注意:

如果要在 WAF 配置文件中导入松弛规则,则有两种类型的操作: 增强 — 此操作可确保导入是相加的,因此不会覆盖任何现有配置。 覆盖 — 此操作将使用压缩导出包中存在的配置覆盖现有配置。”

使用 CLI 导入存档的放松规则文件

要导入放松规则,必须将归档文件导入 Citrix ADC 设备,然后执行恢复命令以提取配置。以下 CLI 命令集可用于导出、导入和管理配置。

要从特定位置导入归档文件并恢复,请在命令提示符处键入:

import appfw archive <src> <name> [-comment <string>]

其中, “src”:表示形式中 tar 归档文件的来源,<protocol>://<host>[:<port>][/<path>] “name”:表示归档文件的名称。 “评论”:与此档案相关的评论。

restore appfw profile <archivename> [-relaxationRules] [-importProfileName <string>] [-matchUrlString <string>] [-replaceUrlString <string>] [-overwrite] [-augment]

其中, “档案名称”:表示 tar 归档的源。这是一个强制性的论点。 “放松规则”:导入所有应用程序放松规则 “导入文件名”的选项:表示创建或更新的配置文件名称以关联恢复操作期间的放松规则。 “匹配字符串”:表示要在已存档的放松规则中匹配的操作 URL 字符串。 “替换 EurlString”:表示在恢复放松规则时要在操作 URL 中替换的字符串。 “覆盖”:用于清除现有放松规则并在导入 “增强”期间替换的现有规则操作:用于在导入期间增加放松规则的现有规则操作

示例: import appfw archive local: dutA_test_pr.tgz demo restore appfw profile dutA_test_pr

使用 CLI 将存档文件导出到选定的设备

如果使用 CLI 导出 appfw 放松规则,则必须存档配置,然后将其导出。 要存档并导出存档文件,请在命令提示符处键入:

archive appfw profile <name> <archivename> [-comment <string>]

其中, “存档名”:表示 tar 存档的源。这是一个强制性的论点。 “name”:指示包含要导出的放松规则的 appfw 配置文件名称

export appfw archive <name> <target>

在哪里, 姓名称。tar 存档的名称。这是一个强制性的论点。最大长度:31 个 目标。要导出的文件的路径。这是一个强制性的论点。最大长度:2047

示例:

archive appfw profile test_pr archived_test_pr export appfw archive archived_test_pr local:dutA_test_pr

使用 Citrix ADC GUI 导出松弛规则

按照以下给出的步骤导出松弛规则:

  1. 导航到安全 > Citrix Web App Firewall
  2. 在详细信息页面中,单击 配置摘要部分下的 Citrix Web App Firewall 配置文件 链接。
  3. Citrix Web App Firewall 配置文件页面中,单击高级设置部分下的放松规则链接。
  4. 放松规则部分,单击导出所有放松规则。该操作适用于所有安全检查以及在该配置文件上启用了动态学习的安全检查。

    出口放松规则

使用 Citrix ADC GUI 导入松弛规则

按照以下给出的步骤导入松弛规则:

  1. 导航到安全 > Citrix Web App Firewall
  2. 在详细信息页面中,单击 配置摘要部分下的 Citrix Web App Firewall 配置文件 链接。
  3. Citrix Web App Firewall 配置文件页面中,单击高级设置部分下的放松规则链接。
  4. 放松规则部分中,单击导入所有放松规则
  5. 配置 Citrix Web App Firewall 概要文件页中,设置以下参数:
    1. 本地文件。包含放松规则的压缩存档文件的名称。
    2. 配置文件名称。放松规则绑定到的配置文件的名称。
    3. 匹配的 URL 字符串。匹配的 URL 部分。
    4. 替换 URL 字符串。替换 URL 字符串的 URL 部分。
    5. 现有规则操作。如果规则必须覆盖现有规则或扩展现有规则,则选择此选项。
  6. 单击确定

    导入放松规则

动态分析