如何保护我的WordPress / Apache网站免受暴力僵尸networking攻击?

有什么东西(僵尸networking?),显然是攻击我的WordPress的网站。 我在Apache访问日志中看到很多这样的条目,每秒几个:

46.105.113.8 - - [14/Apr/2013:22:57:18 -0400] "POST /blog//wp-login.php HTTP/1.1" 200 4115 "-" "Mozilla/5.0 (X11; U; Linux i686; pt-BR; rv:1.9.0.15) Gecko/20091028 15 Ubuntu/9.04 (jaunty) Firefox/3.0.15" 74.207.229.103 - - [14/Apr/2013:22:57:19 -0400] "POST /wp-cron.php?doing_wp_cron=1365994639.0381069183349609375000 HTTP/1.0" 200 222 "-" "WordPress/3.5.1; http://mysite.com" 

我在想,有些东西正在试图蛮力猜测密码。

我有一个想法是阻止所有的请求wp-login.php,除了我的家庭IP地址。 我将如何做到这一点?

还是有一个Wordpress插件,将自动阻止这些暴力攻击?

还是有更好的主意?

我在Ubuntu 12.04上运行Apache 2.2.22。

在大规模(对于多个站点),我build议使用Mod安全规则来监视wp-login.php上的POST,并在一定数量后阻塞。 在较小的范围内,我会推荐如下的东西:

http://wordpress.org/extend/plugins/better-wp-security/

在每种情况下,我已经看到,更改loginURL(插件的一个function),很好地缓解了这一点。 您也可以pipe理IP访问 – 尽pipe您也可以通过wp-admin目录中的.htaccess来执行此操作。

感谢您的指点。

这里有几个Wordpress插件会阻止多次失败的login尝试后的IP地址:

  • 更好的WP安全
  • Wordfence

由于我有一堆WordPress的网站,并希望快速停止攻击,我不想在任何地方安装插件…这就是我最终做的:

  1. 通过使用Ubuntu 12.04上的如何安装mod_security中的指示安装了Apache mod_security – 正如神经所说,mod_security是一个Apache模块,可以帮助防止这样的攻击,还有许多其他很酷的安全措施。 我按照上面的文章中的说明安装默认规则集。
  2. 通过在Google中input“我的IP地址”,find了我的家庭networking的IP地址 。
  3. 我在/etc/modsecurity/modsecurity.conf文件中添加了以下规则:
  # site configuration # allow all access from home SecRule REMOTE_ADDR "^1.2.3.4" phase:1,nolog,allow,ctl:ruleEngine=off # deny all access to wp-login to prevent wordpress botnet attacks SecRule REQUEST_URI "@rx (.*)wp-login.php(.*)" deny,nolog 
  1. 我用我的家庭IP地址replace了1.2.3.4。 (如果你从多个IP地址访问你的WordPress站点,你可以有多行这样的,但我不需要这样做。)
  2. 我重新启动了Apache:$ sudo /etc/init.d/apache2 restart就是这样 – 它阻止了僵尸networking的攻击。 我检查了我的Apache日志,看到代替成功代码(200),有僵尸networking请求返回403错误代码。

最终僵尸networking放弃了并停止了POST尝试。

稍后我可能会回头安装这两个插件中的一个。

使用fail2ban来保护所有types的攻击。