问题描述
我们正在使用 apache windows web 服务器。当客户端访问我们的 Web URL 时,我们有一个登录页面(这是 apache 管理的)来验证用户身份。 我们需要对用户尝试登录失败采取措施。 我们希望在 3 次登录尝试失败后延迟暴力攻击者的登录过程。
为此,我们正在试验使用 Mod Security 模块 (ModSecurity 2.x)。
我在主 apache 配置文件 (httpd.conf) 中使用了以下配置文件
modsecurity-minimal.conf
crs-setup.conf
REQUEST-912-DOS-PROTECTION.conf
我已启用日志并检查正在执行的配置语句。日志记录正在发生。 然而,即使在 3 次不成功的尝试之后,登录页面也不会延迟。 我在 modsecurity-minimal.conf 中有以下设置
Secrule RESPONSE_STATUS "403" "phase:4,id:4001,setvar:ip.block_script=+1,expirevar:ip.block_script=1800,msg:'Attack Detected'"
Secrule ip:block_script "@ge 2" "phase:1,deny,status:406,id:4002,msg:'Repetitive Attack from the same IP Address'"
告诉我如何解决这个问题。
解决方法
您在这里缺少运算符(可能是 @eq):
SecRule RESPONSE_STATUS "403" ...