我正在尝试在我的应用程序网关上设置 Azure WAF (v2)(当前首先处于检测模式以处理误报情况),但是,我看到了以下警告:
To view your detection logs, you must have diagnostics enabled.
Run Code Online (Sandbox Code Playgroud)
所以,我去Diagnostic settings那里用以下选项创建它:
日志:
ApplicationGatewayAccessLog - (已勾选)
ApplicationGatewayPerformanceLog - (已勾选)
ApplicationGatewayFirewallLog - (已勾选)
指标:
AllMetrics - (已勾选)
我也Send to Log Analytics检查过。也Archive to a storage account启用。
但我仍然看到上面提到的相同警告。知道我在这里可能会遗漏什么吗?
更新,我确实在日志中看到了以下查询的记录,但警告仍然存在:
AzureDiagnostics | where OperationName == "ApplicationGatewayFirewall"
Run Code Online (Sandbox Code Playgroud) azure-application-gateway azure-security azure-log-analytics azure-waf
我有一个使用OWASP 3.0规则集的 Azure 应用程序网关 Web 应用程序防火墙。我创建了一个自定义策略,这样我就可以创建一个自定义规则,该规则仅允许来自特定 IP 地址且优先级为 的流量1。这很棒,我可以在防火墙日志中看到规则已匹配的日志条目。不过,我还看到一些 OWASP 规则也已匹配的日志条目。
我的问题是是否可以阻止对该特定 IP 地址进行进一步的规则/规则集处理?
azure azure-application-gateway web-application-firewall azure-waf
我想知道是否还有其他人在 Azure Front Door 和 Azure Web 应用程序防火墙上遇到过这个问题并且有解决方案。
WAF 正在阻止对我们的 ASP.NET Web 应用程序的简单 GET 请求。被触发的规则是DefaultRuleSet-1.0-SQLI-942440 SQL Comment Sequence Detected。
根据这个截断的示例,我唯一能找到 sql 注释序列的地方是在 .AspNet.ApplicationCookie 中:RZI5CL3Uk8cJjmX3B8S-q0ou--OO--bctU5sx8FhazvyvfAH7wH。如果我删除 cookie 值中的 2 个破折号“--”,请求将成功通过防火墙。一旦我将它们添加回来,请求就会被相同的防火墙规则阻止。
看来我有2个选择。禁用我不想执行的规则(或将其从 Block 更改为 Log),或更改 .AspNet.ApplicationCookie 值以确保它不包含任何会触发防火墙规则的文本。cookie 是由 Microsoft.Owin.Security.Cookies 库生成的,我不确定是否可以更改它的生成方式。