Citrix ADC

URL 列表

通过 URL 列表功能,企业客户能够控制对特定 Web 站点和 Web 站点类别的访问权限。此功能通过应用绑定到 URL 匹配算法的响应方策略来过滤 Web 站点。此算法将传入 URL 与包含最多 1000000 个条目的 URL 集匹配。如果传入 URL 请求与集合中的条目匹配,设备将使用响应程序策略评估请求 (HTTP/HTTPS) 并控制对其的访问。

网址集类型

URL 集中的每个条目都可以包含 URL 及其元数据(URL 类别、类别组或任何其他相关数据)。对于包含元数据的 URL,设备将使用一个用于评估元数据的策略表达式。有关详细信息,请参阅网址集

SSL 转发代理支持自定义 URL 集。还可以使用模式集过滤 URL。

自定义 URL 集。您可以创建包含最多 1,000,000 个 URL 条目的自定义 URL 集,并将其作为文本文件导入到您的设备中。

图案集。ADC 设备可以在授予网站访问权限之前使用模式集筛选 URL。模式集是一种字符串匹配算法,用于查找传入 URL 和最多 5000 个条目之间的精确字符串匹配。有关详细信息,请参阅图案集

导入的 URL 集中的每个 URL 都可以具有 URL 元数据形式的自定义类别。您的组织可以托管该集并将 ADC 设备配置为定期更新集,而无需手动干预。

更新集后,Citrix ADC 设备会自动检测元数据,该类别可用作策略表达式,用于评估 URL 并应用允许、阻止、重定向或通知用户等操作。

与 URL 集一起使用的高级策略表达式

下表描述了可用于评估传入流量的基本表达式。

  1. .URLSET_MATCHES_ANY - 如果 URL 与 URL 集中的任何条目完全匹配,则计算结果为 TRUE。
  2. .GET_URLSET_METADATA() - 如果 URL 与 URL 集中的任何模式完全匹配,则 GET_URLSET_METADATA() 表达式返回关联的元数据。如果没有匹配,则返回空字符串。
  3. .GET_ URLSET_METADATA().EQ(<METADATA) - .GET_ URLSET_METADATA().EQ(<METADATA)
  4. .GET_URLSET_METADATA ().TYPECAST_LIST_T(‘,’).GET(0).EQ() - 如果匹配的元数据位于类别的开头,则计算为 TRUE。此模式可用于对元数据中的单独字段进行编码,但仅匹配第一个字段。
  5. HTTP.REQ.HOSTNAME (HTTP.REQ.URL)-加入主机和 URL 参数,然后可以用作匹配。

响应程序操作类型

注意: 在表中,HTTP.REQ.URL 被概括为<URL expression>

下表介绍了可应用于传入的 Internet 流量的操作。

响应者操作 说明
允许 允许请求访问目标 URL。
重定向 将请求重定向到指定为目标的 URL。
阻止 拒绝请求。

必备条件

如果从主机名 URL 导入 URL 集,则必须配置 DNS 服务器。如果您使用 IP 地址,则不需要此操作。

在命令提示窗口中,键入:

add dns nameServer ((<IP> [-local]) | <dnsVserverName>) [-state (ENABLED | DISABLED )] [-type <type>] [-dnsProfileName <string>]

示例

add dns nameServer 10.140.50.5

配置 URL 列表

要配置 URL 列表,可以使用 Citrix SSL 转发代理向导或 Citrix ADC 命令行界面 (CLI)。在 Citrix ADC 设备上,必须先配置响应程序策略,然后将策略绑定到 URL 集。

Citrix 建议您使用 Citrix SSL 转发代理向导作为配置 URL 列表的首选选项。使用向导将响应程序策略绑定到 URL 集。或者,您可以将策略绑定到模式集。

使用 SSL 转发代理向导配置 URL 列表

使用 GUI 配置 HTTPS 流量的 URL 列表:

  1. 导航到安全 > SSL 转发代理页面。
  2. 在详细信息窗格中,执行以下操作之一:
    1. 单击 SSL 转发代理向导
    2. 选择现有配置,然后单击 编辑
  3. URL 过滤部分中,单击编辑
  4. 选中URL 列表复选框以启用该功能。
  5. 选择 URL 列表 策略,然后单击 绑定
  6. 点击 继续,然后点击 完成

有关详细信息,请参阅如何创建 URL 列表策略

使用 CLI 配置 URL 列表

要配置 URL 列表,请执行以下操作。

  1. 为 HTTP 和 HTTPS 流量配置代理虚拟服务器。
  2. 配置 SSL 拦截以拦截 HTTPS 流量。
  3. 配置包含 HTTP 流量的 URL 集的 URL 列表。
  4. 配置包含 HTTPS 流量设置的 URL 列表。
  5. 配置专用 URL 集。

注意

如果您已配置 ADC 设备,则可以跳过步骤 1 和步骤 2,然后使用步骤 3 进行配置。

为 Internet 流量配置代理虚拟服务器

Citrix ADC 设备支持透明和显式的代理虚拟服务器。要在显式模式下为 Internet 通信配置代理虚拟服务器,请执行以下操作:

  1. 添加代理 SSL 虚拟服务器。
  2. 将响应程序策略绑定到代理虚拟服务器。

使用 CLI 添加代理虚拟服务器:

在命令提示窗口中,键入:

add cs vserver <name> <serviceType> <IPAddress> <port>

示例

add cs vserver starcs PROXY 10.102.107.121 80 -cltTimeout 180

使用 CLI 将响应程序策略绑定到代理虚拟服务器:

bind ssl vserver <vServerName> -policyName <string> [-priority <positive_integer>]

注意

如果已将 SSL 拦截器配置为 Citrix ADC 配置的一部分,则可以跳过以下过程。

为 HTTPS 流量配置 SSL 拦截

要为 HTTPS 流量配置 SSL 拦截,请执行以下操作:

  1. 将 CA 证书密钥对绑定到代理虚拟服务器。
  2. 启用默认 SSL 配置文件。
  3. 创建前端 SSL 配置文件,并将其绑定到代理虚拟服务器,并在前端 SSL 配置文件中启用 SSL 拦截。

使用 CLI 将 CA 证书密钥对绑定到代理虚拟服务器:

在命令提示窗口中,键入:

bind ssl vserver <vServerName> -certkeyName <certificate-KeyPairName>

要使用 CLI 配置前端 SSL 配置文件,请执行以下操作:

在命令提示窗口中,键入:

set ssl parameter -defaultProfile ENABLED

add ssl profile <name> -sslInterception ENABLED -ssliMaxSessPerServer <positive_integer>

使用 CLI 将前端 SSL 配置文件绑定到代理虚拟服务器

在命令提示窗口中,键入:

set ssl vserver <vServer name>  -sslProfile <name>

通过导入 HTTP 流量的 URL 集来配置 URL 列表

有关如何为 HTTP 流量配置 URL 集的信息,请参阅网址集

执行显式子域匹配

现在,您可以对导入的 URL 集执行显式子域匹配。要执行此操作, 请在 import policy URLset 命令中添加新参数 subdomainExactMatch。

启用参数时,URL 筛选算法将执行显式子域匹配。例如,如果传入的 URL 为 news.example.com,并且 URL 集中的条目为 example.com,该算法将与这些 URL 不匹配。

在命令提示窗口中,键入: import policy urlset <name> [-overwrite] [-delimiter <character>][-rowSeparator <character>] -url [-interval <secs>] [-privateSet][-subdomainExactMatch] [-canaryUrl <URL>]

示例 import policy urlset test -url http://10.78.79.80/top-1k.csv -privateSet -subdomainExactMatch -interval 900

为 HTTPS 流量配置 URL 集

使用 CLI 为 HTTPS 流量配置 URL 集

在命令提示符处键入:

add ssl policy <name> -rule <expression> -action <string> [-undefAction <string>] [-comment <string>]

示例

add ssl policy pol1 -rule "client.ssl.client_hello.SNI.URLSET_MATCHES_ANY("top1m") -action INTERCEPT

使用 SSL 转发代理向导配置 HTTPS 流量的 URL 集

Citrix 建议您使用 SSL 转发代理向导作为配置 URL 列表的首选选项。使用向导导导入自定义 URL 集并绑定到响应程序策略。

  1. 导航到安全”>“SSL 转发代理”>“URL 筛选”>“URL 列表
  2. 在详细信息窗格中,单击 Add(添加)。
  3. URL 列表策略页面上,指定策略名称。
  4. 选择一个选项以导入 URL 集。
  5. URL 列表策略选项卡页上,选中导入 URL 集复选框并指定以下 URL 集参数。
    1. URL 集名称-自定义 URL 集的名称。
    2. URL-访问 URL 集的位置的 Web 地址。
    3. 覆盖-覆盖之前导入的 URL 集。
    4. 分隔符-用于分隔 CSV 文件记录的字符序列。
    5. 行分隔符-CSV 文件中使用的行分隔符。
    6. 时间间隔 — 更新 URL 集的时间间隔(以秒为单位),舍入到最接近的秒数(等于 15 分钟)。
    7. 专用集-用于防止导出 URL 集的选项。
    8. Canary URL — 如果要保密的 URL 集的内容是否保密,用于测试的内部 URL。URL 的最大长度为 2047 个字符。
  6. 从下拉列表中选择响应程序操作。
  7. 点击 创建关闭

配置专用 URL 集

如果您配置了专用 URL 集并保持其内容为机密,网络管理员可能不知道该集合中列入黑名单的 URL。在这种情况下,您可以配置一个 Canary URL 并将其添加到 URL 集。通过使用 Canary URL,管理员可以请求将专用 URL 集用于每个查找请求。有关每个参数的说明,可以参阅向导部分。

要使用 CLI 导入 URL 集,请执行以下操作:

在命令提示窗口中,键入:

import policy urlset <name> [-overwrite] [-delimiter <character>] [-rowSeparator <character>] -url <URL> [-interval <secs>] [-privateSet] [-canaryUrl <URL>]

示例

import policy urlset test1 –url http://10.78.79.80/alytra/top-1k.csv -private -canaryUrl http://www.in.gr

显示导入的 URL 集

除了添加的 URL 集之外,您现在可以显示导入的 URL 集。为此,在“show urlset”命令中添加了一个新的参数“导入”。如果启用此选项,设备将显示所有导入的 URL 集,并将导入的 URL 集与添加的 URL 集区分开来。

在命令提示窗口中,键入: show policy urlset [<name>] [-imported]

示例 show policy urlset -imported

配置审核日志消息

审核日志记录使您能够在 URL 列表过程的任何阶段查看条件或情况。当 Citrix ADC 设备接收到传入 URL 时,如果响应程序策略具有 URL 集高级策略表达式,审核日志功能将收集 URL 中的 URL 集信息,并将详细信息存储为审核日志记录允许的任何目标的日志消息。

日志消息包含以下信息:

  1. 时间戳。
  2. 日志消息类型。
  3. 预定义的日志级别(严重、错误、通知、警告、信息、调试、警报和紧急)。
  4. 日志消息信息,如 URLSet 名称、策略操作、URL。

要配置 URL 列表功能的审核日志记录,您必须完成以下任务:

  1. 启用审核日志。
  2. 创建审核日志消息操作。
  3. 使用审核日志消息操作设置 URL 列表响应程序策略。

有关详细信息, 请参阅 审核日志记录主题。

URL 列表