让McAfee来终结网站被挂马的时代
互联网上木马、病毒和黑客横行的一年。具体的事例不用我说,相信大家都有所耳闻。经常上网的时候不小心进个网站就中木马了。不排除有一部分黑心的站长为了自己利益不顾网友的安全故意挂马;还有很多站长是冤枉的,自己也是受害者——网站被入侵然后被挂马了。
很多站长因为使用网上不常见的程序,有漏洞得不到补丁;而自己又没有编程能力无法修复或者干脆不知道漏洞在那里,被挂马后恢复程序结果不久又被挂……还有很多人即使使用的是应用比较广泛的程序,但也可能因为没及时打上补丁或出了漏洞官方还未发现而被挂马。
老是被挂也不是个事。怎么才能彻底杜绝被挂马呢?让程序完美,没有任何漏洞?这个可能性好象接近于0。我们只能从其他的地方想办法。
首先来看一下马是怎么挂上去的。首先,“黑客”会找到一个漏洞,然后利用这个漏洞上传一个后门程序上去以取得WEBSHELL,这个上传的程序一般为ASP文件(本文以ASP为例,其他基本相同),或者他会创建一个名字看起来像ASP文件的目录然后在这个目录里上传一个后门程序。之后黑客便会运行这个后门程序,修改网站里所有的.ASP、.HTM、.HTML文件,把调用木马的代码加上去。
(关于名字看起来像ASP文件的目录的漏洞的问题以前发过解决办法。自己找找看,本文不再累赘。)
总结分析一下“黑客”对我们的网站都干了些啥:
1.上传了一个文件(创建或修改了一个ASP文件)。
2.在ASP等文件里加了调用木马的代码(修改了.ASP、.HTM、.HTML文件)。
分析清楚“黑客”具体做了什么,再来分析一下我们自己的网站:
1.ASP程序文件一般不需要修改也不需要新建,只要运行就够了。
2.生成HTML文件的过程是先删除同路径下同名的旧HTML文件,然后再创建一个新的,如果原来没有则直接创建。
分析清楚了这些,再看看本文标题,如果用过McAfee,你应该想到我们要怎么做了吧?对!就用访问规则把“黑客”做的事全给禁止了然后把我们自己需要的权限留出来!
对于ASP文件,“黑客”是创建和修改,而我们只需要读取和运行。那么,规则如下:

我们自己在需要创建和修改ASP文件的时候可以先把这条规则禁用。
对于HTM、HTML文件,“黑客”是修改,而我们需要创建、删除、读取等。那么规则如下:

另外我们再新建几条规则,把上图中文件名里的*.HTM换成*.HTML、*.JS、*.CSS等文件这样这些文件“黑客”也就没法修改挂马了。在我们自己需要修改这些文件的时候先把规则禁用。
这样做之后,即使我们的网站程序存在漏洞,也不会让“黑客”挂上马了!
最后,补充一点小提示:如果你的网站使用ACCESS数据库并且库后缀名为ASP的话,你需要把它修改成其他的后缀,否则使用上述规则可能会让你的数据无法更新。
以上介绍使用MCAFEE的规则来限制网站程序文件不被创建和修改来防止被黑的方法。
不过因为当时没考虑规则可以只指定进程来阻挡。因此上文里的方法很多用户都不适合,只适合自己有服务器,并且只给自己使用;而且自己使用如果需要修改和创建文件的话也需要先把MCAFEE关了,比较麻烦。
今天查看MCAFEE的日志时偶然发现,可以只阻挡IIS进程创建和修改ASP文件(本文以ASP文件为例,其他程序设置方法基本相同),这样我们用其他方法(比如直接在服务器上修改、通过FTP修改……)修改ASP文件就不会受影响。这样,这个规则再拦截非法操作的同时还不影响正常使用。规则见图:

这样,就在不影响正常使用的情况下断绝了黑客上传木马干坏事的可能。这个方法可以给任何人使用,也适合主机商装给自己虚拟主机的服务器,保证服务器上用户的网站安全。基本上来说,这样设置之后即使是网站有任何漏洞,网站也不会被上传木马挂上非法代码、或者网站被删除、修改。需要注意的一点:因本规则将阻止IIS进程对任何.asp文件的修改,因此如果你的网站使用的是ACCESS数据库,使用本规则后请不要将数据库后缀名改成ASP。如果你是主机商,这样设置之后你需要告知你的用户不能将数据库后缀改成ASP。否则数据库将不可写。如果你使用虚拟主机或者合租空间,可以要求主机商装MCAFEE,如果他说怕影响其他用户有.ASP后缀的数据库,你可以让他只给你的网站目录这样设置。


