如果要进行5次以上无效的登录尝试,我想阻止IP地址。
我正在使用apache2网络服务器,而apache只是对该登录名进行验证并代理到码头服务器。
为了防止暴力攻击,我正在使用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。
任何帮助将在这里很明显。提前致谢!