通过Nginx限制访问IP来防止对WordPress的登陆攻击

近日发现有大量的IP通过模拟WordPress的登陆来攻击。具体表现为POST登陆请求到wp-login.php。一开始的解决方法是安装Login Limit Attempts这个插件。试用了一下,效果还可以,但是仍然会存在拖垮服务器的风险。

由于wordpress的登陆只是博主内部使用,于是想到了修改nginx配置文件来做限制访问IP来防止非法的登陆请求。nginx配置文件相关的虚拟主机部分增加如下配置:

    location = /wp-login.php
    {
      fastcgi_pass  127.0.0.1:9000;
      fastcgi_index index.php;
      include fcgi.conf;

      allow 192.168.9.0/24;
      deny all;    
    }

其中,allow部分可以限制为可以访问登陆页面的IP即可。修改之后,重新reload nginx。然后跟踪访问日志,发现非法IP对wp-login.php的访问都已经返回403。

除非注明,本博客文章均为原创,转载请以链接形式标明本文地址

本文地址: http://blog.cnwyhx.com/?p=229

Leave a Reply