Nginx+ModSecurity返回403调整参数

news/2025/3/20 18:19:10/文章来源:https://www.cnblogs.com/lijintao1025/p/18783643

这个错误日志表明你的服务器上的 ModSecurity 防火墙(基于OWASP CRS规则集)拦截了一个请求,并返回了 HTTP 403 Forbidden 错误。以下是关键信息解析和解决方案:


错误原因

  1. 触发规则

    • 规则文件: REQUEST-949-BLOCKING-EVALUATION.conf (OWASP CRS规则集)
    • 规则ID: 949110
    • 阶段: 阶段2(请求体处理阶段)
    • 触发原因: 总异常分数(TX:BLOCKING_INBOUND_ANOMALY_SCORE)≥5
  2. 异常评分机制

    • OWASP CRS规则集会为每个可疑行为分配分数,多个规则触发时分数会累积。
    • 当总分数超过阈值(默认5分)时,请求会被拦截。

诊断步骤

1. 查看完整请求日志

检查 Nginx访问日志ModSecurity审计日志,找到被拦截请求的详细信息:

# 查看Nginx访问日志(路径可能不同)
tail -f /var/log/nginx/access.log | grep '174245969959.027378'# 查看ModSecurity审计日志(需确认日志路径)
grep '174245969959.027378' /usr/local/nginx/logs/modsec_audit.log

2. 分析触发规则

在日志中查找其他相关规则ID(形如 id:942XXXid:941XXX),这些是具体触发异常的规则,例如:

  • SQL注入(规则ID 942XXX)
  • 跨站脚本(XSS)(规则ID 941XXX)
  • 恶意文件上传(规则ID 950XXX)

3. 检查请求内容

关注以下字段:

  • 请求URL: /iaa_notify
  • 请求参数: GET请求中的查询字符串(如 ?key=value
  • 请求头: User-Agent, Referer, Cookie
  • 请求体: 如果是POST请求,检查提交的数据。

解决方案

方案1: 调整异常阈值(临时)

修改OWASP CRS配置文件 crs-setup.conf,提高异常阈值:

# 编辑配置文件
vim /usr/local/nginx/conf/modsecurity/rules/crs-setup.conf# 找到以下行并调整阈值(默认5)
SecAction \"id:900110,\phase:1,\nolog,\pass,\setvar:tx.inbound_anomaly_score_threshold=10"

重启Nginx生效:

systemctl restart nginx

方案2: 禁用特定规则

如果确认是误报,禁用触发异常的规则(例如规则942100):

# 在ModSecurity规则文件中添加
SecRuleRemoveById 942100

方案3: 白名单配置

对合法请求路径(如 /iaa_notify)添加白名单:

# 在Nginx配置或ModSecurity规则中添加
SecRule REQUEST_URI "@beginsWith /iaa_notify" \"id:1001,\phase:1,\pass,\nolog,\ctl:ruleEngine=Off"

方案4: 调试模式

暂时关闭拦截,仅记录日志(用于排查):

SecRuleEngine DetectionOnly

关键配置文件路径

文件/目录 作用
/usr/local/nginx/conf/modsecurity/rules/ OWASP CRS规则文件目录
/usr/local/nginx/conf/modsecurity/modsecurity.conf ModSecurity主配置文件
/var/log/modsec_audit.log ModSecurity审计日志

注意事项

  1. 不要盲目禁用规则
    先确认触发的规则是否是误报,禁用关键安全规则可能导致漏洞暴露。

  2. 监控调整后的效果
    修改阈值或规则后,观察日志中是否仍有异常请求。

  3. 更新规则集
    定期更新OWASP CRS规则集以应对新威胁:

    cd /usr/local/nginx/conf/modsecurity/rules/
    git pull origin v4.13.0
    

如果需要进一步分析具体请求内容,请提供完整的 ModSecurity审计日志片段

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/902125.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

keil仿真时导出数据操作

keil仿真时导出数据操作 save D:\savedata.txt 0x20001013,0x20001035

spring-boot-starter-validation

官方提供的注解 spring-boot-starter-validation 是 Spring Boot 提供的一个 starter,是一个用于验证 Java Bean 的标准,它提供了一套注解和相应的运行时 API 来定义和执行校验规则。 具体来说,当你在项目中引入 spring-boot-starter-validation 后,你可以使用一系列预定义…

省选算法复习

省选算法复习 1. 线段树优化建图 当我们需要向区间内所有点连边或者从区间中所有点连到某个点的时候,便可以使用线段树来优化,如果需要从区间每一个点连到另一个区间每一个点的话,加一个虚点就好了。 这不是一个很困难的技巧,关键在于要建模。 P5471 [NOI2019] 弹跳 - 洛谷…

fastadmin订单父子表管理端

fastadmin后台父子表使用方法 发布于 2021-01-22 12:48:10fastadmin后台的所有表格都是支持父子表配置的,只需要简单修改一下对应的JS即可,下面直接进入主题。示例是我的全国省市行政区划表,是从国家统计局网站采集下来的,共五级行政数据,非常适合用来做父子表,按照级别一…

Rudolf and k Bridges

Rudolf and k Bridges 题目 大致题意上图为俯视图 有一个\(nXm\)的网格,下标从\(1-n\) 以及从 \(1-m\),\((i, j)\) 的值就是这个这垂直一格水的深度 现在要安装支架,有几个信息:\((i, 1)\) 和 \((i, m)\) 处必须要安装相邻支架的距离不能超过 \(d\), 相邻距离为 \(abs(j - …

背离Divergence Trading ,贪小便宜

趋势交易(trend trading)和背离交易(divergence trading),代表了两种不同的交易策略。做背离交易相当于赌市场短期失效,承认你比市场聪明,虽然能赚小钱,但往往是亏大钱的根源。 贪小便宜爱背离,贪小便宜(gain small advantages)不爱止损(cut losses),所以背离和不止损…

在鸿蒙NEXT开发中实现一个语音识别组件

鸿蒙系统发布以后都不知道叫它5.0版本还是NEXT版本了,哈哈,反正是最新版本就对了。对于语音转换文字,鸿蒙系统提供了离线语音识别模型speechRecognizer,语种目前支持中文,识别效果非常不错。今天要分享的是使用speechRecognizer实现一个语音识别组件。要实现语音识别,首先…

激光代加工产品一览-代加工-外协加工-委外加工-激光代加工-河南郑州亚克力切割雕刻代加工-芯晨微纳(河南)

关键词:河南省郑州市、激光代加工、激光打标、激光切割、激光雕刻、激光打孔、激光毛化、激光分切 简介:芯晨微纳(河南)光电科技有限公司,专注于激光微纳代加工、设备/耗材代理销售、设备租赁、技术推广服务,可处理材料类型及应用范围十分广泛,欢迎来电咨询(韩经理1823…

20242801 2024-2025-2 《网络攻防实践》第4次作业

20242801 2024-2025-2 《网络攻防实践》第4次作业 一、实验内容 ​ 在虚拟机环境中完成TCP/IP协议栈重点协议的攻击实验,学习ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击、TCP会话劫持攻击的原理和相关知识,并动手进行实践。 二、实验过程 (一)ARP缓存欺…

缓存监控治理在游戏业务的实践和探索

通过对 Redis 和 Caffeine 的缓存监控快速发现和定位问题降低故障的影响面。作者:来自 vivo 互联网服务器团队- Wang Zhi 通过对 Redis 和 Caffeine 的缓存监控快速发现和定位问题降低故障的影响面。 一、缓存监控的背景游戏业务中存在大量的高频请求尤其是对热门游戏而言,而…

从零开始驯服Linux(一):ZYNQ-Linux启动文件构建全解析

从零开始驯服Linux(一):ZYNQ-Linux启动文件构建全解析 ZYNQ系列芯片集成了ARM处理器和FPGA(可编程逻辑单元),正是因为由于ARM处理器的存在,所以我们可以在ZYNQ系列芯片上面运行Linux系统。 在ZYNQ系列芯片上运行Linux会给我们带来很多优势:首先,我们可以将部分逻辑处理…

# 20241902 2024-2025-2 《网络攻防实践》第六周作业

1.实验内容 通过本周的学习和实践,学习使用metasploitable对windows进行远程的渗透测试实验;学习利用wireshark进行日志文件的分析和攻击取证,解读攻击者所利用的攻击、攻击者的具体操作以及如何对攻击行为进行防范;实践同一内网中对利用metasploitable对其他windows系统进…