ADC

URL 列表

URL 列表功能使企业客户能够控制对特定网站和网站类别的访问权限。该功能通过应用绑定到 URL 匹配算法的响应者策略来筛选网站。该算法将传入的 URL 与最多包含一百万 (1,000,000) 个条目的 URL 集进行匹配。如果传入的 URL 请求与集合中的条目相匹配,则设备使用响应程序策略来评估请求 (HTTP/HTTPS) 并控制对请求的访问。

URL 集类型

URL 集中的每个条目可以包含一个 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. 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.APPEND (HTTP.REQ.URL)-加入主机和 URL 参数,然后可以将其用于匹配。

响应程序操作类型

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

下表描述了可以应用于传入互联网流量的操作。

响应者操作 说明
允许 允许请求访问目标 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 的 URL 列表。
  5. 配置私有 URL 集。

注意

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

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

Citrix ADC 设备支持透明和显式代理虚拟服务器。要在显式模式下为互联网流量配置代理虚拟服务器,请执行以下操作:

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

要使用 CLI 添加代理虚拟服务器,请执行以下操作:

在命令提示符下,键入:

add cs vserver <name> <serviceType> <IPAddress> <port>
<!--NeedCopy-->

示例

add cs vserver starcs PROXY 10.102.107.121 80 -cltTimeout 180
<!--NeedCopy-->

要使用 CLI 将响应程序策略绑定到代理虚拟服务器,请执行以下操作:

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

注意

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

为 HTTPS 流量配置 SSL 拦截

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

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

要使用 CLI 将 CA 证书密钥对绑定到代理虚拟服务器,请执行以下操作:

在命令提示符下,键入:

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

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

在命令提示符下,键入:

set ssl parameter -defaultProfile ENABLED

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

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

在命令提示符下,键入:

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

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

有关如何为 HTTP 流量配置 URL 集的信息,请参阅 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>]
<!--NeedCopy-->

示例

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

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

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

  1. 导航到 安全 > SSL 转发代理 > URL 过滤 > URL 列表
  2. 在详细信息窗格中,单击“添加”。
  3. URL 列表策略 页面上,指定策略名称。
  4. 选择导入 URL 集的选项。
  5. URL 列表策略 选项卡页面上,选中“导入 URL 集”复选框并指定以下 URL 集参数。
    1. URL 集名称-自定义 URL 集的名称。
    2. URL—访问 URL 集的位置的网址。
    3. 覆盖-覆盖先前导入的 URL 集。
    4. 分隔符-分隔 CSV 文件记录的字符序列。
    5. 行分隔符-CSV 文件中使用的行分隔符。
    6. 间隔-以秒为单位的间隔,四舍五入到最接近的秒数,等于 15 分钟,在此时更新 URL 集。
    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>]
<!--NeedCopy-->

示例

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

显示导入的 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. 日志消息信息,例如 URL 集名称、策略操作、URL。

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

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

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

URL 列表