我的Web应用有一个Microsoft.Network/FrontDoorWebApplicationFirewallPolicies@2019-10-01
策略。我通过URL为某些请求传递令牌,* 有时 * 此令牌有一个双连字符--
,这意味着Azure认为这是SQL注入攻击。
我已尝试禁用导致此问题的规则,但请求仍被阻止。
所以你可以在照片中看到,它在Azure门户中告诉我哪个规则负责阻止我的请求。
所以这是我拥有的资源,我已经尝试了一些不同的事情来试图解决这个问题,但这是我尝试的最后一件事。
resource wafPolicy 'Microsoft.Network/FrontDoorWebApplicationFirewallPolicies@2019-10-01' = {
name: wafPolicyName
location: frontdoorLocation
tags: tags
properties: {
policySettings: {
mode: 'Prevention'
enabledState: 'Enabled'
}
managedRules: {
managedRuleSets: [
{
ruleSetType: 'DefaultRuleSet'
ruleSetVersion: '1.0'
ruleGroupOverrides: [
{
ruleGroupName: 'SQLI'
rules: [
{
ruleId: '942200'
enabledState: 'Disabled'
action: 'Block'
}
{
ruleId: '942440'
enabledState: 'Disabled'
action: 'Allow'
}
]
}
]
exclusions: [
{
matchVariable: 'RequestCookieNames'
selectorMatchOperator: 'Equals'
selector: 'access-token'
}
]
}
]
}
}
}
所以我把规则942440
设置为ALLOW
而不是BLOCK
,它仍然阻止请求。我错过了什么?请求怎么仍然被阻止?
这和enabledState
有关吗?
1条答案
按热度按时间jslywgbw1#
您可以尝试根据SQL注入规则为特定查询字符串创建排除项。对于您提到的目的,这是一种更安全的方法。请参阅此处的文档https://learn.microsoft.com/en-us/azure/web-application-firewall/ag/application-gateway-waf-configuration?tabs=portal