在使用 ModSecurity 的中等 nginx 配置下, HTTP-6708 速度过慢
作者: troubleshooter创建于 2026年4月27日更新于 2026年4月27日
HTTP-6708每跑一次都慢跑.
** 环境**
- Lynis版本:3.1.6
- 操作系统:Debian 13
- 内核:6.12.74+deb13+1-amd64
- 带Modsecurity的nginx(装入了927个规则)
** 说明问题**
HTTP-6708持续需要~11秒完成,触发了长执行警告,尽管nginx配置很小并几乎瞬间解析出.
** 相关系统状态**
配置大小 :
12个配置文件共2570行
37个服务器名条目(虚拟主机)nginx在0.131秒内剖析出它的全部配置,包括927 ModSecurity规则:
$ 时间 nginx - t
2026/04/27 14:17:54 [通知]88625#88625:Modsecurity-nginx v1.0.3(规则已装入内/本地/远程:0/927/0)
nginx:配置文件 /etc/nginx/nginx.conf 语法确定
nginx:配置文件/etc/nginx/nginx.conf测试成功
实数 0.131s
用户 0m0.089s
0m. 040s 日数从磁盘中查找和读取所有配置文件需要0.046秒:
$ 时间 找到 /etc/nginx - 类型 f - name "*.conf" -exec grep - l "\\\\;
[.12文件列出.]
实数 0m0.046s
用户 0m0.028s
sys 0m0.015s 时速然而Lynis HTTP-6708 在同一文件上需要~11秒.
** 记录产出**
莱尼斯审计系统... 静静
[WARNING]:测试HTTP-6708执行长:11.248315秒
[WARNING]:测试CRYP-7902执行时间长:368.423856秒** 关键意见**
HTTP-6708是用 " -- -- network NO " 注册的,这意味着它对磁盘上的配置文件进行纯静态分析。 没有网络呼叫、DNS查询或上游连接。 整个磁盘的读取以0.046s完成,因此延迟完全在Lynis自己的解析逻辑范围内.
** 可疑原因**
测试可能执行多个相继的grep通过所有配置文件——每条指令检查一次通行证——而不是单通扫描. 随着ModSecurity在配置上加载了927个规则,在完整文件树上重复迭代,甚至连一个微小的配置上,也使高架起落.
** 预期行为**
HTTP-6708应在这一大小的配置下在一秒钟内完成,这与nginx本身分析相同文件的时间一致.
** 建议的固定件**
考虑重新设置 HTTP-6708 测试逻辑, 执行对所有配置文件读取到内存的单行程序( 或临时的聚合文件) , 然后进行所有指令检查, 而不是重新扫描文件树, 以检查每个个人 。
-- -- . . .
- 注:关于同一系统的CRYP-7902也提出了相关的长期执行问题
内容来源: CISOfy/lynis