Apache modsecurity:每秒限制每个资源的请求

时间:2018-04-30 20:16:05

标签: apache mod-security2

我尝试为Apache配置modsecurity以限制每单位时间对同一资源的请求数:每个资源每秒10次点击,无论请求是哪个IP地址。希望不要阻止额外的呼叫,而是重定向到给定的页面。

我包含了模块并在httpd.conf中放置了下一个代码:

<LocationMatch "(.*)\.dimg(.*)">
  SecDebugLogLevel 9
  SecAction phase:2,initcol:resource=%{REQUEST_URI},pass,nolog,id:132
  SecRule RESOURCE:COUNT "@gt 10" "phase:2,pause:300,deny,status:503,setenv:RATELIMITED,skip:1,nolog,id:102"
  SecAction "phase:2,setvar:resource.count=+1,pass,nolog,id:103"
  SecAction "phase:5,deprecatevar:resource.count=10/1,pass,nolog,id:104"
  Header always set Retry-After "10" env=RATELIMITED
  ErrorDocument 503 "Service Unavailable"

然后我运行压力测试来模拟高负荷。 但是额外的请求不会被阻止。 来自日志: 记录的原始集合变量:resource.count =&#34; 0&#34;

结果SecRule RESOURCE:COUNT&#34; @gt 10&#34;对于任何请求都返回false。

这里有什么问题?

0 个答案:

没有答案