App Insights cookie被Azure防火墙阻止



我们在前端使用Application Insights,我们还使用带有WAF(Web应用程序防火墙(策略的Azure Front Door。

我可以在WAF日志中看到,许多请求被一些WAF托管规则阻止。

当我检查WAF日志时,我发现请求被cookieai_sessionai_user(应用程序洞察cookie(中的值阻止。

阻止请求的规则:

  • (942210(检测连锁SQL注入尝试1/2-由于ai_session cookie中的OR值而阻止请求,如下所示:D/6NkwBRWBcMc47+EFP|1647504934370|1647505171554
  • (942450(SQL十六进制编码已识别-由于ai_user cookie中的Ox值而被阻止,如下所示:mP4urlq9PZ9K0xc19D0SbK|2022-03-17T10:53:02.452Z
  • (932150(远程命令执行:直接Unix命令执行-阻止,因为ai_session cookie的值为:KkNDKlGfvxZWqiwU945/Cc|1647963061962|16479630 61962

有没有一种方法可以强制App Insights生成";"安全";饼干
为什么Azure生成cookie值,而另一方面会导致Azure防火墙阻止请求
我知道我可以允许这些WAF规则,但还有其他解决方案吗?

我们也开始遇到这个错误;按照您的指示禁用(或设置为允许(OWASP规则将起作用。

我在项目页面上打开了一份错误报告,在这里更详细地概述了这一点:https://github.com/microsoft/ApplicationInsights-JS/issues/1974正如你所指出的,最可笑的是WAF规则的Regex过于热心。

Cookie最终使用的ID由以下代码部分生成:https://github.com/microsoft/ApplicationInsights-JS/blob/0c76d710a0cd465f0b8b5e143250898122511874/shared/AppInsightsCore/src/JavaScriptSDK/RandomHelper.ts#L125-L145

如果开发人员选择,他们有各种方法来解决问题:

  1. 根据已知正则表达式列表测试生成的cookie,然后在失败时重新生成
  2. 删除一些有问题的组合以完全避开规则

我们得看看结果如何。如果你不能做到这一点,理论上你可以分支项目,然后自己添加这样的更改,但我不建议出售SDK。

最新更新