一家做教培的机构发现百度快照里出现了和业务无关的链接,让技术一查,首页源码底部夹着几十条赌博站的外链。页面看着没变化,用户也察觉不到,但搜索引擎的权重正在被悄悄导走,等发现的时候排名已经掉了一截。
先断根,再清理
发现挂马的第一件事不是删代码,是找到入口。常见的入口是过期的插件、弱口令后台、上传目录权限过大。直接删掉表面那几行链接,日志里的后门还在,几天后又会重新挂上。断根的顺序是先关站或者限流、备份现场、查日志定入口、再清理。
密码和密钥全部换一遍
服务器账号、数据库账号、后台管理员、FTP、云控制台,全部改掉,能开二次验证的都开。这一步容易被跳过,觉得改完代码就没事了。实际经验是后门往往藏在账号里,不清账号,清理多少次都白搭。改完把权限降下来,日常不用管理员账号浏览网页。
向搜索引擎提交恢复
清理干净之后,要在搜索引擎的站长平台提交安全检测或者死链清理,否则快照里还是旧内容,用户搜到的还是被挂的版本。这个过程需要几天到两周。反过来,如果一直不清理,站点可能被标记为危险站点,用户打开会看到警告页,那时候损失就不只是排名了。
还有一件事别忘,就是要通知客户。如果站上有表单收集过用户信息,被挂马期间可能已经泄露,主动说明比等客户发现要好得多。太原不少企业做的是本地生意,口碑就在街坊之间,瞒着反而更伤,坦诚一点反倒能留住人。
日常防护其实不复杂:程序版本跟上、后台改掉默认路径、上传目录禁止执行脚本、定期备份异地存放、装一个能报警的监控。这几条做到,绝大多数自动化扫描就绕过去了。攻击者挑的是最容易的那一批,不必做到完美,只要比同行难一点就行。
网站被挂马的常见疑问
挂马一定要关站吗
看情况。清理期间可以限流或者只对内开放,避免用户看到被篡改的内容,也能保留现场取证。
多久能恢复正常排名
清理干净并提交后,一般一到两周快照更新,排名恢复要看站点本身的权重和更新节奏。
要不要重新做站
漏洞在程序层的,重做一版是彻底办法;如果只是配置问题,清理加加固就够,看成本权衡。
总结:挂马可怕的地方不在那几行代码,在于你不知道它从哪进来。断根、换密钥、提交恢复、日常加固,四步走完才算真干净。