近日看到朋友询问自己的网站被提示了 WordPress用户名枚举漏洞 CVE 2017 5487,老魏查了下这个漏洞影响的是 WordPress4.71及以下版本,因为是比较重要的门户网站,所以老魏建议使用付费版的防火墙来解决这个问题。
分析问题
如下图所示是官方发来的网络安全实战演习结果,朋友说这个网站是比较重要的门户网站, WordPress版本一直都是最新版的,按理说不应该有这个漏洞。

漏洞影响:在未授权状态下获取已经发布文章的用户的用户名、 id 等信息。
触发前提:Wordpress 配置 REST API
影响版本:
当前网站被攻击后增加了近100个订阅用户,在数据库中可以看到。
朋友也说了网站几乎没用插件,主题也是正版的,这就避免了盗版带来的漏洞问题。
猜测可能是服务器的某个漏洞被利用了,这样的问题我们还是从服务器端进行防御好了。毕竟我们不是专业的服务器运维工程师,无法从代码层面去找出问题并加以封锁,遇到这种情况我们直接使用现成的防火墙好了。
解决问题
服务器用的是宝塔面板免费版,经过老魏的建议注册宝塔面板企业版服务,并安装宝塔防火墙,宝塔企业级防篡改,堡塔防入侵等付费插件,经过一定的设置,符合自己网站的实际情况,这样就能避免被入侵了。
WordPress可以通过默认URL的方式,看到网站的管理员用户名以及网站形式,为了避免被分析,我们在宝塔面板的付费防火墙中有个 URL黑名单,把下面的两行分别添加:
^/wp-json/wp/v2/users/
^/wp-includes/wlwmanifest.xml
同时在 WordPress网站把默认后台登录地址修改一下,老魏建议用WPS Hide Login插件,如果你讨厌为这么一个功能增加一个插件,也可以试试宝塔面板加密 WordPress 后台登录页面的功能,等于在 WordPress默认后台的基础上又加了一道锁。当然聪明的童鞋能够想到把 WPS Hide Login插件与宝塔面板WordPress后台加密功能结合起来用,就更安全了。
还有 WordPress后台的用户名密码,老魏之前也多次提示过,数字+字母+符号,不规则的,非正常人思维的,位数超过 30位,即使被机器扫描猜解了,使用宝塔付费防火墙,在规则设置的时间内超过一定连接次数就会被踢下线,再加上我们定期检查防火墙日志,发现可疑IP就拉黑,这样就能高枕无忧了。
额外提示
这类问题出现在云服务器中,对于使用 Hostinger 以及 Siteground 这类虚拟主机的用户就不存在这种担心了,因为强大的官方已经提前封堵了漏洞。
作为用户我们只要保证 WordPress程序、插件、主题及手动上传的文件别出问题就大可放心了。
暂无评论内容