我怎样才能黑名单或限制WordPresslogin尝试?

我想configuration一个可公开访问的WordPress网站,在3次失败的login尝试后,我设法将IP列入黑名单,或者以某种方式进一步强化安全性。

请有人提供我最好的方式去做这件事?

提前致谢!

该网站在LAMP堆栈中的CentOS上运行。

对于WordPress的网站,这里有一些我一直在使用的插件。 他们都可以通过WordPress的插件安装程序访问

loginlocking实施强密码策略,监视login尝试,阻止太多失败的login尝试的IP地址。

隐身login创build自定义URL用于login,注销和注册您的WordPress博客。

ThreeWP活动监视器插件来跟踪用户活动。 networking意识。

另一个好的系统是CloudFlare或类似的东西。 到目前为止,我喜欢CloudFlare,因为他们托pipe你的DNS。 这使得pipe理您的网站更容易。 我不确定交通和速度统计。 我的网站没有很多的stream量,所以它不关心我。 到目前为止,我的经验已经确定。 有一个WordPress的CloudFlare插件,它允许你看到试图login到你的网站的实际IP地址。 否则,您需要插件,所有的攻击看起来像是来自Cloudflare的IP地址。

CloudFlare CloudFlare将您的博客与CloudFlare平台集成在一起。

http://www.fail2ban.org是我个人的最爱。 您将其编程为查看日志文件并根据活动运行脚本。

最具体的,你会有Fail2Ban看WP失败尝试的WP身份validation日志,并可能只是在防火墙级别禁止这些IP几分钟。 我在所有公共的服务器/服务上运行这个。

在我的10个login失败=> 10分钟防火墙(对于大多数服务)。 这有效地限制了密码暴力攻击每分钟1密码(除非你的密码是“asdf”,他们永远不会进入),但是10足够高,我的技术不太好的用户不会很容易被locking。

你可以写一些相当复杂的规则,如果你真的想深入它,让Apache返回特定的错误信息到冒犯的IP或各种其他的乐趣(我个人最喜欢的是发送滥用报告的IP座业主)。 但是开始很容易。

http://wordpress.org/extend/plugins/simple-login-lockdown/

怎么运行的:

  1. 攻击者尝试login并失败。
  2. 简单loginlockinglogginglogin失败。
  3. 在一定数量的失败尝试(默认为5)后,进一步尝试访问wp-login.php页面将被阻塞一段时间(默认为一小时)。

如果你在Apache上运行它,你可以尝试下面的模块:

  • mod_evasive (更多地关注减lessDoS暴露)
  • mod_cband (最好的“普通”带宽控制function)
  • mod_limitipconn
  • mod_bw
  • mod_bwshare

或者,您可以使用Modsecurity来完成。 这是一个很好的文章:

http://www.dongit.nl/tech/modsecurity-brute-force-protection

和Nginx一起:

  • HTTP限制模块