我们的客户拥有带有规则集 2.0.5 的 ModSecurity 2.0,但他在开发结束时告诉了我们这个细节。
我需要审核所有应用程序代码,并确保它不会干扰 ModSecurity。(它已经干扰了)
我知道您不能以 POST 方式提交包含键“内容”和“文档”的表单,这会严重影响我们的应用程序。
鉴于 ModSecurity 的版本/规则集的数量,在哪里我可以找到关于我不能使用哪些键 $_GET 和 $_POST 和/或禁止的标头值的易懂的解释?
我在网站上找到的文档太过笼统,或者可能是我误读了。
谢谢
答案1
欢迎来到 serverfault。
根本没有什么“钥匙”这个东西。
客户必须提供允许的现有规则或者限制请求或者写新的或者提供关于他们在与您并行测试系统时阻止的内容的非常详细的信息。或者-或者-或者
应用程序代码审计不会帮助你,它与代码无关,而是与操作有关:
创建文档,列出如何发送和接收请求和响应 - 内容、结构、身份验证等 - 一切 - 严格的文档。
规则集 2.0.5不会只是安装,它会被大量修改或配置。否则它会阻止大多数应用程序和客户端。因此,要求客户提供来自服务器的规则文件副本,不要尝试使用来自官方网站的文件 - 这是没用的,它总是根据客户需求进行修改。然后逐一检查所有规则(是的,您必须了解规则是如何编写的),检查它会干扰您的应用程序的位置,在您的系统上测试它,查找 modsecurity 的审计日志以查看问题出在哪里,重写您的应用程序或添加新规则。
我在网站上找到的文档太过笼统,或者可能是我误读了。
网站上的文档非常详细,非常庞大:https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual