作者: 吕跃, 出处:中计在线 , 责任编辑: 韩博颖, 2008-06-17 10:28
HOST文件的修改是一种被动行为,并非用户的主观意愿。但如果是用户主动更改HOST文件记录,那是否会对公司防火墙定义的URL过滤规则形成一种挑战呢。
近日,公司的部分用户反映无论访问百度还是谷歌结果都被连接到一个垃圾网站。经过现场查看,我们发现网络连接及DNS配置都没有问题,根据经验判断应该是系统目录下的主机(HOST)文件出了问题。打开该文件,果然发现其中添加了两条记录:
202.*.*.* www.baidu.com
202.*.*.* www.google.cn
一目了然,原来是HOST文件被恶意更改,将百度与谷歌域名强行与该恶意网站IP地址对应,从而导致用户访问百度、谷歌时被连接至该网站。
显然,这次的HOST文件的修改是一种被动行为(首先感染病毒,然后病毒更改文件内容),并非用户的主观意愿。但如果是用户主动更改HOST文件记录,那是否会对公司防火墙定义的URL过滤规则形成一种挑战呢?
HOST文件
我们先来了解一下什么是HOST文件。在Windows2000/XP系统中,HOST文件位于C:WinntSystem32DriversEtc 目录。该文件其实是一个纯文本的文件,用普通的文本编辑软件(如记事本等)都能打开,它记录主机名与IP地址的映射关系。用户在通过主机名(域名)访问网络资源时,系统首先会查找本机HOST文件内是否有该主机名(域名)记录,如果有该记录,就调用该记录的IP地址映射;如果没有,再向DNS服务器提出域名解析请求。该文件最大的作用就是加快域名解析。同时,很多网管以及安全软件(如360安全卫士等)也把这个文件作为屏蔽恶意网站的工具,也就是将恶意网站的域名与127.0.0.1做成映射。
防火墙URL过滤
除了HOST文件,我们还需要了解URL过滤。目前市场上大部分防火墙都具有URL过滤功能,在某种程度上也解决了应用层访问控制的问题,使网管人员可以更灵活地运用相关策略对企业网络进行更好的安全维护。
所谓URL过滤,就是防火墙通过检测用户发送的http请求数据包中的HOST字段是否与URL过滤规则中定义的URL相符,并按照过滤规则进行处理。处理的方式一般有两种:规则内全部禁止,其余全部允许;规则内允许访问,其余全部禁止。
只有当判断用户的连接请求是http请求时,防火墙才会检测HOST字段。防火墙判断用户的连接请求为http请求的原则一般是TCP目的端口为80端口。
前文提到,URL过滤一般有两种处理方式:URL列表内禁止,其余全部允许;URL列表内允许,其余全部禁止。对于前者,人们可以可以利用nslookup等工具首先得到被禁止网站的IP地址,然后通过直接访问IP地址绕开URL过滤规则的限制。而后者,由于允许访问的网站数量有限,即使想通过IP地址访问不被允许的网站也无法得逞。很多网管认为这种方式比较有效。
但是通过这次恶意更改HOST文件事故,笔者就有了文章开头提到的疑问,为了通过验证得到答案,笔者做了如下尝试。