提到网络被恶意篡改,应该让很多做了百度竞价的企业官网怀恨已久了吧?这类行为的目的就是通过这些受害网站获得排名并跳转到违法网站,达到不法的目的。对于企业来说不但损失了百度竞价的费用,还对企业形象造成很大的影响。甚至直接导致网站被空间商关闭或被有关机构删除。
那遇到这种情况该怎么解决呢?这就要具体分析原因了。以下我们介绍的每一步都很关键,这也是我们在网络安全这个行业,总结出来的经验。
第一步,先临时恢复首页:
我们发现这种情况都有个共同点,就是网站首页给篡改了,如果原先首页为动态文件的话,则会被删除,然后替换成了一个静态文件,比如html或htm格式的index或default文件。Title、Description改成了Unicode编码,用户看不见具体内容,但搜索引擎会解释成文字,这也是为什么搜索看到网站结果是被篡改后的内容。而且加入了一些Js,会判断凡是通过百度会的访问就会做跳转。
首先我们删掉该被篡改的文件,从备份中恢复首页文件。注意,这只是第一步,是临时先恢复首页的方法,因为没多久后,这个文件又会被替换和篡改掉。不管怎么样,先把网站的门面给恢复。包括之后的操作中,也要随时注意首页的恢复,不要不耐烦,一旦发现被篡改,就先马上恢复首页再说。
第二步,比对全站代码:
首先自己手上得有一套完整的网站备份,特别是代码的备份。直接登录服务器或FTP链接到网站目录,比对各目录和文件与备份的目录和文件的差异。注意,必须细化到每个目录,不论目录层次多深,逐一比对。有时候会发现一些奇怪的文件名,比如PHP写的网站会出现ASP扩展名的文件,上传目录中会出现动态文件,一些藏得很深的目录中出现了不该有的文件。可以采用一些小技巧加快排查速度,比如通过文件更新时间排序。如果能远程登录服务器的话,这个工作可以借助一些文件比对工具来做辅助。把所有发现的可疑文件删除,或者改掉文件名。
如果你有兴趣的话,可以打开这些文件的代码,一般能查到明文的密码,通过网址访问这些文件,输入密码后会发现是个可以操控整台服务器的脚本,甚至可以执行Dos命令,访问各盘符各目录,任意在系统中植入和删除文件。
这第二步会花费很长时间,其实主要就是细心,不漏过一点蛛丝马迹。
第三步,分析访问日志:
部分虚拟主机空间商能提供访问日志,或者云主机自己配置web service记录每天的访问。通过访问日志,查看最近有没有访问比较奇怪的目录和文件,并且这些奇怪的文件来自哪些IP。通过这种方式反查到服务器中存在的恶意文件。
但有时候会发现一个奇怪的现象,通过FTP或云主机目录中看不到这个文件,即使打开查看隐藏文件的选项仍然查看不到,但通过网站却能访问到该文件。遇到这种情况,云主机的话,通过Dos命令能查找到并删除该文件。虚拟主机的话比较麻烦,可以联系空间商,或者通过一些手段先上传一个同名的可查看文件,会覆盖掉隐藏文件,然后再删除。如果遇到权限等原因无法删除的情况,联系空间商处理有时候更快捷。
通过访问日志,还能分析来自哪个IP或哪些IP经常访问这些恶意植入的文件,可以先屏蔽掉这些IP或IP网段。记得将来取消屏蔽,特别是屏蔽网段的情况下。
第四步,寻找漏洞:
接下去,我们需要寻找造成这种问题的原因。否则不解决原因,以上问题还是会持续发生。
首先是服务器漏洞,这对于云主机来说是需要重点考虑的,这工作其实应该平时日常就要做好,而不是出了问题再做。记得定期更新补丁,再安装防火墙,有条件的话安装企业级的商业版防火墙,没条件的话用免费版的个人防火墙也可以,再不行,总得开启win系统自带的防火墙吧。当然配置好自动定时更新,还有配置好一旦发现病毒的自动处理逻辑即可。
我们遇到过一个国企大客户,他们的一台最主要的云主机,居然3年多没有更新过补丁,也没有安装任何防火墙,直到服务器上的多个网站被篡改了,系统被木马搞的实在跑不动了才想到找我们解决。其实这事情是日常的工作,平时花不了多少功夫,但出了问题可就是大问题了。
除了服务器漏洞,还可能是网站代码漏洞或限制不严谨,这就关系到程序编写人员的技术能力了,如果遇到这种情况,就需要和程序员一同寻找问题。程序逻辑是否有问题,是否有做文件上传限制等等。
环境配置引起的漏洞,这需要注意web service的配置,权限是否配置不合理,网站目录是否人为的设置了everyone或guest可写权限了。文件上传目录不该给予执行权限。
采用的第三方插件漏洞,比如网站中常使用的富文本编辑器的漏洞也需要注意,有些编辑器不是拿来就能用的,得配置其中上传功能,过滤掉不该上传的文件类型的文件名。还需要结合上面提到的,记得将文件上传目录的执行权限去掉。避免编辑器的目录放置在根目录,并且目录名采用默认的。这样漏洞直接就能被利用到。
(这里提示一下,有的文本编辑器在IIS环境下也会出现漏洞,需要特别注意。)
第五步,其他合理配置:
后台管理路径不要使用容易被人猜测到的文件名或目录名,比如admin。用户名和密码尽量设置复杂。FTP账号和远程管理账号也是如此,如果FTP服务不使用,暂时先停止掉。网站使用的数据库链接账号,Mssql不要使用sa,Mysql不要使用root,为网站单独创建账号,限制账号权限,更改数据库端口,禁止外链。关闭不需要的服务,关闭不需要的端口。结合防火墙进行配置,现在云服务器能直接配置安全策略,只开放使用的端口。如果需要经常外链方式管理服务器,最好通过代理组虚拟局域网加证书的形式。
第六步,观察和反复操作:
做好以上几步工作后,接下去就是持续观察了。如果首页还是被篡改,那说明网站中的恶意文件还没有清除干净,需要重复以上的多个环节,需要说明的是,只要一个恶意文件没有被清除,就会通过它引入几十个甚至上百个恶意文件的植入。所以耐心很重要,直到彻底清除干净,堵死所有漏洞清除所有恶意文件为止。
(我们遇到过很多客户的网站中被植入了几千个木马,而且还没有备份。我们的技术员只能手动一个个目录查看和分析,并且几乎24小时待命随时解决问题,最终花了一周半才彻底解决问题)。
总结:
以上这六步是比较常见的操作手法,遇到不同案例肯定得不同分析,定制不同的解决方案和侧重点,采用一些不同的小技巧。所以,没有技术能力解决的情况下,可在下方留言跟博主多多交流,我们有专业的技术人员为客户提供有针对性的安全产品和服务。