上网行为管理产品具有URL(或网址)过滤的功能,企业可以使用上网行为管理设备过滤与工作无关的网站,从而规范员工上网行为,提高工作效率。但很多用户在使用RUL过滤功能时容易产生困惑,如为什么已经设置了对指定URL(或网址)的过滤规则,该URL(或网址)还可以打开?本文将从URL过滤功能的实现原理出发解答这些问题,并介绍不同需求条件下的URL过滤规则设置技巧。
URL定义
Uniform Resource Locator即“统一资源定位符”,也被称为“网页地址”,是因特网上标准资源的地址。URL的一般格式是:“协议://主机/路径/文件名.文件后缀”。URL是对可以从因特网上得到的资源的位置和访问方法的一种简洁的表示,相当于一个文件名在网络范围的扩展。因此URL是与因特网相连的机器上的任何可访问对象的一个指针。例如http://baike.baidu.com/view/1321789.htm代表baike.baidu.com这台主机view路径下的1321789.htm文件,其通信协议为http(超文本传输协议)。
URL过滤原理
上网行为管理产品对URL的过滤通常是指针对HTTP协议URL的过滤。下面我们还是以访问"http://baike.baidu.com/view/1321789.htm”为例讲解URL过滤的原理:当我们浏览"http://baike.baidu.com/view/1321789.htm”这个网址的同时运行抓包软件,将会捕获到下图所示的报文:
捕获的URL访问报文
分析上述报文可以看出当主机访问网站时,首先会发送一个HTTP请求报文,该报文指明了应用层协议为HTTP,操作方法为GET,URL字段内容(路径及文件名)为“/view/1321789.htm”,HOST字段内容为“baike.baidu.com”。当一个http报文经过上网行为管理设备时,设备可以识别出上述信息,并进一步检查报文中的HOST和URL字段内容,如果HOST或URL字段内容中有字符串与URL过滤规则中定义的过滤关键字相匹配,那么该报文将会被丢弃,用户电脑与该网站服务器的连接断开,从而无法打开该网页。
实用案例
案例一:为什么已经设置了过滤“http://www.163.com”网址关键字,网易主页却还是能打开?
上面已经说过上网行为管理设备在进行URL过滤时检查的是HTTP报文中HOST和URL字段的内容,从上述抓包信息分析可知“http://”字符串并不会出现在这两个字段中。因此,设备无法在访问网易网站的HTTP报文的HOST及RUL字段中匹配到“http://www.163.com”这个字符串,正确的过滤关键字应该为“www.163.com”。
案例二:我想过滤网易邮箱,但不想过滤网易主页和其他网易子链接,如何设置?
由于网易邮箱的HOST字段为mail.163.com,设置过滤关键字为“mail.163.com”即可以达到效果。而访问网易主页时HTTP报文中的HOST字段为www.163.com不会匹配过滤规则定义的“mail.163.com”关键字,因此访问网易主页不会被过滤。
案例三:我想过滤所有与网易有关的网页,并已经设置了“www.163.com”过滤关键字,为什么只有网易主页打不开,网易邮箱和网易新闻却还能打开?
很显然由上述两案例我们已经知道“www.163.com”是网易主页的HOST字段内容。而网易邮箱是“mail.163.com”,网易新闻是“news.163.com”,因此无法完全匹配“www.163.com”过滤关键字,也就达不到过滤它们的效果。想达到这个效果其实很简单,设置关键字为“163.com”即可。因为与网易有关的网页其HOST字段都会包含“163.com”字符。