《谈如何在服务器端停止恶意扫描》提到了主机保护,主要是防止不法分子进行批量攻击。本网站使用的 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
防止密码爆破