接了个整改单:一个WordPress官网流量正常、后台干净,但谷歌收录里冒出上百个博彩页面。翻插件目录找到了源头——一个安装量五位数的SEO插件,两年没更新,作者早弃坑,在新版本WordPress下被爆出任意文件上传漏洞。补丁是公开的,站长不知道要更。网站安全防护里最容易被忽视的,就是这种“看起来还在正常工作”的老插件。
老插件为什么危险
插件的危险程度和更新时间成反比。活跃维护的插件出了漏洞,几天内就有补丁;弃坑的插件出了漏洞,全世界只有攻击者在“维护”它。更隐蔽的是所谓的破解版插件和主题,某些渠道下载的版本本身就带后门,装上的那一刻就把钥匙交了出去。
判断插件还活不活着,看三个地方:官方插件库的最近更新日期、支持论坛里作者回不回帖、以及安装量走势。三条里两条不妙,就列入替换计划。替换不一定找同类,有时砍掉功能本身才是最优解——很多插件解决的是“看起来需要”的问题。
怎么定更新纪律
- 每月固定一天做插件和主题更新,当天用测试环境先跑一遍再上生产
- 超过一年没更新的插件直接替换,哪怕功能相似也别留
- 插件数量做减法,功能重复的合并,装得越少攻击面越小
- 订阅WordPress安全通告,重大漏洞爆发当天先确认自己站是否中招
测试环境不用很讲究:一台低配云主机,或者本地起个环境,装同样的主题插件跑一遍核心流程——发布文章、提交表单、下单走通。花半小时,换生产环境不炸的把握,这笔账怎么算都划算。定更新日还有个好处:把散落的更新请求攒到一天处理,客户和开发都不用被打断,运维的节奏感就是这么养成的。
这次整改的账
那次的攻击路径后来在日志里还原出来了:利用文件上传漏洞传了个伪装成图片的脚本,再通过定时任务持续重建后门。删文件没用,断根要靠打补丁加清理定时任务两步一起做。这也是为什么后门清理不能只看表面。
清理后门、重装环境、向谷歌申诉重新审核,前后一周,比正常维护一年的成本还高。客户接着在我们这订了按月维护,他说了句大实话:我不是不会点更新按钮,是永远不会记得去点。更新、备份、监控,本来就是网站安全防护的基本盘,缺了哪样都不行。
建议
现在就去插件列表按最近更新时间排序,一年没动的挨个评估去留。WordPress站点多的公司,交给比格网络做统一维护,更新、备份、漏洞监控一起盯,这类后门基本到不了收录那一步。