Citrix ADC

URL 分类

URL 分类会限制用户对特定 Web 站点和 Web 站点类别的访问权限。作为与 NetSTAR 合作的订阅服务,该功能使企业客户能够使用商业分类数据库筛选 Web 流量。NetSTAR 数据库中有大量(数十亿)的 URL 分为不同类别,例如社交网络、赌博、成人内容、新媒体和购物。除了分类之外,每个 URL 都有一个基于站点的历史风险概况保持最新的信誉评分。我们可以根据类别、类别组(例如恐怖主义、非法药物)或站点信誉评分配置高级策略,使用 NetSTAR 数据过滤流量。

例如,您可能会阻止对危险站点(如感染恶意软件的站点)的访问,或者有选择地限制对成人内容或娱乐流媒体的访问。

URL 分类的工作原理

下图显示了 Citrix ADC URL 筛选服务如何与商业 URL 分类数据库和云服务集成,以便频繁更新。

URL 分类的工作原理

组件的交互方式如下:

  1. 客户端发送 Internet 绑定的 URL 请求。
  2. Citrix ADC 策略尝试根据从 URL 分类数据库检索的分类详细信息(如类别、类别组和站点信誉评分)来评估请求。如果数据库返回类别详细信息,则该过程将跳转到步骤 5。
  3. 如果数据库不返回分类详细信息,则请求将发送到由 URL 分类供应商维护的基于云的查找服务。但是,设备不会等待响应。相反,它将 URL 标记为未分类并跳转到步骤 5。但是,它会继续监视云查询反馈,并使用它更新缓存,以便将来的请求可以从云查找中受益。
  4. Citrix ADC 设备从基于云的服务接收 URL 类别详细信息(类别、类别组和信誉评分),并将其存储在云缓存中。
  5. 如果策略允许 URL,请求将发送到源服务器。否则,设备会删除或重定向请求,或者使用自定义 HTML 页面进行响应。
  6. 源服务器以请求的数据响应 Citrix ADC 设备。
  7. 设备将响应发送到客户端。

您可以使用 URL 筛选功能检测违反政府颁布的 Internet 安全使用授权的站点,并实施策略来阻止这些站点。托管成人内容、流媒体或社交网络的站点被确认为对儿童不安全或被禁止为非法。

必备条件

此功能适用于购买基本 CBM 许可证和 CBM 高级许可证的电信平台,而对于其他 Citrix ADC 平台,该功能可与购买 CNS 高级许可证一起使用。

注意:除了基本 CBM 许可证和 CBM 高级许可证之外,设备还必须拥有一个 URL 威胁情报许可证和订阅服务,期限为 1 年或 3 年。在启用和配置功能之前,您必须安装以下许可证:

电信平台的许可证支持:

  • CBM_TXXX_SERVER_Retail.lic
  • CBM_TPRE_SERVER_Retail.lic
  • CNS_WEBF_SSERVER_Retail.lic

其中 XXX 是吞吐量,例如 Citrix ADC T1000。

对其他 Citrix ADC 平台的许可证支持:

  • CNS_XXX_SERVER_PLT_Retail.lic

其中 XXX 是吞吐量。

URL 分类策略表达式

下表列出了用于标识传入 URL 的不同 URL 分类策略表达式,并应用配置的操作。

表达式 操作
<text>. URL_CATEGORIZE (<min_reputation>, <max_reputation>) 返回一个 URL 类别对象。信誉分数是 1 到 4 之间的数字。要获取对象,所有信誉分数都使用 0.0 作为<min reputation> 和<max_reputation>。如果大<min_reputation> 于 0,则返回的对象不包含信誉低于的类别<min_reputation>。如果大<max_reputation> 于 0,则返回的对象不包含信誉高于的类别<max_reputation>。如果类别未能及时解析,则返回 undef 值。
<url_category>。CATEGORY 返回此对象的类别字符串。如果 URL 没有类别,或者 URL 格式不正确,则返回的值为“未分类”。
<url_category>。GROUP 返回标识对象的类别组的字符串。这是一个较高级别的类别分组,在需要较少详细的 URL 类别信息的操作中非常有用。如果 URL 没有类别,或者 URL 格式不正确,则返回的值为“未分类”。
<url_category>。REPUTATION 以 1 到 4 之间的数字形式返回信誉评分,其中 4 表示风险最高的信誉。如果类别为“未分类”,则声誉值为 2。

策略表达式示例

策略 策略表达式
选择搜索引擎类别中 URL 请求的策略 add responder policy p1 ‘HTTP.REQ.HOSTNAME.APPEND(HTTP.REQ.URL).URL_CATEGORIZE(0,0). CATEGORY.EQ(“Search Engine”)
为成人类别组中的 URL 选择请求的策略 add responder policy p1 ‘HTTP.REQ.HOSTNAME.APPEND(HTTP.REQ.URL).URL_CATEGORIZE(0,0). GROUP.EQ(“Adult”)’
选择信誉分数等于 4 的搜索引擎 URL 请求的策略。 add responder policy p2 ‘HTTP.REQ.HOSTNAME.APPEND(HTTP.REQ.URL).URL_CATEGORIZE(4,0). CATEGORY.EQ(“Search Engine”)’
选择搜索引擎和购物 URL 请求的策略 add policy patset good_categories; bind policy good_categories “Search Engine”; bind policy good_categories “Shopping”; add responder policy p3 ‘HTTP.REQ.HOSTNAME.APPEND(HTTP.REQ.URL).URL_CATEGORIZE(0,0). CATEGORY .EQUALS_ANY(“good_categories”)
选择信誉分数等于 4 的搜索引擎 URL 请求的策略。 add responder policy p5 ‘CLIENT.SSL.DETECTED_DOMAIN.URL_CATEGORIZE(4,0). CATEGORY.EQ(“Search Engine”)

URL 分类策略操作

URL 筛选策略评估流量以识别属于特定类别的请求。下表列出了可以分配给 URL 筛选策略的操作。

策略操作 策略组 说明
ALLOW 响应程序 允许传入的请求访问目标 URL
REDIRECT 响应程序 将传入请求重定向到指定为目标的 URL。
DENY 响应程序 拒绝传入请求。
RESET 响应程序,视频优化 重置连接。
DROP 响应程序,视频优化 删除连接。

注意

对于加密流量,视频优化策略包括实现 URL 筛选操作的操作。

配置 URL 分类

要配置 URL 分类,首先启用 URL 筛选功能。然后,必须为 HTTP 和 HTTPS 流量配置缓存内存限制、分类策略和虚拟服务器。使用 CLI 配置 URL 分类。

要在 Citrix ADC 设备上使用 CLI 配置 URL 分类,请执行以下操作:

  • 设置 URL 分类。
    • 启用 URL 过滤功能。
    • 配置共享内存以限制缓存内存。
    • 配置 URL 分类参数。
  • 配置 HTTP 流量的 URL 分类。
    • 添加 URL 分类操作。
    • 添加 URL 分类策略。
    • 为 HTTP 流量添加负载平衡虚拟服务器。
    • 将 URL 分类策略绑定到负载平衡虚拟服务器。
  • 配置 HTTPS 流量的 URL 分类。
    • 添加 URL 分类策略。
    • 添加 SSL 桥负载平衡虚拟服务器。
    • 将 URL 分类策略绑定到负载平衡虚拟服务器。

设置 URL 分类

要设置该功能,您必须启用 URL 分类功能,配置筛选参数并设置共享内存限制。

启用 URL 过滤功能

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

enable ns feature URLFiltering VideoOptimization Responder IC SSL AppFlow

配置共享内存限制

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

set cache parameter [-memLimit <megaBytes>]

其中 MemLimit 是缓存的内存限制。

示例:

set cache parameter -memLimit 100

配置 URL 分类参数

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

set urlfiltering parameter [-HoursBetweenDBUpdates <positive_integer>] [-TimeOfDayToUpdateDB <HH:MM>]

* 示例:

set urlfiltering parameter -HoursBetweenDBUpdates 3 -TimeOfDayToUpdateDB 03:00

配置 HTTP 流量的 URL 分类

要为 HTTP 流量配置 URL 分类功能,必须配置负载平衡虚拟服务器、添加 URL 分类策略并将策略绑定到虚拟服务器。通过这样做,虚拟服务器会接收 HTTP 流量,并根据策略评估,系统会分配筛选操作。

为 HTTP 流量添加 URL 分类操作

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

add responder action <name> <type> (<target> | <htmlpage>) [-comment <string>] [-responseStatusCode <positive_integer>] [-reasonPhrase <string>]

示例:

add responder action act_url_categorize respondwith "\"HTTP/1.1 200 OK\r\n\r\n\" + HTTP.REQ.HOSTNAME.APPEND(HTTP.REQ.URL).URL_CATEGORIZE(0,0).CATEGORY + \"\n\""

为 HTTP 流量添加 URL 分类策略

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

add responder policy <name> <rule> <action> [<undefAction>] [-comment <string>] [-logAction <string>] [-appflowAction <string>]

示例:

add responder policy pol_url_categorize_http "HTTP.REQ.HOSTNAME.APPEND(HTTP.REQ.URL).URL_CATEGORIZE(0,0).GROUP.EQ(\"Adult\") || HTTP.REQ.HOSTNAME.APPEND(HTTP.REQ.URL).URL_CATEGORIZE(0,0).GROUP.EQ(\"Gambling\")" RESET

添加 HTTP 负载平衡虚拟服务器

如果尚未配置 HTTP 流量的虚拟服务器,请在命令提示符下键入:

add lb vserver <name> [-td <positive_integer>] <serviceType> [-clt Timeout <secs>]

示例:

add lb vserver vsrv-HTTP HTTP * 80 -persistenceType NONE -cltTimeout 120

将 URL 分类策略与负载平衡虚拟服务器绑定

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

bind lb vserver <name> -policyName <string> [-priority <positive_integer>]

示例:

bind lb vserver vsrv-HTTP -policyName pol_url_categorize_http -priority 10 -gotoPriorityExpression END -type REQUEST

为 HTTPS 流量配置 URL 分类

要为 HTTPS 流量配置 URL 分类功能,必须配置 SSL 桥加载平衡虚拟服务器、添加 URL 分类策略并将策略绑定到 SSL 桥虚拟服务器。通过这样做,服务器会接收 HTTPS 流量,并根据策略评估,系统会分配筛选操作。

添加 HTTPS 流量的 URL 分类策略

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

add videooptimization detectionpolicy <name> -rule <expression> -action <string> [-undefAction <string>] [-comment <string>] [-logAction <string>]

示例:

add videooptimization detectionpolicy pol_url_categorize_https_block_adult –rule "CLIENT.SSL.DETECTED_DOMAIN.URL_CATEGORIZE(0,0).CATEGORY.EQ("Adult")' –action RESET

添加 SSL 桥负载平衡虚拟服务器

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

add lb vserver <name> [-td <positive_integer>] <serviceType> [-cltT imeout <secs>]

示例:

add lb vserver vsrv-HTTPS SSL_BRIDGE * 443 -persistenceType NONE -cltTimeout 180

将分类策略与 SSL 桥虚拟服务器绑定

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

bind lb vserver <name> -policyName <string> [-priority <positive_integer>]

示例:

bind lb vserver vsrv-HTTPS -policyName pol_url_categorize_https_block_adult -priority 20 -type REQUEST

使用 GUI 配置 URL 分类

GUI 使您能够:

  • 启用 URL 分类功能。
  • 添加 HTTP 流量的 URL 分类操作。
  • 添加 HTTP 流量的 URL 分类策略。
  • 添加 HTTPS 流量的 URL 分类策略。
  • 为 HTTP 流量添加负载平衡虚拟服务器。
  • 为 HTTPS 流量添加 SSL 桥接负载平衡虚拟服务器。
  • 将 URL 分类策略绑定到负载平衡虚拟服务器。
  • 将 URL 分类策略绑定到 SSL 桥负载平衡虚拟服务器。
  • 配置共享内存限制。
  • 配置 URL 分类参数。

启用 URL 分类

  1. 在导航窗格中,展开 系统 ,然后单击 设置
  2. 置”页上,单击配置高级功能链接。
  3. 配置高级功能页上,选中URL 筛 选”复选框。
  4. 单击确定关闭

添加 URL 分类操作

  1. 在导航窗格中,展开 AppExpert > 响应程序 > 操作
  2. 在详细信息窗格中,单击 Add(添加)。
  3. 创建响应程序操 作”页面上,设置以下参数。
    1. 名称。URL 分类策略操作的名称。
    2. 类型。选择一个操作类型。
    3. 表达式。使用表达式编辑器创建策略表达式。
    4. 评论。策略操作的简短描述。
  4. 点击 创建关闭

为 HTTP 流量添加 URL 分类策略

  1. 在导航窗格中,展开 AppExpert > 响应程序 > 策略
  2. 在详细信息窗格上,单击 添加
  3. 创建响应程序策略页面上,设置以下参数。
    1. 名称。URL 分类策略操作的名称。
    2. 操作。选择您希望与策略关联的 URL 分类操作。
    3. 日志操作。选择日志操作。
    4. AppFlow。选择一个 AppFlow 操作。
    5. 表达式。使用表达式编辑器创建策略表达式。
    6. 评论。有关策略操作的简短描述。
  4. 点击 创建关闭

添加 HTTPS 流量的分类策略

  1. 登录到 Citrix ADC 设备,然后导航到配置 > 优化 > 视频 优化 > 检测
  2. 检测页面上,单击视频优化检测策略链接。
  3. 在“视频优化检测策略”页上,单击添加
  4. 创建视频优化检测策略页面上,设置以下参数。
    1. 名称。优化策略的名称
    2. 表达式。使用自定义表达式配置策略。
    3. 操作。与策略关联的优化操作以处理传入视频流量。
    4. UNDEF 操作。如果传入请求与优化策略不匹配,则未定义事件。
    5. 评论。有关策略的简短描述。
    6. 日志操作。选择一个审核日志操作,该操作指定要对日志消息执行的操作。
  5. 点击 创建关闭

为 HTTP 流量添加负载平衡虚拟服务器

  1. 导航到流量管理 > 负载平衡 > 虚拟服务器页面。
  2. 在详细信息窗格中,单击 Add(添加)。
  3. 负载平衡虚拟服务器页面上设置以下参数:
    1. 名称。负载平衡虚拟服务器的名称。
    2. 协议。选择协议类型作为 HTTP。
    3. IP 地址类型。IPv4 或 IPv6。
    4. IP 地址。IPv4 或 IPv6,分配给虚拟服务器的 VIP 地址。
    5. Port(端口)。虚拟服务器的端口号。
  4. 击“确定继续配置其他可选参数。
  5. 点击 创建关闭

添加 SSL 桥负载平衡虚拟服务器

  1. 导航到流量管理 > 负载平衡 > 虚拟服务器页面。
  2. 在详细信息窗格上,单击 添加
  3. 负载平衡虚拟服务器页面上,设置以下参数:
    1. 名称。负载平衡虚拟服务器的名称。
    2. 协议。选择协议类型作为 SSL 桥。
    3. IP 地址类型。IP 可寻址类型。
    4. IP 地址。分配给虚拟服务器的 IP 4 或 IP6 IP 地址。
    5. Port(端口)。虚拟服务器的端口号。
  4. 选择确定”以继续配置其他可选参数。
  5. 单击 创建 ,然后 关闭

将 URL 分类策略绑定到 HTTP 负载平衡虚拟服务器

  1. 导航到 流量管理 > 负载平衡 > 虚拟服务器 页面。
  2. 在详细信息窗格中,选择负载平衡虚拟服务器,然后单击编辑
  3. 高级设置部分中,单击策略
  4. 策略部分中,单击+图标以访问策略滑块。
  5. 设置以下参数。
    1. 选择“策略”。从下拉列表中选择 URL 分类策略。
    2. 选择“类型”。选择策略类型作为“请求”。
  6. 单击继续
  7. 从列表中选择 URL 分类策略,然后单击关闭

将分类策略绑定到 SSL 桥负载平衡虚拟服务器

  1. 导航到 流量管理 > 负载平衡 > 虚拟服务器 屏幕。
  2. 在详细信息窗格中,选择 SSL 桥负载平衡虚拟服务器,然后单击 编辑
  3. 高级设置部分中,单击策略
  4. 策略部分中,单击+图标以访问策略滑块。
  5. 策略部分中,设置以下参数。
    1. 选择“策略”。从下拉列表中选择视频检测策略。
    2. 选择“类型”。选择策略类型作为“请求”。
  6. 单击继续
  7. 从列表中选择视频检测策略,然后单击关闭

配置共享内存限制

  1. 登录到设备并导航到优化 > 集成缓存
  2. 在详细信息窗格中,单击 更改缓存设置 链接。
  3. 缓存全局设置”页面上,设置以下参数。
    1. 内存使用限制 (MB)。
    2. 活动内存使用限制
    3. 通过头
    4. 要缓存的最大帖子正文长度
    5. 全球未定义结果操作
    6. 启用 HA 对象持久化
    7. 验证缓存对象是否持久
    8. 预取
  4. 单击确定关闭

配置 URL 分类参数

  1. 登录到设备并导航到安全
  2. 在详细信息窗格上,单击 更改 URL 筛选设置 链接。
  3. 配置 URL 过滤参 数”页面中,设置以下参数。
    1. 数据库更新之间的小时数。URL 过滤数据库更新之间的小时数。最小值:0,最大值:720。
    2. 更新数据库的一天时间。URL 过滤一天中的时间以更新数据库。
  4. 单击确定关闭。

配置审核日志消息

当 Citrix ADC 设备收到传入 URL 时,如果响应程序策略具有 URL 筛选表达式,则审核日志功能将收集分类信息,并将其作为日志消息显示到任何已配置的目标审核日志服务器。将记录信息。

  • 源 IP 地址(发出请求的客户端的 IP 地址)。
  • 目标 IP 地址(请求服务器的 IP 地址)。
  • 请求的包含架构、主机和域名的 URL (http://www.example.com)。
  • URL 过滤框架返回的 URL 类别。
  • URL 筛选框架返回的 URL 类别组。
  • URL 筛选框架返回的 URL 信誉号。
  • 由 URL 分类策略执行的审核日志操作。

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

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

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

使用 SYSLOG 消息传递存储失败错误

在 URL 筛选过程的任何阶段,如果出现系统级故障,Citrix ADC 设备将使用审核日志机制将日志存储在 ns.log 文件中。错误以 SYSLOG 格式存储为文本消息,以便管理员稍后可以按事件发生的时间顺序查看错误。这些日志也会发送到外部 SYSLOG 服务器进行存档。有关详细信息,请参阅文章 CTX229399

例如,如果初始化 URL 筛选 SDK 时发生故障,错误消息将以以以下消息格式存储。

Oct 3 15:43:40 <local0.err> ns URLFiltering[1349]: Error initializing NetStar SDK (SDK error=-1). (status=1).

Citrix ADC 设备将错误消息存储在四个不同的故障类别中:

  • 下载失败。如果您尝试下载分类数据库时发生错误。
  • 集成失败。如果将更新集成到现有分类数据库中时发生错误。
  • 初始化失败。如果初始化 URL 分类功能、设置分类参数或结束分类服务时发生错误。
  • 检索失败。如果设备检索请求的分类详细信息时发生错误。

URL 信誉评分

“URL 分类”功能提供了基于策略的控制以限制列入黑名单的 URL。您可以根据 URL 类别、信誉分数或 URL 类别和信誉分数来控制对 Web 站点的访问。如果网络管理员监视了访问具有非常危险的 Web 站点的用户, 则他或她可以使用绑定到 URL 信誉分数的响应程序策略来阻止此类有风险的 Web 站点。

收到传入 URL 请求后,设备将从 URL 分类数据库中检索类别和信誉评分。根据数据库返回的信誉得分, 设备会为 Web 站点分配信誉等级。值的范围为 1 到 4,其中 4 为 riskiest 类型的 Web 站点,如下表所示。

URL 信誉评级 声誉评论
1 干净的网站。
2 未知网站。
3 潜在危险或附属于危险场所。
4 恶意网站。