刚过去的这个补丁日,WordPress 运维圈被一条消息刷了屏:一个正在被积极利用的漏洞终于有了补丁,但安装补丁的动作本身,就可能在服务器上多开一道门。
这听起来有点绕,但做主机和建站的同行只要代入自己日常的操作场景,后背会有点凉。平时给客户站打安全更新,习惯就是进后台、看到更新提示、点下去,很多时候连维护模式都不开。几秒钟的事,怎么就能被人钻了空子?
具体的技术细节,据安全研究员 Umut Bayram 公开的发现,问题出在补丁安装时 WordPress 解包文件这一步:更新程序会先解压新版文件,但这个解压过程仍然由站点当前运行的旧代码来完成。也就是说,在补丁还没彻底生效的那一小段时间里,旧代码中那个已被公开的漏洞依然是可利用状态。攻击者如果掐准这个窗口,完全可以在服务器上执行代码。

打补丁这几十秒,攻击者在做什么
不少客户曾问我:“补丁不是已经发布了吗?我一看到提醒就更了,为什么还会被黑?”答案就在这个“明补实未补”的时间差里。攻击者的扫描和利用脚本是自动化的,一旦漏洞细节公开,可能几分钟内就开始全网扫。而站长接到主机商通知、登录后台、点击更新的反应速度,再快也比不过机器。
也就是说,当你看到“有可用更新”并点击的那几十秒,站点等于光着身子站在互联网上。研究员给出的建议很直白:更新期间要把站点切到维护模式,或者直接阻止来自外部的 web 访问,等补丁文件彻底替换完成后再放出来。
不只是 WordPress,其他系统一样有窗口期
这种“补丁安装过程本身就是风险”的案例,远不止 WordPress 一个。上周,Zyxel 修补了一个隐藏在老补丁背后的零日漏洞,攻击者利用它已拿下了 48 个国家近千台交换机。而不久前 OpenSSH 的 SSHole 漏洞刚刚披露,几小时内就有攻击者在蜜罐上尝试大规模利用。这些都在反复提醒一件事:漏洞公布和补丁部署之间的间隔,以及补丁在本地真正生效的那一小段空档,都是攻击者的黄金时间。
对于用 WHMCS 做主机业务的站长来说,类似的逻辑也成立。WHMCS 本身和它依赖的各种插件、网关、实名认证模块,只要有公开漏洞,你的客户区、管理后台就会暴露在同样的窗口期里。
更新时防住攻击,今晚可以做的几件事
如果手上有生产环境中的 WordPress 站点或 WHMCS 系统,不想让“修漏洞修出别的问题”这种糟心事落到自己头上,眼下可以先把以下动作排进运维清单:
- 任何涉及安全补丁的更新,都默认先开维护模式,或者临时增设一条 web 访问限制。更新完后验证站点正常再去掉。
- 把关键插件和主题的更新来源集中到一个可管理的授权渠道上。分散在各处购买的、来历不明的破解版,不仅更新链路不可控,出问题时连找谁都不知道。
- 如果维护的站点数量多,手动逐站开关维护再更新太耗时,就值得考虑用支持一键批量自动更新的正版授权方案。更新速度快了,窗口期自然就压缩了。
什么情况适合用正版授权插件来兜底
讲到这儿,一个老被问到的问题就冒出来了:“我手头都是一些小企业站,用免费版插件手动更一更就行了,正版授权是不是杀鸡用牛刀?”
如果是个人维护一两个站点,更新及时、记得开维护模式,免费版的插件确实够用。但一旦站点数上去了,或者是客户的业务站点、带支付信息的 WHMCS 系统,手动更新的节奏就很容易跟不上漏洞利用的速度。这时候,正版授权插件的自动更新和优先技术支持,就不是锦上添花,而是你睡觉时有人替你守门的差别。微码宝的 WHMCS 插件和 WordPress 主题插件授权,多数都提供免费基础版,你可以先用起来,等业务规模到了需要自动更新和售后优先的时候,再开通会员拿全场折扣和及时的技术响应,这比出了事再到处找补要划算。
漏洞公布后的那个窗口,是运维站点的黑色几分钟。把这扇门关好,比通宵熬夜查日志管用得多。今晚有更新的,先切维护模式再点更新;看不清插件授权状态的,去站内梳理一版,把补丁通道理干净。


