即使启用了SecRequestBodyAccess,Modsecurity也不检查POST数据

问题描述

我已经在Nginx和owasp规则上安装了modsecurity, 我已经勾选了SecRequestBodyAccess, 但是当我发送带有恶意帖子数据的请求时,它可以顺利通过 谁能帮我吗?

解决方法

  1. 默认情况下,Modsecurity将参数“ SecRuleEngine”设置为“仅检测”,并在监视模式下工作。必须设置为“开”。
  2. Modsecurity必须启用了发现恶意代码的规则-audit_log将告诉您是否发现了恶意发布数据。大多数CRS规则使用正则表达式会发现恶意。花哨的攻击需要特殊的配置或新的规则,其中一些永远不会被发现。
  3. 是否阻塞是取决于设置,如果您使用的是异常评分模式或自包含模式。

对于自包含(较旧的方式),足以具有这样的配置行(对于POST数据=阶段2):

SecDefaultAction "phase:2,log,auditlog,deny,status=403

仅此而已,如果发布数据违反任何规则-攻击者将获得403。

对于AnomalyScore模式(更新的方式,更灵活),行如下所示:

SecDefaultAction "phase:2,pass"

然后将发现异常的所有规则计数并汇总其分数。根据规则,它可以是“ critical_anomaly_score”,“ error_anomaly_score”,“ warning_anomaly_score”和“ notice_anomaly_score”。默认情况下,它们的计数为5,4,3,2。

如果计数分数等于或大于“ inbound_anomaly_score_threshold”(默认值为5),则请求将被阻止。

这就是为什么默认情况下具有Critical_anomaly_score(计为5)的一条规则可以阻止流量的原因。带有“ error_anomaly_score”(计为4)的单个规则不足以停止请求。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...