通过mod_rewrite阻止HTTP POST攻击

时间:2013-07-15 05:34:01

标签: php wordpress apache mod-rewrite

我有一个WordPress网站受到以下HTTP POST请求的攻击:

x.x.x.x - - [15/Jul/2013:01:26:52 -0400] "POST /?CtrlFunc_stttttuuuuuuvvvvvwwwwwwxxxxxyy HTTP/1.1" 200 23304 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
x.x.x.x - - [15/Jul/2013:01:26:55 -0400] "POST / HTTP/1.1" 200 23304 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"

攻击本身并不足以打倒Apache,但它确实提高了CPU使用率,而不是我喜欢它。因此,我想使用mod_rewrite阻止这些 - 直接到403页应该这样做 - 但到目前为止我还没有任何运气,我已经尝试过了。我想阻止所有空白的HTTP POST请求(到 / )以及 /?CtrlFunc _ *

我现在所做的解决方法是阻止所有HTTP POST流量但不会长期工作。

有什么想法吗?我已经投入了几个小时,并没有取得多大进展。

谢谢!

2 个答案:

答案 0 :(得分:0)

我不会通过mod_rewrite阻止请求,而是将其用作诱饵来记录违规者的IP。然后,将它们添加到防火墙内的96小时黑名单中将阻止来自它们的所有请求。

请参阅Fail2ban

具体来说,我相信Fail2ban过滤器是开始寻找特定于网址的案例的正确位置。

http://www.fail2ban.org/wiki/index.php/MANUAL_0_8#Filters

http://www.fail2ban.org/wiki/index.php/HOWTO_apache_myadmin_filter

答案 1 :(得分:0)

这是Fail2ban blog post,它为此POST攻击创建了一个过滤器。