如何构建安全的 WordPress

构建安全的 WordPress 涉及到很多方面的东西:

首先要及时修补服务器的安全漏洞,阿里云这一方面就做的很不错,主机有任何安全问题或者有新的漏洞,都会第一时间通知。

做好做一步之后,不要给 WordPress 设置过于简单的管理员密码,比如123456,大部分安全的问题,都是密码过于简单造成的。

如果上面两步都处理完之后,我们还需要从程序方面加强 WordPress 的安全性,今天这篇文章就把「WordPress 果酱」这方面的文章总结一下:

防止用户名暴露

因为默认情况下 WordPress 用户的 user_nicename 和 user_login 是一样的,这样只要通过下面三个方法猜测到 user_login,然后就可以暴力破解。

1. 作者的文章列表链接是:https://blog.wpjam.com/author/superdenis/,其中的 superdenis 是user_nicename

2. 在 body 的 class 中,如果当前用户的作者页,也会出现用户的 user_nicename

3. 和 comment 的 class 中,如果留言的用户也是当前站点的用户,也会出现用户的 user_nicename

怎么处理呢?

修改 user_nicename,「WPJAM #用户管理插件#」在 WordPress 后台提供修改的 user_nicename 的功能

或者通过自定义代码设置使得:user_login 不出现在作者的文章列表链接中,也不出现在 body_classcomment_class 中。具体的代码参考:WordPress 安全第一步:防止用户名暴露

隐藏登录失败的错误信息

默认情况下,在登录 WordPress 的时候,如果输入的用户名不存在,WordPress 会报「未知用户名」的错误,如果用户名正确,密码错误的话,WordPress 会报「密码不正确」的错误:

「未知用户名」
「密码不正确」

这样是存在一定的安全隐患的,首先让暴力破解知道快速定位用户名,确定了用户名,只需要给他时间,就可以开始暴力破解了。所以最好统一改成:「用户名或者密码错误」的错误信息,让猜去吧。

限制登录次数,防止暴力破解

WordPress 的一个重大的安全隐患就是 WordPress 没有防止暴力破解的功能,在登录界面,用户可以不停的登录尝试输入账号密码,直到暴力破解,如果密码不够复杂,破解的人如果被使用软件扫描的话,那么很快就会被破解的。

我们可已通过 Memcached 来记录失败登录的次数,超过一定次数之后就限制登录,需要等待一段时间之后才能再次登录。

此图像的alt属性为空;文件名为image-10.png

「WPJAM 用户管理插件」都已经整合以上功能,加入知识星球即可免费下载。


©我爱水煮鱼,本站推荐使用的主机:阿里云,国外主机建议使用BlueHost

本站长期承接 WordPress 优化建站业务,请联系微信:「chenduopapa」。