16
2019
02

WordPress防止密码爆破

之前 “谈谈如何在服务端阻止恶意扫描” 提到过主机防护,主要是防止不法分子进行批量攻击。本站用的WordPress,为了防止别人通过 wp-login.php 入口进行暴力破解,于是修改该文件将请求重定向到CentOS的镜像下载页面。然而因为WordPress默认开通自动更新功能,新版发布后 wp-login.php 的修改就被抹除,又变成登录入口文件。在主题中做修改也有类似的缺点。

今天早晨收到大量邮件,提示有人多次尝试用密码登录博客站点。被邮件烦到了,自己也有点心虚,于是琢磨怎么弄个一劳永逸的办法。然后想到可以在Nginx里做重定向啊!WordPress更新覆盖文件的缺点一下就没有了。

说动手就动手,在Nginxserver配置块中新增配置项:

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.phpxmlrpc.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/post/4930.html

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

微信扫码关注

更新实时通知

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。