URL 分类
URL 分类限制用户访问特定网站和网站类别。作为与 NetSTAR
合作的订阅服务,该功能使企业客户能够使用商业分类数据库过滤 Web 流量。NetSTAR
数据库有大量(数十亿)URL,分为不同的类别,例如社交网络、赌博、成人内容、新媒体和购物。除了分类之外,每个 URL 的声誉分数还会根据网站的历史风险状况保持最新。我们可以根据类别、类别组(例如恐怖主义、非法药物)或网站信誉分数配置高级策略,使用 NetSTAR
数据来过滤流量。
例如,您可以阻止访问危险站点,例如感染恶意软件的站点,或者有选择地限制对成人内容或娱乐流媒体的访问。
URL 分类的工作原理
下图显示了 NetScaler URL 过滤服务如何与商用 URL 分类数据库和云服务集成以进行频繁更新。
组件的交互方式如下:
- 客户端发送互联网绑定的 URL 请求。
- NetScaler 策略尝试根据从 URL 分类数据库检索到的分类详细信息(例如类别、类别组和站点信誉分数)来评估请求。如果数据库返回类别详细信息,则该过程将跳转到步骤 5。
- 如果数据库未返回分类详细信息,则请求将发送到由 URL 分类供应商维护的基于云的查询服务。但是,设备不会等待响应。相反,它会将 URL 标记为未分类并跳至步骤 5。但是,它会继续监视云查询反馈并使用它来更新缓存,以便将来的请求可以从云查询中受益。
- NetScaler 设备从基于云的服务接收 URL 类别详细信息(类别、类别组和信誉分数)并将其存储在云缓存中。
- 如果策略允许 URL,则请求将发送到原始服务器。否则,设备会删除或重定向请求,或使用自定义 HTML 页面进行响应。
- 原始服务器将请求的数据响应 NetScaler 设备。
- 设备将响应发送到客户端。
您可以使用 URL 过滤功能来检测违反政府发布的安全 Internet 使用规定的站点,并实施封锁这些网站的策略。托管成人内容、流媒体或社交网络的站点,这些网站被认定对儿童不安全或被禁止为非法。
必备条件
该功能可在购买基本的CBM许可证和CBM Premium许可证的电信平台上运行,对于其他NetScaler平台,该功能适用于购买CNS Premium许可证。
注意:除了基本 CBM 许可证和 CBM Premium 许可证外,设备还必须拥有 1 年或 3 年订阅服务的 URL 威胁情报许可证。在启用和配置该功能之前,必须安装以下许可证:
电信平台的许可支持:
- cbm_txxx_server_Retail.lic
- CBM_TPRE_SERVER_Retail.lic
- cns_webf_sserver_retail.lic
其中 XXX 是吞吐量,例如 NetScaler T1000。
对其他 NetScaler 平台的许可证支持:
- CNS_XXX_SERVER_PLT_Retail.lic
其中 XXX 是吞吐量。
URL 分类策略表达式
下表列出了用于识别传入 URL 的不同 URL 分类策略表达式并应用已配置的操作。
表达式 | 操作 |
---|---|
<text>. URL_CATEGORIZE (<min_reputation>, <max_reputation>) |
返回 URL_CATEGORY 对象。信誉分数是 1 到 4 之间的数字。要获取对象所有信誉分数,请使用 0.0 作为 <min reputation> 和 |
<url_category>。类别 | 返回此对象的类别字符串。如果 URL 没有类别,或者 URL 格式不正确,则返回值为“未分类”。 |
<url_category>。小组 | 返回标识对象类别组的字符串。这是一个较高级别的类别分组,在需要较少详细的 URL 类别信息的操作中非常有用。如果 URL 没有类别,或者 URL 格式不正确,则返回值为“未分类”。 |
<url_category>。声誉 | 以 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 分类。
要在 NetScaler 设备上使用 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-Bridge 负载平衡虚拟服务器
在命令提示符下,键入:
add lb vserver <name> [-td <positive_integer>] <serviceType> [-cltT imeout <secs>]
示例:
add lb vserver vsrv-HTTPS SSL_BRIDGE * 443 -persistenceType NONE -cltTimeout 180
将分类策略与 SSL-Bridge 虚拟服务器绑定
在命令提示符下,键入:
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-Bridge 负载平衡虚拟服务器。
- 配置共享内存限制。
- 配置 URL 分类参数。
启用 URL 分类
- 在导航窗格中,展开“系统”,然后单击“设置”。
- 在“设置”页面上,单击“配置高级功能”链接。
- 在“配置高级功能”页面上,选中 URL 过滤 复选框。
- 单击确定,然后关闭。
添加 URL 分类操作
- 在导航窗格中,展开AppExpert> Responder** > Action。**
- 在详细信息窗格中,单击“添加”。
- 在“创建响应程序操作”页面上,设置以下参数。
- 名称。URL 分类策略操作的名称。
- 类型。选择操作类型。
- 表达式。使用表达式编辑器创建策略表达式。
- 评论。对策略操作的简短描述。
- 单击创建和关闭。
为 HTTP 流量添加 URL 分类策略
- 在导航窗格中,展开 AppExpert > 响应程序 > 策略。
- 在详细信息窗格中,单击 添加。
- 在“创建响应者策略”页面上,设置以下参数。
- 名称。URL 分类策略操作的名称。
- 操作。选择您希望与策略关联的 URL 分类操作。
- 记录操作。选择日志操作。
- AppFlow。选择 AppFlow 操作。
- 表达式。使用表达式编辑器创建策略表达式。
- 评论。关于策略操作的简短描述。
- 单击创建和关闭。
为 HTTPS 流量添加分类策略
- 登录 NetScaler 设备并导航到配置 > 优化 > 视频优化>检测。
- 在“检测”页面上,单击“视频优化检测策略”链接。
- 在“视频优化检测策略”页面上,单击“添加”。
- 在 创建视频优化检测策略 页面上,设置以下参数。
- 名称。优化策略的名称
- 表达式。使用自定义表达式配置策略。
- 操作。与处理传入视频流量的策略相关联的优化操作。
- UNDEF 操作。未定义事件,如果传入的请求与优化策略不匹配。
- 评论。关于该策略的简短描述。
- 记录操作。选择审计日志操作,该操作指定要对日志消息执行的操作。
- 单击创建和关闭。
为 HTTP 流量添加负载平衡虚拟服务器
- 导航到 流量管理 > 负载平衡 > 虚拟服务器 页面。
- 在详细信息窗格中,单击“添加”。
- 在 负载平衡虚拟服务器 页面上,设置以下参数:
- 名称。负载平衡虚拟服务器的名称。
- 协议。选择协议类型作为 HTTP。
- IP 地址类型。IPv4 或 IPv6。
- IP 地址。IPv4 或 IPv6,分配给虚拟服务器的 VIP 地址。
- Port(端口)。虚拟服务器的端口号。
- 单 击“确定”继续配置其他可选参数。
- 单击创建和关闭。
添加 SSL-Bridge 负载平衡虚拟服务器
- 导航到 流量管理 > 负载平衡 > 虚拟服务器 页面。
- 在详细信息窗格中,单击 添加。
- 在 负载平衡虚拟服务器 页面上,设置以下参数:
- 名称。负载平衡虚拟服务器的名称。
- 协议。选择协议类型作为 SSL 桥接。
- IP 地址类型。IP 可寻址类型。
- IP 地址。分配给虚拟服务器的 IP 4 或 IP6 IP 地址。
- Port(端口)。虚拟服务器的端口号。
- 选择 OK 继续配置其他可选参数。
- 单击 创建 ,然后 关闭 。
将 URL 分类策略绑定到 HTTP 负载平衡虚拟服务器
- 导航到“流量管理”>“负载平衡”>“虚拟服务器”页面。
- 在详细信息窗格上,选择负载平衡虚拟服务器,然后单击“编辑”。
- 在“高级设置”部分中,单击“策略”。
- 在“策略”部分中,单击 + 图标以访问“策略”滑块。
- 设置以下参数。
- 选择“策略”。从下拉列表中选择 URL 分类策略。
- 选择“类型”。选择策略类型作为请求。
- 单击继续。
- 从列表中选择 URL 分类策略,然后单击“关闭”。
将分类策略绑定到 SSL-Bridge 负载平衡虚拟服务器
- 导航到“流量管理”>“负载平衡”>“虚拟服务器”屏幕。
- 在详细信息窗格中,选择 SSL 桥负载平衡虚拟服务器,然后单击 编辑。
- 在“高级设置”部分中,单击“策略”。
- 在“策略”部分中,单击“+”图标以访问 策略 滑块。
- 在“策略”部分中,设置以下参数。
- 选择“策略”。从下拉列表中选择视频检测策略。
- 选择“类型”。选择策略类型作为请求。
- 单击继续。
- 从列表中选择视频检测策略,然后单击 关闭。
配置共享内存限制
- 登录设备并导航到“优化”>“集成缓存”。
- 在详细信息窗格中,单击“更改缓存设置”链接。
- 在“缓存全局设置”页面上,设置以下参数。
- 内存使用限制 (MB)。
- 活动内存使用限制。
- 通过标题。
- 要缓存的最大帖子正文长度
- 全局未定义结果操作
- 启用 HA 对象持续
- 验证缓存对象是否存在
- 预取
- 单击确定,然后关闭。
配置 URL 分类参数
- 登录设备并导航到“安全”。
- 在详细信息窗格上,单击“更改 URL 过滤设置”链接。
- 在“配置 URL 过滤参数”页中,设置以下参数。
- 数据库更新之间的小时数。数据库更新之间的 URL 过滤小时数。最小值:0,最大值:720。
- 每天更新数据库的时间。URL 过滤每天更新数据库的时间。
- 单击“确定”和“关闭”。
配置审计日志消息
当 NetScaler 设备收到传入 URL 时,如果响应程序策略具有 URL 筛选表达式,则审核日志功能会收集分类信息并将其作为日志消息显示给配置的任何目标审核日志服务器。信息已记录。
- 源 IP 地址(发出请求的客户端的 IP 地址)。
- 目标 IP 地址(请求服务器的 IP 地址)。
- 请求的 URL 包含架构、主机和域名 (
http://www.example.com
)。 - URL 过滤框架返回的 URL 类别。
- URL 过滤框架返回的 URL 类别组。
- URL 过滤框架返回的 URL 信誉编号。
- URL 分类策略采取的审核日志操作。
要配置 URL 列表功能的审核日志记录,您必须完成以下任务:
- 启用审核日志。
- 创建审核日志消息操作。
- 使用审核日志消息操作设置 URL 列表响应程序策略。
有关详细信息,请参阅 审计日志记录 主题
使用 SYSLOG 消息传递存储失败错误
在 URL 过滤过程的任何阶段,如果出现系统级故障,NetScaler 设备都会使用审核日志机制将日志存储在 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).
NetScaler 设备将错误消息存储在四个不同的故障类别下:
- 下载失败。当您尝试下载分类数据库时发生错误。
- 集成失败。如果在将更新集成到现有分类数据库中时发生错误。
- 初始化失败。如果在初始化 URL 分类功能、设置分类参数或终止分类服务时出错。
- 检索失败。如果设备检索请求的分类详细信息时发生错误。
URL 信誉分数
URL 分类功能提供基于策略的控制来限制列入黑名单的 URL。您可以根据 URL 类别、信誉分数或 URL 类别和信誉得分来控制对网站的访问。如果网络管理员监视用户访问高风险网站,则他或她可以使用绑定到 URL 信誉分数的响应者策略来屏蔽此类风险网站。
收到传入的 URL 请求后,设备将从 URL 分类数据库中检索类别和信誉评分。根据数据库返回的信誉分数,设备会为网站分配信誉等级。该值的范围可以在 1 到 4 之间,其中 4 是风险最高的网站类型,如下表所示。
URL 信誉评级 | 声誉评论 |
---|---|
1 | 干净的网站。 |
2 | 未知的网站。 |
3 | 具有潜在危险或与危险站点有关联。 |
4 | 恶意网站。 |