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 分类数据库和云服务集成以实现频繁更新。
组件的交互方式如下:
-
客户端发送 Internet 绑定的 URL 请求。
-
Citrix SWG 代理根据从 URL 分类数据库中检索的类别详细信息(例如类别、类别组和站点信誉评分)对请求应用策略强制执行。如果数据库返回类别详细信息,则该过程将跳转到步骤 5。
-
如果数据库未找到分类详细信息,则请求将发送到由 URL 分类供应商维护的基于云的查找服务。但是,设备不等待响应,而是将 URL 标记为未分类并执行策略强制执行(跳转到步骤 5)。设备继续监视云查询反馈并更新缓存,以便将来的请求可以从云查找中受益。
-
SWG 设备从基于云的服务接收 URL 类别详细信息(类别、类别组和信誉评分),并将其存储在分类数据库中。
-
策略允许 URL,请求将发送到源服务器。否则,设备会删除、重定向或使用自定义 HTML 页面进行响应。
-
源服务器将使用请求的数据响应 SWG 设备。
-
设备将响应发送到客户端。
用例:企业合规下的 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 的不同策略表达式。
-
<text>. URL_CATEGORIZE (<min_reputation>, <max_reputation>)
-返回URL_CATEGORY
对象。如果大<min_reputation>
于 0,则返回的对象不包含信誉低于的类别<min_reputation>
。如果大<max_reputation>
于 0,则返回的对象不包含信誉高于的类别<max_reputation>
。如果类别未能及时解析,则返回 undef 值。 -
<url_category>. CATEGORY()
-返回此对象的类别字符串。如果 URL 没有类别,或者 URL 格式不正确,则返回值为“Unknown”(未知)。 -
<url_category>. CATEGORY_GROUP()
-返回标识对象类别组的字符串。这是一个较高级别的类别分组,在需要较少详细的 URL 类别信息的操作中非常有用。如果 URL 没有类别,或者 URL 格式不正确,则返回值为“Unknown”(未知)。 -
<url_category>. REPUTATION()
-以 0 到 5 的数字形式返回信誉评分,其中 5 表示风险最高的信誉。如果分类为 “未知”,则信誉值为 1。
策略类型:
- 为搜索引擎中的 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). CATEGORY_GROUP().EQ("Adult")’
- 选择信誉得分低于 4 的搜索引擎 URL 请求时使用的策略 -
add responder policy p2 ‘HTTP.REQ.HOSTNAME.APPEND (HTTP.REQ.URL).URL_CATEGORIZE(4,0).HAS_CATEGORY("Search Engine")
- 用于选择请求搜索引擎和购物 URL 的策略 -
add responder policy p3 ‘HTTP.REQ.HOSTNAME.APPEND(HTTP.REQ.URL).URL_CATEGORIZE(0,0).CATEGORY().EQ ("good_categories")
- 为信誉分数等于或高于 4 的搜索引擎 URL 选择请求数的策略 -
add responder policy p5 ‘CLIENT.SSL.DETECTED_DOMAIN.URL_CATEGORIZE(4,0). CATEGORY().EQ("Search Engines")
- 为搜索引擎类别中的 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 分类,请执行以下操作:
- 启用 URL 筛选。
- 为 Web 流量配置代理服务器。
- 在显式模式下为 Web 流量配置 SSL 拦截。
- 配置共享内存以限制缓存内存。
- 配置 URL 分类参数。
- 使用 Citrix SWG 向导配置 URL 分类。
- 使用 SWG 向导配置 URL 分类参数。
- 配置种子数据库路径和云服务器名称
步骤 1:启用 URL 筛选
要启用 URL 分类,请启用 URL 筛选功能并启用 URL 分类模式。
使用 Citrix SWG 启用 URL 分类:CLI
在命令提示符下,键入:
enable ns feature URLFiltering
disable ns feature URLFiltering
步骤 2:在显式模式下为 Web 流量配置代理服务器
Citrix SWG 设备支持透明代理虚拟服务器和显式代理虚拟服务器。要在显式模式下为 SSL 流量配置代理虚拟服务器,请执行以下操作:
- 添加代理服务器。
- 将 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 拦截,请执行以下操作:
- 将 CA 证书密钥对绑定到代理虚拟服务器。
- 使用 SSL 参数配置默认 SSL 配置文件。
- 将前端 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 分类
- 登录 Citrix SWG 设备并导航到 Secure Web Gateway 页面。
- 在详细信息窗格中,执行以下操作之一:
- 单击 安全 Web 网关向导 以创建新配置。
- 选择现有配置,然后单击 编辑。
- 在“URL 过滤”部分中,单击“编辑”。
- 选中“URL 分类”复选框以启用该功能。
- 选择 URL 分类 策略,然后单击 绑定 。
- 点击 继续,然后点击 完成。
有关 URL 分类策略的详细信息, 请参阅如何创建 URL 分类策略。
步骤 7:使用 SWG 向导配置 URL 分类参数
使用 Citrix SWG GUI 配置 URL 分类参数
- 登录 Citrix SWG 设备并导航到受保护的 Web Gateway > URL 过滤。
- 在“URL 筛选”页面中,单击“更改 URL 筛选设置”链接。
- 在“配置 URL 筛选参 数”页面中,指定以下参数。
- 数据库更新之间的小时数。URL 过滤数据库更新之间的小时数。最小值:0,最大值:720。
- 更新数据库的一天时间。URL 过滤一天中的时间以更新数据库。
- 云主机。云服务器的 URL 路径。
- 种子数据库路径。种子数据库查找服务器的 URL 路径。
- 单击确定和关闭。
示例配置:
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 列表功能的审核日志记录,您必须完成以下任务:
- 启用审核日志。
- 创建审核日志消息操作。
- 使用审核日志消息操作设置 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,请完成以下步骤:
- 添加 URL 分类 URL
- 显示最多三个 URL 的 URL 分类详细信息
- 清除 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 分类结果
- 在“导航”窗格中, 展开 Secure Web Gateway > URL 过滤。
- 在详细信息窗格中,单击工具部分中的 URL 过滤搜索分类链接。
-
在 URL 过滤搜索分类页面上,输入 URL 请求,然后单击搜索。
- 设备将显示请求的 URL 和前两个 URL 请求的类别结果。