Я хотел бы заблокировать IP-адрес, если имеется более 5 недопустимых попыток входа в систему.
Я использую веб-сервер apache2, и apache выполняет проверку только для этого имени входа и передает его на сервер Jetty.
Чтобы предотвратить атаку методом перебора, я использую mod_security lib.
мой API входа в систему: / login / api / system / session
правило, которое яВ файле modsecurity.conf определено следующее:
SecAction phase:1,id:109,initcol:ip=%{REMOTE_ADDR},nolog
SecRule REQUEST_URI "@rx ^/login/(.*)$" "nolog,chain,phase:1,id:110,setvar:ip.auth_attempt=+1,deprecatevar:ip.auth_attempt=5/60"
SecRule RESPONSE_BODY "@contains 401" "log"
SecRule IP:AUTH_ATTEMPT "@gt 5" "log,drop,phase:1,id:111,msg:'Possible Brute Force Attack'expirevar:ip.auth_attempt=60"
Это правило работает нормально, но проблема заключается в том, что каждые пять непрерывных успешных входов в систему в течение 30 секунд блокируют IP-адрес.
Ожидается: он должен блокировать IP-адрес только в случае неправильных попыток входа в систему.
здесь будет полезна любая помощь.заранее спасибо!