网站被木马恶意篡改了怎么办?

幸运草
幸运草
幸运草
942
文章
3
评论
2020年5月25日22:24:56 评论 74

网站被篡改的情况多出现于企业官网,且做了百度竞价的一些网站。而且直接访问网站时,不易发现问题,但通过百度访问会发现跳转到了违法内容的链接。再通过百度搜索官网会发现搜索结果中网站的Title、Description都已经被篡改。

这类行为的目的就是通过这些受害网站获得排名并跳转到违法网站,达到不法的目的。对于企业来说不但损失了百度竞价的费用,还对企业形象造成很大的影响。甚至直接导致网站被空间商关闭或被有关机构删除。

那遇到这种情况该怎么解决呢?这就要具体分析原因了。以下我们介绍的每一步都很关键,这也是我们锦技运维服务在这么多年服务过的客户后,总结出来的经验。

网站被木马恶意篡改了怎么办?

第一步,先临时恢复首页:

我们发现这种情况都有个共同点,就是网站首页给篡改了,如果原先首页为动态文件的话,则会被删除,然后替换成了一个静态文件,比如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,为网站单独创建账号,限制账号权限,更改数据库端口,禁止外链。关闭不需要的服务,关闭不需要的端口。结合防火墙进行配置,现在云服务器能直接配置安全策略,只开放使用的端口。如果需要经常外链方式管理服务器,最好通过VPN组虚拟局域网加证书的形式。

第六步,观察和反复操作:

做好以上几步工作后,接下去就是持续观察了。如果首页是否还被篡改,那说明网站中的恶意文件还没有清除干净,需要重复以上的多个环节,需要说明的是,只要一个恶意文件没有被清除,就会通过它引入几十个甚至上百个恶意文件的植入。所以耐心很重要,直到彻底清除干净,堵死所有漏洞清除所有恶意文件为止。

(我们遇到过一个客户的网站中被植入了几千个木马,而且居然没有备份。我们的技术员只能手动一个个目录查看和分析,并且几乎24小时待命随时解决问题,最终花了一周半才彻底解决问题)。

特别声明:以上文章内容仅代表作者本人观点,不代表变化吧观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与变化吧联系。

转载请注明:{{title}}-变化吧
  • 赞助本站
  • 微信扫一扫
  • weinxin
  • 赞助本站
  • 支付宝扫一扫
  • weinxin
幸运草
自动化运维工具 salt 安装以及使用 运维

自动化运维工具 salt 安装以及使用

介绍 salt 与 ansible  类似,是常用的 linux 自动化运维工具,典型的应用场景为:多个节点执行命令、批量执行命令、分发文件、同步配置等,号称可以轻松管理成千上万台节点,速度较快。是部...
运维进化论:微盟“删库跑路”给我们的启示 运维

运维进化论:微盟“删库跑路”给我们的启示

运维的耻辱感运维团队缺少体系和全局观的支撑,导致运维后面的阶段性发展是碎片式的。碎片式的运维工作推进,运维人或者周边团队自然没法理解运维工作的意义和价值。 体系是要求运维团队能给出整体的运维框架(价值...
开发运维配置繁杂,是时候给应用架构做减法了 运维

开发运维配置繁杂,是时候给应用架构做减法了

【拒绝背锅】运维故障处理指南1.故障处理原则 故障处理的原则只有两个: 以恢复业务优先 及时升级 1.1 恢复业务优先 恢复业务优先是指,不管在任何情况下,也不管任何级别的故障,都要先做到恢复业务,这...