WordPress防止密码爆破
之前 “谈谈如何在服务端阻止恶意扫描” 提到过主机防护,主要是防止不法分子进行批量攻击。本站用的WordPress,为了防止别人通过 wp-login.php
入口进行暴力破解,于是修改该文件将请求重定向到CentOS的镜像下载页面。然而因为WordPress默认开通自动更新功能,新版发布后 wp-login.php
的修改就被抹除,又变成登录入口文件。在主题中做修改也有类似的缺点。
今天早晨收到大量邮件,提示有人多次尝试用密码登录博客站点。被邮件烦到了,自己也有点心虚,于是琢磨怎么弄个一劳永逸的办法。然后想到可以在Nginx
里做重定向啊!WordPress更新覆盖文件的缺点一下就没有了。
说动手就动手,在Nginx
的server
配置块中新增配置项:
server { ... location = /wp-login.php { redirect ^ http://mirrors.aliyun.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso permanent; } ... }
重启Nginx
,用curl
尝试请求”https://qiquanji.com/wp-login.php“和”https://www.qiquanji.com“,提示都重定向到CentOS的镜像下载地址。符合预期,非常棒!
上述配置解决了wp-login.php
的困扰,不过还是陆续收到提示暴力破解的邮件。打开Nginx
的日志,发现原来暴力破解入口不是wp-login.php
,而是xmlrpc.php
。xmlrpc.php
是对外开放的rpc接口,例如app发表文章、管理站点就会用到。要阻止这个入口被恶意访问,解决办法同样可以是进行重定向:
server { ... location = /wp-login.php { redirect ^ http://mirrors.aliyun.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso permanent; } location = /xmlrpc.php { redirect ^ http://mirrors.aliyun.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso permanent; } ... }
Ping Back
功能用的也是xmlrpc.php
这个页面,以上配置会导致其他站点的Ping
失败。有无Ping
对我而言不是那么重要,因此关闭对我来说没有影响。
经过以上配置,既防止他人恶意访问返回冰冷的404页面,也很好的解决了安全问题。世界终于清净,一片祥和。
本站声明:网站内容来源于网络,如有侵权,请联系我们https://www.qiquanji.com,我们将及时处理。
微信扫码关注
更新实时通知