在 Spring Cloud Gateway 上实现 ModSecurity 相同的处理

问题描述

我正在做一个项目,它使用 Spring Cloud Gateway 实现与 ModSecurity 相同的功能。 我们也旨在实现读取核心规则集的功能。 换句话说,我们的目标是 Java 版本的 Web 应用程序防火墙。

但是,我遇到了以下问题。

  • 我找不到关于 ModSecurity 类和方法规范的任何文档。 (API 参考等文档)
  • ModSecurity 是用面向对象的编程编写的,但我不明白如何用 Spring Cloud Gateway 的响应式编程来代替它。

问题

  1. 是否可以获得有关每个 ModSecurity 类和方法的规范的文档?
  2. 在 Spring Cloud Gateway 中创建 WAF 时,是否有可能有用的项目或书籍?

解决方法

OWASP CRS dev-on-duty here.

您要求的文档可能不存在。但是,有几家商业公司重新实现了运行 OWASP CRS 所需的 Core ModSecurity 功能。我认为这是要走的路。

该功能可能最好在 ModSecurity 手册(-> Feisty Duck 网站)中指定。

同样有希望的事情是研究 msc_pyparser (-> GitHub) 一两天。在概念层面上,该库允许您读取 ModSec 规则,将其转置,然后再次导出。因此,您可以将规则转换为 Java 代码并创建输入 (/output) 验证过滤器。