百度ip, 查询出口 ip ,编辑 /usr/local/nginx/conf/modsecurity/modsecurity.conf 文件 ( 也可以自定义一个文件 , 在自定义文件里加入规则集,防止破坏原生的 modsecurity.conf 文件 ) 。
# 黑名单拦截规则:
SecRule REMOTE_ADDR "@ipMatch 220.112.124.125" "id:1238,phase:1,log,auditlog,deny,status:403"
{ REMOTE_ADDR 远程地址, 访问者 ip }
# 黑名单拦截加重定向规则:
SecRule REMOTE_ADDR "@ipMatch 220.112.124.125" "id:1239,phase:1,log,auditlog, redirect:http://modsecurity.cn/practice/intercept.html "
# 取消某个规则 ID :
1 、 49.234.128.215/?id=1 AND 1=1 ( 模拟简单的 SQL 注入 )
2、 SecRuleRemoveById 949110
# 白名单释放规则:
SecRule REMOTE_ADDR "@ipMatch 220.112.124.125" "id:1000,phase:1,pass,nolog,ctl:ruleEngine=Off"
{ Ctl 改变当前事务的配置 (ctl 临时修改 ModSecurity 配置 ) 例如 = 》 ctl:ruleEngine=off 代表关闭拦截模式,所有规则失效。 }
(二、 规则检测模式)
传统检测模式- 自主规则 :
传统检测模式所有规则都是“闭环”的模式;规则之间不共享信息。它仅使用其当前的单个规则逻辑进行检测。如果规则触发,它将执行当前规则中指定的中断 / 记录日志操作。
优点 :速度快(因为直接阻断了,停止进一步处理)。
缺点 :误报/ 漏报率比较高。
异常评分检测模式 - 协作规则概念:
这种改进的检测模式的核心理念是实施协作检测和延迟阻塞。它会进行事务性异常评分记录。
另外,每个规则还将存储关于每个规则匹配的元数据(例如规则ID ,攻击类别,匹配位置和匹配数据)在唯一 TX 变量内。
使用ModSecurity 的 setvar 动作增加异常分数。
· Critical : 异常得分5 ,表示可能应用程序攻击,主要由 93x 94x 文件生成。
· Error : 异常得分4 ,表示可能数据泄露,主要有 95x 文件生成,暂不支持 nginx 和 nginx plus 。
· Warning : 异常得分3 ,表示可能恶意客户端,主要由 91x 文件生成的。
· Notice: 异常得分2 ,表示可能违反协议,主要由 92x 文件生成。
以图种的 critical 为例: 严格等级为“ critical ”的每个 CRS 规则都会将每次规则匹配的事务异常分数提高 5 分。
优点 :
允许用户设置适合他们的阈值 - 不同的网站可能有不同的阻止阈值。
对阻止的信心增加 - 由于更多检测规则导致异常评分,评分越高,您越有信心阻止恶意事务。
缺点 :
对于普通用户来说使用更为复杂。
日志监控脚本可能需要不断更新才能正确分析。
攻击操作 :
1 、 49.234.128.215/?id=1 AND 1=1 ( 模拟简单的 SQL 注入 )
接着分析日志以及crs-setup 脚本文件:
2、 更改阈值,编辑crs-setup.conf 文件(变为传统模式)