URL 分类
URL 分类会限制用户对特定 Web 站点和 Web 站点类别的访问权限。作为与 NetSTAR
合作的订阅服务,该功能使企业客户能够使用商业分类数据库筛选 Web 流量。NetSTAR
数据库中有大量(数十亿)的 URL 分为不同类别,例如社交网络、赌博、成人内容、新媒体和购物。除了分类之外,每个 URL 都有一个基于站点的历史风险概况保持最新的信誉评分。我们可以根据类别、类别组(例如恐怖主义、非法药物)或站点信誉评分配置高级策略,使用 NetSTAR
数据过滤流量。
例如,您可能会阻止对危险站点(如感染恶意软件的站点)的访问,或者有选择地限制对成人内容或娱乐流媒体的访问。
URL 分类的工作原理
下图显示了 Citrix ADC URL 筛选服务如何与商业 URL 分类数据库和云服务集成,以便频繁更新。
组件的交互方式如下:
- 客户端发送 Internet 绑定的 URL 请求。
- Citrix ADC 策略尝试根据从 URL 分类数据库检索的分类详细信息(如类别、类别组和站点信誉评分)来评估请求。如果数据库返回类别详细信息,则该过程将跳转到步骤 5。
- 如果数据库不返回分类详细信息,则请求将发送到由 URL 分类供应商维护的基于云的查找服务。但是,设备不会等待响应。相反,它将 URL 标记为未分类并跳转到步骤 5。但是,它会继续监视云查询反馈,并使用它更新缓存,以便将来的请求可以从云查找中受益。
- Citrix ADC 设备从基于云的服务接收 URL 类别详细信息(类别、类别组和信誉评分),并将其存储在云缓存中。
- 如果策略允许 URL,请求将发送到源服务器。否则,设备会删除或重定向请求,或者使用自定义 HTML 页面进行响应。
- 源服务器以请求的数据响应 Citrix ADC 设备。
- 设备将响应发送到客户端。
您可以使用 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> 和 |
|
返回此对象的类别字符串。如果 URL 没有类别,或者 URL 格式不正确,则返回的值为“未分类”。 |
|
返回标识对象的类别组的字符串。这是一个较高级别的类别分组,在需要较少详细的 URL 类别信息的操作中非常有用。如果 URL 没有类别,或者 URL 格式不正确,则返回的值为“未分类”。 |
|
以 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>]
<!--NeedCopy-->
其中 MemLimit 是缓存的内存限制。
示例:
set cache parameter -memLimit 10
配置 URL 分类参数
在命令提示符下,键入:
set urlfiltering parameter [-HoursBetweenDBUpdates <positive_integer>] [-TimeOfDayToUpdateDB <HH:MM>]
<!--NeedCopy-->
* 示例:
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 分类
- 在导航窗格中,展开 系统 ,然后单击 设置 。
- 在“设 置”页上,单击“配置高级功能”链接。
- 在“配置高级功能”页上,选中“URL 筛 选”复选框。
- 单击确定和关闭。
添加 URL 分类操作
- 在导航窗格中,展开 AppExpert > 响应程序 > 操作。
- 在详细信息窗格中,单击 Add(添加)。
- 在“创建响应程序操 作”页面上,设置以下参数。
- 名称。URL 分类策略操作的名称。
- 类型。选择一个操作类型。
- 表达式。使用表达式编辑器创建策略表达式。
- 评论。策略操作的简短描述。
- 单击创建和关闭。
为 HTTP 流量添加 URL 分类策略
- 在导航窗格中,展开 AppExpert > 响应程序 > 策略。
- 在详细信息窗格上,单击 添加。
- 在“创建响应程序策略”页面上,设置以下参数。
- 名称。URL 分类策略操作的名称。
- 操作。选择您希望与策略关联的 URL 分类操作。
- 日志操作。选择日志操作。
- AppFlow。选择一个 AppFlow 操作。
- 表达式。使用表达式编辑器创建策略表达式。
- 评论。有关策略操作的简短描述。
- 单击创建和关闭。
添加 HTTPS 流量的分类策略
- 登录到 Citrix ADC 设备,然后导航到“配置”>“优化”>“视频 优化”>“检测”。
- 在“检测”页面上,单击“视频优化检测策略”链接。
- 在视频优化检测策略页面上,单击 添加。
- 在“创建视频优化检测策略”页面上,设置以下参数。
- 名称。优化策略的名称
- 表达式。使用自定义表达式配置策略。
- 操作。与策略关联的优化操作以处理传入视频流量。
- UNDEF 操作。如果传入请求与优化策略不匹配,则未定义事件。
- 评论。有关策略的简短描述。
- 日志操作。选择一个审核日志操作,该操作指定要对日志消息执行的操作。
- 单击创建和关闭。
为 HTTP 流量添加负载平衡虚拟服务器
- 导航到“流量管理”>“负载平衡”>“虚拟服务器”页面。
- 在详细信息窗格中,单击 Add(添加)。
- 在“负载平衡虚拟服务器”页面上设置以下参数:
- 名称。负载平衡虚拟服务器的名称。
- 协议。选择协议类型作为 HTTP。
- IP 地址类型。IPv4 或 IPv6。
- IP 地址。IPv4 或 IPv6,分配给虚拟服务器的 VIP 地址。
- Port(端口)。虚拟服务器的端口号。
- 单 击“确定”继续配置其他可选参数。
- 单击创建和关闭。
添加 SSL 桥负载平衡虚拟服务器
- 导航到“流量管理”>“负载平衡”>“虚拟服务器”页面。
- 在详细信息窗格上,单击 添加。
- 在“负载平衡虚拟服务器”页面上,设置以下参数:
- 名称。负载平衡虚拟服务器的名称。
- 协议。选择协议类型作为 SSL 桥。
- IP 地址类型。IP 可寻址类型。
- IP 地址。分配给虚拟服务器的 IP 4 或 IP6 IP 地址。
- Port(端口)。虚拟服务器的端口号。
- 选择“确定”以继续配置其他可选参数。
- 单击 创建 ,然后 关闭 。
将 URL 分类策略绑定到 HTTP 负载平衡虚拟服务器
- 导航到 流量管理 > 负载平衡 > 虚拟服务器 页面。
- 在详细信息窗格中,选择负载平衡虚拟服务器,然后单击“编辑”。
- 在“高级设置”部分中,单击“策略”。
- 在“策略”部分中,单击“+”图标以访问“策略”滑块。
- 设置以下参数。
- 选择策略。从下拉列表中选择 URL 分类策略。
- 选择“类型”。选择策略类型作为“请求”。
- 单击继续。
- 从列表中选择 URL 分类策略,然后单击“关闭”。
将分类策略绑定到 SSL 桥负载平衡虚拟服务器
- 导航到 流量管理 > 负载平衡 > 虚拟服务器 屏幕。
- 在详细信息窗格中,选择 SSL 桥负载平衡虚拟服务器,然后单击 编辑。
- 在“高级设置”部分中,单击“策略”。
- 在“策略”部分中,单击“+”图标以访问“策略”滑块。
- 在“策略”部分中,设置以下参数。
- 选择策略。从下拉列表中选择视频检测策略。
- 选择“类型”。选择策略类型作为“请求”。
- 单击继续。
- 从列表中选择视频检测策略,然后单击“关闭”。
配置共享内存限制
- 登录到设备并导航到“优化”>“集成缓存”。
- 在详细信息窗格中,单击 更改缓存设置 链接。
- 在“缓存全局设置”页面上,设置以下参数。
- 内存使用限制 (MB)。
- 活动内存使用限制。
- 通过头。
- 要缓存的最大帖子正文长度
- 全球未定义结果操作
- 启用 HA 对象持久化
- 验证缓存对象是否持久
- 预取
- 单击确定和关闭。
配置 URL 分类参数
- 登录到设备并导航到“安全”。
- 在详细信息窗格上,单击 更改 URL 筛选设置 链接。
- 在“配置 URL 过滤参 数”页面中,设置以下参数。
- 数据库更新之间的小时数。URL 过滤数据库更新之间的小时数。最小值:0,最大值:720。
- 更新数据库的一天时间。URL 过滤一天中的时间以更新数据库。
- 单击 确定然后关闭。
配置审核日志消息
当 Citrix ADC 设备收到传入 URL 时,如果响应程序策略具有 URL 筛选表达式,则审核日志功能将收集分类信息,并将其作为日志消息显示到任何已配置的目标审核日志服务器。将记录信息。
- 源 IP 地址(发出请求的客户端的 IP 地址)。
- 目标 IP 地址(请求服务器的 IP 地址)。
- 请求的包含架构、主机和域名的 URL (
http://www.example.com
)。 - URL 过滤框架返回的 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。您可以根据 URL 类别、信誉分数或 URL 类别和信誉分数来控制对 Web 站点的访问。如果网络管理员监视了访问具有非常危险的 Web 站点的用户, 则他或她可以使用绑定到 URL 信誉分数的响应程序策略来阻止此类有风险的 Web 站点。
收到传入 URL 请求后,设备将从 URL 分类数据库中检索类别和信誉评分。根据数据库返回的信誉得分, 设备会为 Web 站点分配信誉等级。值的范围为 1 到 4,其中 4 为 riskiest 类型的 Web 站点,如下表所示。
URL 信誉评级 | 声誉评论 |
---|---|
1 | 干净的网站。 |
2 | 未知网站。 |
3 | 潜在危险或附属于危险场所。 |
4 | 恶意网站。 |