我们受到来自如下stream量的分布式拒绝服务攻击:
49.146.161.175 - - [11/Jul/2014:00:43:42 -0400] "POST / HTTP/1.1" 500 557 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)" 117.221.185.108 - - [11/Jul/2014:00:43:42 -0400] "POST / HTTP/1.1" 500 557 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)" 58.186.16.180 - - [11/Jul/2014:00:43:42 -0400] "POST / HTTP/1.1" 500 557 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
我已经能够通过将这添加到根文件夹.htaccess文件来降低影响
<Limit POST> Deny from all </Limit>
当然问题是阻止使用wp-login.php或者在/ wp-admin /
我想知道是否有一种方法来拒绝POST请求/或修改上面的方式允许使用wp-login和/ wp-admin /
感谢您的任何build议,你可以给。
由于Apache的devise,在过滤任何types的请求方面真的非常糟糕(到时候它可以了解请求,放弃请求或响应错误,已经使用了大量的资源和东西)。 我所做的和取得的巨大成功是这样的:
在Apache中安装mod_rpaf或类似的代码,并将其设置为接受来自localhost的代理。
在像8080这样的端口上安装haproxy,将其configuration为HTTP模式以代理Apache。
把一个ACL放在POST请求的URL或任何你需要放弃,acls是相当强大的haproxy。
将haproxy设置为将客户端IP置于标题中,并configurationmod_rpaf以从中获取。
添加一条NAT规则,将stream量从80redirect到haproxy端口。
使用haproxy 1.5,您也可以在SSL网站上实现相同的function。 我真的觉得haproxy真的很强大,像这样的第7层过滤。 你也可以使用nginx,但是速度有点慢,但是你有一个好处,就是你可以使用像naxsi这样的工具来获得一个真正的web应用防火墙。