URL 分类

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

例如,您可能会阻止对危险站点(例如已知受恶意软件感染的站点)的访问,并有选择地限制企业用户对成人内容或娱乐流媒体等内容的访问。还可以捕获用户的事务详细信息以及用于监视 Citrix ADM 服务器上的 Web 流量分析的出站流量详细信息。

Citrix ADC 从预配置的 NetSTAR 设备 nsv10.netstar-inc.com 上传或下载数据,默认情况下用作云分类请求的云主机。 incompasshybridpc.netstar-inc.com 设备使用其 NSIP 地址作为源 IP 地址,443 作为通信的目标端口。

URL 分类的工作原理

下图显示了 Citrix SWG URL 分类服务如何与商业 URL 分类数据库和云服务集成以实现频繁更新。

URL 分类流程图

组件的交互方式如下:

  1. 客户端发送 Internet 绑定的 URL 请求。

  2. Citrix SWG 代理根据从 URL 分类数据库中检索的类别详细信息(例如类别、类别组和站点信誉评分)对请求应用策略强制执行。如果数据库返回类别详细信息,则该过程将跳转到步骤 5。

  3. 如果数据库未找到分类详细信息,则请求将发送到由 URL 分类供应商维护的基于云的查找服务。但是,设备不等待响应,而是将 URL 标记为未分类并执行策略强制执行(跳转到步骤 5)。设备继续监视云查询反馈并更新缓存,以便将来的请求可以从云查找中受益。

  4. SWG 设备从基于云的服务接收 URL 类别详细信息(类别、类别组和信誉评分),并将其存储在分类数据库中。

  5. 策略允许 URL,请求将发送到源服务器。否则,设备会删除、重定向或使用自定义 HTML 页面进行响应。

  6. 源服务器将使用请求的数据响应 SWG 设备。

  7. 设备将响应发送到客户端。

用例:企业合规下的 Internet 使用情况

您可以使用 URL 筛选功能来检测和实施合规性策略,以阻止违反公司合规性的站点。这些站点可能是成人、流媒体、社交网络等站点,它们可能被视为非生产力或在企业网络中消耗过多的互联网带宽。阻止访问这些网站可以提高员工的生产力,降低带宽使用的运营成本,并降低网络消耗的开销。

必备条件

URL 分类功能仅在 Citrix SWG 平台具有可选订阅服务且具有适用于 Citrix Secure Web Gateway 的 URL 过滤功能和威胁情报的可选订阅服务时才能使用。订阅允许客户下载最新的 Web 站点威胁分类,然后在 Secure Web Gateway 上实施这些类别。该订阅适用于 Secure Web Gateway 的硬件设备和软件 (VPX) 版本。 在启用和配置此功能之前,必须安装以下许可证: CNS_WEBF_SSERVER_Retail.lic

CNS_XXXXX_SERVER_SWG_Retail.lic.

其中,XXXXX 是平台类型,例如:V25000

响应程序策略表达式

下表列出了可用于验证是否必须允许、重定向或阻止传入 URL 的不同策略表达式。

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

策略类型

  1. 为搜索引擎中的 URL 类别选择请求的策略 - add responder policy p1 ‘HTTP.REQ.HOSTNAME.APPEND(HTTP.REQ.URL).URL_CATEGORIZE(0,0). CATEGORY().EQ("Search Engine")
  2. 选择“成人”类别组中 URL 的请求的策略 - add responder policy p1 ‘HTTP.REQ.HOSTNAME.APPEND(HTTP.REQ.URL).URL_CATEGORIZE(0,0). CATEGORY_GROUP().EQ("Adult")’
  3. 选择信誉得分低于 4 的搜索引擎 URL 请求时使用的策略 - add responder policy p2 ‘HTTP.REQ.HOSTNAME.APPEND (HTTP.REQ.URL).URL_CATEGORIZE(4,0).HAS_CATEGORY("Search Engine")
  4. 用于选择请求搜索引擎和购物 URL 的策略 - add responder policy p3 ‘HTTP.REQ.HOSTNAME.APPEND(HTTP.REQ.URL).URL_CATEGORIZE(0,0).CATEGORY().EQ ("good_categories")
  5. 为信誉分数等于或高于 4 的搜索引擎 URL 选择请求数的策略 - add responder policy p5 ‘CLIENT.SSL.DETECTED_DOMAIN.URL_CATEGORIZE(4,0). CATEGORY().EQ("Search Engines")
  6. 为搜索引擎类别中的 URL 选择请求并将其与 URL 集进行比较的策略 - ‘HTTP.REQ.HOSTNAME.APPEND(HTTP.REQ.URL).URL_CATEGORIZE(0,0). CATEGORY().EQ("Search Engine") && HTTP.REQ.HOSTNAME.APPEND(HTTP.REQ.URL).URLSET_MATCHES_ANY("u1")’

响应程序策略类型

URL 分类功能中使用两种类型的策略,每种策略类型将在下面进行说明:

策略类型 说明
URL 类别 对 Web 流量进行分类,并根据评估结果阻止、允许或重定向流量。
URL 信誉分数 确定 Web 站点的信誉分数,并允许您根据管理员设置的信誉分数阈值级别控制访问。

配置 URL 分类

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

  1. 启用 URL 筛选。
  2. 为 Web 流量配置代理服务器。
  3. 在显式模式下为 Web 流量配置 SSL 拦截。
  4. 配置共享内存以限制缓存内存。
  5. 配置 URL 分类参数。
  6. 使用 Citrix SWG 向导配置 URL 分类。
  7. 使用 SWG 向导配置 URL 分类参数。
  8. 配置种子数据库路径和云服务器名称

步骤 1:启用 URL 筛选

要启用 URL 分类,请启用 URL 筛选功能并启用 URL 分类模式。

使用 Citrix SWG 启用 URL 分类:CLI

在命令提示符下,键入:

enable ns feature URLFiltering

disable ns feature URLFiltering

步骤 2:在显式模式下为 Web 流量配置代理服务器

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

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

使用 Citrix SWG CLI 添加代理服务器

在命令提示符下,键入:

add cs vserver <name> [-td <positive_integer>] <serviceType>  [-cltTimeout <secs>]
<!--NeedCopy-->

示例:

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

使用 Citrix SWG CLI 将 SSL 策略绑定到代理虚拟服务器

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

步骤 3:为 HTTPS 流量配置 SSL 拦截

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

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

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

在命令提示符下,键入:

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

使用 Citrix SWG CLI 配置默认 SSL 配置文件

在命令提示符下,键入:

set ssl profile <name> -denySSLReneg <denySSLReneg> -sslInterception (ENABLED | DISABLED) -ssliMaxSessPerServer positive_integer>
<!--NeedCopy-->

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

在命令提示符下,键入:

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

步骤 4:配置共享内存以限制缓存内存

使用 Citrix SWG CLI 配置共享内存以限制缓存内存

在命令提示符下,键入:

set cache parameter [-memLimit <megaBytes>]
<!--NeedCopy-->

其中,为缓存配置的内存限制设置为 10 MB。

步骤 5:配置 URL 分类参数

使用 Citrix SWG CLI 配置 URL 分类参数

在命令提示符下,键入:

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

示例

Set urlfiltering parameter –urlfilt_hours_betweenDB_updates 20
<!--NeedCopy-->

步骤 6:使用 Citrix SWG 向导配置 URL 分类

使用 Citrix SWG GUI 配置 URL 分类

  1. 登录 Citrix SWG 设备并导航到 Secure Web Gateway 页面。
  2. 在详细信息窗格中,执行以下操作之一:
    1. 单击 安全 Web 网关向导 以创建新配置。
    2. 选择现有配置,然后单击 编辑
  3. 在“URL 过滤”部分中,单击“编辑”。
  4. 选中“URL 分类”复选框以启用该功能。
  5. 选择 URL 分类 策略,然后单击 绑定
  6. 点击 继续,然后点击 完成

有关 URL 分类策略的详细信息, 请参阅如何创建 URL 分类策略

步骤 7:使用 SWG 向导配置 URL 分类参数

使用 Citrix SWG GUI 配置 URL 分类参数

  1. 登录 Citrix SWG 设备并导航到受保护的 Web Gateway > URL 过滤
  2. 在“URL 筛选”页面中,单击“更改 URL 筛选设置”链接。
  3. 在“配置 URL 筛选参 数”页面中,指定以下参数。
    1. 数据库更新之间的小时数。URL 过滤数据库更新之间的小时数。最小值:0,最大值:720。
    2. 更新数据库的一天时间。URL 过滤一天中的时间以更新数据库。
    3. 云主机。云服务器的 URL 路径。
    4. 种子数据库路径。种子数据库查找服务器的 URL 路径。
  4. 单击确定关闭

示例配置:

enable ns feature LB CS SSL IC RESPONDER AppFlow URLFiltering

enable ns mode FR L3 Edge USNIP PMTUD

set ssl profile ns_default_ssl_profile_frontend -denySSLReneg NONSECURE -sslInterception ENABLED -ssliMaxSessPerServer 100

add ssl certKey swg_ca_cert -cert ns_swg_ca.crt -key ns_swg_ca.key

set cache parameter -memLimit 100

add cs vserver starcs PROXY 10.102.107.121 80 -cltTimeout 180

add responder action act1 respondwith ""HTTP/1.1 200 OK\r\n\r\n" + http.req.url.url_categorize(0,0).reputation + "\n""

add responder policy p1 "HTTP.REQ.URL.URL_CATEGORIZE(0,0).CATEGORY.eq("Shopping/Retail") || HTTP.REQ.URL.URL_CATEGORIZE(0,0).CATEGORY.eq("Search Engines & Portals

")" act1

bind cs vserver starcs_PROXY -policyName p1 -priority 10 -gotoPriorityExpression END -type REQUEST

add dns nameServer 10.140.50.5

set ssl parameter -denySSLReneg NONSECURE -defaultProfile ENABLED -sigDigestType RSA-MD5 RSA-SHA1 RSA-SHA224 RSA-SHA256 RSA-SHA384 RSA-SHA512 -ssliErrorCache ENABLED

-ssliMaxErrorCacheMem 100000000

add ssl policy pol1 -rule "client.ssl.origin_server_cert.subject.  URL_CATEGORIZE(0,0).CATEGORY.eq("Search Engines & Portals")"" -action INTERCEPT

add ssl policy pol3 -rule "client.ssl.origin_server_cert.subject.ne("citrix")" -action INTERCEPT

add ssl policy swg_pol -rule "client.ssl.client_hello.SNI.URL_CATEGORIZE(0,0).CATEGORY.ne("Uncategorized")" -action INTERCEPT

set urlfiltering parameter -HoursBetweenDBUpdates 3 -TimeOfDayToUpdateDB 03:00
<!--NeedCopy-->

配置种子数据库路径和云服务器名称

现在,您可以配置种子数据库路径和云查找服务器名称,以便手动设置云查找服务器名称和种子数据库路径。要执行此操作,请将两个新参数 CloudHost 和 SeedDBPath 添加到 URL 过滤参数命令中。

在命令提示符下,键入: set urlfiltering parameter [-HoursBetweenDBUpdates <positive_integer>] [-TimeOfDayToUpdateDB <HH:MM>] [-LocalDatabaseThreads <positive_integer>] [-CloudHost <string>] [-SeedDBPath <string>]

示例 set urlfiltering parameter -HoursBetweenDBUpdates 3 -TimeOfDayToUpdateDB 03:00 –CloudHost localhost –SeedDBPath /mypath

Citrix ADC 设备之间的通信 NetSTAR 可能需要域名服务器。您可以使用设备的简单控制台或 telnet 连接进行测试。

示例:

root@ns# telnet nsv10.netstar-inc.com 443
Trying 1.1.1.1...
Connected to nsv10.netstar-inc.com.
Escape character is '^]'.

root@ns# telnet incompasshybridpc.netstar-inc.com 443
Trying 10.10.10.10...
Connected to incompasshybridpc.netstar-inc.com.
Escape character is '^]'.
<!--NeedCopy-->

配置审核日志消息

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

  • 源 IP 地址(发出请求的客户端的 IP 地址)。
  • 目标 IP 地址(请求服务器的 IP 地址)。
  • 请求的 URL 包含架构、主机和域名 (http://www.example.com
  • 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 并从 NetStar 第三方 URL 分类数据库中检索分类结果(例如类别、组和信誉评分)。

输入 URL 时,URL 过滤功能将检索并在命令界面上显示分类结果。输入更多 URL 时,设备将从列表中排除较旧的 URL,并显示最新的三个 URL 的结果。

要显示最多三个 URL 的 URL 的 URL 类别的 URL,请完成以下步骤:

  1. 添加 URL 分类 URL
  2. 显示最多三个 URL 的 URL 分类详细信息
  3. 清除 URL 分类数据。

添加 URL 过滤分类 URL

要添加 URL 并检索其分类详细信息,请执行以下操作: 在命令提示符处键入:

add urlfiltering categorization –Url <string>

示例:

add urlfiltering categorization –Url www.facebook.com

显示最多三个 URL 的 URL 分类详细信息

在命令提示符下,键入:

> show urlfiltering categorization

示例:

show urlfiltering categorization
Url: http://www.facebook.com    Categorization: Facebook,Social Networking,1
Url: http://www.google.com      Categorization: Search Engines & Portals,Search,1
Url: http://www.citrix.com      Categorization: Computing & Internet,Computing & Internet,1
Done
<!--NeedCopy-->

示例配置:

add urlfiltering categorization -url www.facebook.com
Done
show urlfiltering categorization
Url: http://www.facebook.com    Categorization: Facebook,Social Networking,1
Done

add urlfiltering categorization -url www.google.com
Done
show urlfiltering categorization
Url: http://www.facebook.com    Categorization: Facebook,Social Networking,1
Url: http://www.google.com      Categorization: Search Engines & Portals,Search,1
Done

add urlfiltering categorization -url www.citrix.com
Done
show urlfiltering categorization
Url: http://www.facebook.com    Categorization: Facebook,Social Networking,1
Url: http://www.google.com      Categorization: Search Engines & Portals,Search,1
Url: http://www.citrix.com      Categorization: Computing & Internet,Computing & Internet,1
Done

add urlfiltering categorization -url www.in.gr
Done
show urlfiltering categorization
Url: http://www.google.com      Categorization: Search Engines & Portals,Search,1
Url: http://www.citrix.com      Categorization: Computing & Internet,Computing & Internet,1
Url: http://www.in.gr   Categorization: Search Engines & Portals,Search,1 Done
<!--NeedCopy-->

清除 URL 分类结果

在命令提示符下,键入:

clear urlfiltering categorization
done

show urlfiltering categorization
done
<!--NeedCopy-->

通过 GUI 界面显示 URL 分类结果

  1. 在“导航”窗格中, 展开 Secure Web Gateway > URL 过滤。
  2. 在详细信息窗格中,单击工具部分中的 URL 过滤搜索分类链接。
  3. URL 过滤搜索分类页面上,输入 URL 请求,然后单击搜索

    显示 URL 分类搜索结果

  4. 设备将显示请求的 URL 和前两个 URL 请求的类别结果。