《谈如何在服务器端停止恶意扫描》提到了主机保护,主要是防止不法分子进行批量攻击。本网站使用的 WordPress,为了防止他人通过 wp-login.php 入口暴力免授权版,修改了文件并将请求重定向到 CentOS 的图片下载页面。但是,由于 WordPress 默认打开自动更新功能,新版本发布后,wp-login.php 的修改被抹掉,成为登录入口文件。修改主题也有类似的缺点。
WordPress 防止密码爆炸
今天早上收到大量邮件,提示人们多次尝试用密码登录博客网站。邮件让我很恼火,我觉得有点内疚,所以我想出了一个办法,一劳永逸地解决了。然后我想我可以在 Nginx 中重定向它!WordPress 更新覆盖文件的缺点已经没有了。
只要启动它,并在 Nginx 的服务器配置块中添加配置项:
server {
...
location = /wp-login.php {
redirect ^ https://www.huizhanii.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso permanent;
}
...
}
重启 Nginx,尝试用 curl 请求“https://www.huizhanii.com/WP-log in . PHP”和“https://www.huizhanii.com/”,提示重定向到 CentOS 的镜像下载地址。不出所料,非常好!
以上配置解决了 wp-login.php 的烦恼,但我还是收到了一封又一封提示暴力免授权版的邮件。打开 Nginx 的日志,发现暴力免授权版的入口不是 wp-login.php,而是 xmlrpc.php。Xmlrpc.php 是一个对外开放的 rpc 接口。比如 app 发布文章、管理网站时会用到。为了防止此门户被恶意访问,解决方案也可以是重定向:
server {
...
location = /wp-login.php {
redirect ^ https://www.huizhanii.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso permanent;
}
location = /xmlrpc.php {
redirect ^ https://www.huizhanii.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso permanent;
}
...
}
Ping Back 功能也使用 xmlrpc.php 的页面,上述配置会导致其他站点 Ping 失败。有没有平对我来说没那么重要,关机对我没有影响。
经过以上配置,既防止了他人恶意访问返回的 cold 404页面,又很好地解决了安全问题。世界终于干净和平了。
转载请注明:汇站网 » WordPress 防止密码爆破