Я пытаюсь добавить правило безопасности мода для реализации ограничения скорости для определенного URI в веб-приложении, обслуживаемом Apache.
Я получаю следующую ошибку при попытке перезапустить apache:
ModSecurity: No action id present within the rule
Action 'configtest' failed.
The Apache error log may have more information
Конкретно - это то, чего я пытаюсь достичь: https://johnleach.co.uk/words/2012/05/15/rate-limiting-with-apache-and-mod-security/
Кажется, что эта статья была написана для предыдущей версии mod_security, где идентификатор не требовался.
Однако я изменил правило, добавив идентификатор (как вы можете видеть, я добавил идентификатор: 1234). Поэтому я не уверен, почему я все еще получаю ошибку.
<LocationMatch "^/login_check">
SecAction initcol:ip=%{REMOTE_ADDR},pass,nolog
SecAction "phase:5,deprecatevar:ip.somepathcounter=1/1,pass,nolog"
SecRule IP:SOMEPATHCOUNTER "@gt 60" "phase:2,id:1234,pause:300,deny,status:509,setenv:RATELIMITED,skip:1,nolog"
SecAction "phase:2,pass,setvar:ip.somepathcounter=+1,nolog"
Header always set Retry-After "10" env=RATELIMITED
</LocationMatch>
Не совсем уверен, как это отладить. Любой вклад приветствуется.