Citrix 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. .GET_URLSET_METADATA()——如果URL与URL集中的任何模式完全匹配,GET_URLSET_METADATA()表达式将返回相关的元数据。如果没有匹配,则返回空字符串。
  3. .get_ urlset_metadata () .eq(<元数据)- .get_ urlset_metadata () .eq(<元数据)
  4. . get_urlset_metadata (). typecast_list_t (', '). get (0). eq() -如果匹配的元数据位于类别的开头,则计算为TRUE。此模式可用于对元数据中的独立字段进行编码,但只匹配第一个字段。
  5. append (HTTP.REQ.URL) -连接主机和URL参数,然后可以用于匹配。

响应器动作类型

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

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

应答器动作 描述
允许 允许请求访问目标URL。
重定向 将请求重定向到指定为目标的URL。
拒绝请求。

先决条件

当从主机名URL中导入URL Set时,需要配置DNS服务器。如果使用IP地址方式,则不需要配置。

在命令提示符下,输入:

add dns nameServer (( [-local]) | ) [-state (ENABLED | DISABLED)] [type ] [-dnsProfileName ]

例子

添加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. 配置一个URL列表,其中包含HTTP流量的URL集。
  4. 配置URL列表,包含HTTPS流量的URL集。
  5. 配置私有URL集。

请注意

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

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

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

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

使用实例通过CLI添加代理虚拟服务器。

在命令提示符下,输入:

add cs vserver     

例子

add cs vserver starcs PROXY 10.102.107.121 80 -cltTimeout 180 

使用实例通过CLI将响应器策略绑定到代理虚拟服务器。

绑定ssl vserver  -policyName  [-priority ] 

请注意

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

配置对HTTPS流量进行SSL拦截

配置对HTTPS流量进行SSL拦截,操作步骤如下:

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

使用实例通过CLI将CA证书密钥对绑定到代理虚拟服务器。

在命令提示符下,输入:

绑定ssl vserver  -certkeyName  

使用实例使用CLI配置前端SSL配置文件。

在命令提示符下,输入:

set ssl parameter -defaultProfile ENABLED add ssl profile  - sslintercepeption ENABLED -ssliMaxSessPerServer  

使用实例通过CLI将前端SSL配置文件与代理虚拟服务器绑定

在命令提示符下,输入:

set ssl vserver < vserver name> -sslProfile  

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

有关如何为HTTP流量配置URL集的信息,请参见URL设置

执行显式子域匹配

现在可以为导入的URL集执行显式子域匹配。属性中添加了一个新参数“subdomainExactMatch”导入策略URLset命令。

当启用该参数时,URL过滤算法将执行显式子域匹配。例如,如果传入URL为news.example.com以及URL集中的条目是否为example.com,则该算法不匹配url。

在命令提示符下,输入:import policy urlset [-overwrite] [-delimiter ][-rowSeparator ] -url [-interval ] [-privateSet][-subdomainExactMatch] [-canaryUrl ]

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

配置HTTPS流量的URL集

使用实例通过CLI配置HTTPS流量的URL Set

在命令提示符中键入:

add ssl policy  -rule  -action  [-undefAction ] [-comment ] 

例子

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

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

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

  1. 导航到安全> SSL正向代理> URL过滤> URL列表
  2. 在详细信息窗格中,单击添加
  3. URL列表策略页,指定策略名称。
  4. 选择导入URL集的选项。
  5. URL列表策略选项卡页,选择导入URL集复选框,并指定以下URL设置参数。
    1. URL Set name自定义URL集名称。
    2. URL -访问URL集的位置的web地址。
    3. 覆盖—覆盖先前导入的URL集。
    4. 分隔符—分隔CSV文件记录的字符序列。
    5. 行分隔符- CSV文件中使用的行分隔符。
    6. interval -以秒为单位的间隔,四舍五入到最接近的秒数,等于15分钟,在此时间更新URL集。
    7. Private set - option,防止导出URL集。
    8. Canary URL -内部URL,用于测试URL集的内容是否要保密。URL的最大长度为2047个字符。
  6. 从下拉列表中选择响应器操作。
  7. 点击创建而且关闭

配置私有URL集

如果您配置了私有URL集并对其内容保密,则网络管理员可能不知道该集合中的黑名单URL。对于这种情况,您可以配置一个Canary URL并将其添加到URL集中。使用Canary URL,管理员可以请求用于每个查找请求的私有URL集。您可以参考向导部分了解每个参数的描述。

使用实例通过CLI导入URL集。

在命令提示符下,输入:

import policy urlset  [-overwrite] [-delimiter ] [-rowSeparator ] -url  [-interval ] [-privateSet] [-canaryUrl ] 

例子

导入urlset test1 -url http://10.78.79.80/alytra/top-1k.csv -private -canaryUrl http://www.in.gr 

显示导入的URL集

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

在命令提示符下,输入:显示策略urlset [] [-imported]

例子显示策略urlset -imported

配置审计日志消息传递

审计日志记录使您能够查看URL List流程的任何阶段中的条件或情况。当Citrix ADC设备接收到传入URL时,如果响应器策略具有URL Set高级策略表达式,则审计日志特性将收集URL中的URL Set信息。它将详细信息存储为审计日志记录所允许的任何目标的日志消息。

日志信息包括:

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

在配置URL列表功能的审计日志功能之前,需要完成以下任务:

  1. 开启“审计日志”。
  2. 创建审计日志消息动作。
  3. 使用审计日志消息操作设置URL列表响应器策略。

有关更多信息,请参见审计日志记录的话题。

URL列表