对我的应用程序的合法请求被 AWS WAF 中的 AWS 托管规则组阻止。我想了解这些规则是如何引起误报的。另外,我想保留托管规则,允许合法流量通过。
解决方法
首先,找出由 AWS 托管规则引起的误报。然后,使用标签或范围缩小语句将这些误报添加到您的允许列表中。
检测由托管规则组引起的误报错误
完成以下步骤:
-
在您的 AWS WAF 日志中的 terminatingRuleId 下,找到阻止合法请求的托管规则组。以下是 AWS WAF 日志的示例:
"timestamp": 1712236911743,
"formatVersion": 1,
"webaclId": "arn:aws:wafv2:us-west-2:***:regional/webacl/WAFtester/3c372***-***",
"terminatingRuleId": "AWS-AWSManagedRulesCommonRuleSet",
"terminatingRuleType": "MANAGED_RULE_GROUP",
"action": "BLOCK",
"terminatingRuleMatchDetails": [],
"ruleGroupList": [{
"ruleGroupId": "AWS#AWSManagedRulesCommonRuleSet",
"terminatingRule": {
"ruleId": "SizeRestrictions_BODY",
"action": "BLOCK",
"overriddenAction": "BLOCK",
"ruleMatchDetails": null
},
"nonTerminatingMatchingRules": [],
"excludedRules": null,
"customerConfig": null
}],
-
在 terminatingRule 下,找到 ruleId 以确定阻止合法请求的规则。例如: "SizeRestrictions_Body"。
-
确定引起误报的属性或条件。例如,如果某数据库管理员远程运行存储的过程,则他们的请求可能包含大量数据。由于 SizeRestrictions_Body 规则,ManagedRulesCommonRuleSet 规则组会阻止这些请求。
将误报添加到您的允许列表
配置 Web 访问控制列表(ACL),以允许合法请求通过引起误报的托管规则组。要修改托管规则组,请使用标签或使用范围缩小语句。
**注意:**最佳做法是使用标签来制定精细的显式规则。范围缩小语句不检查超出规则组中所有规则范围的请求。
标签
使用 AWS 托管规则添加的标签来防止误报。当您创建与具有这些标签的请求匹配的自定义规则时,请更改托管规则组内规则的默认操作。
完成以下步骤:
- 打开 AWS WAF 控制台,然后选择您的 AWS 区域。
- 在导航窗格中,选择 IP 集。
- 创建一个 IP 集,其中包含要排除在规则组检查范围之外的合法 IP 地址。
- 选择 Web ACL,然后选择您的 Web ACL。
- 在规则下,选择引起误报错误的规则组,然后选择编辑。
- 选择引起误报错误的规则,然后将其设置为计数。
- 选择保存****规则。
- 选择添加规则,然后选择添加我自己的规则和规则组。
- 对于规则类型,选择规则生成器。
- 输入规则名称。
- 对于类型,选择常规规则。
- 将如果请求下拉列表设置为**匹配所有语句 (AND) **。
- 为语句 1 选择以下参数:
对于检查,选择有标签。
对于匹配范围,选择标签。
输入引起误报的规则的标签名称。
- 为语句 2 选择以下参数:
开启否定语句结果。
对于检查,选择源自 IP 地址。
对于 IP 集,输入包含合法 IP 地址的 IP 集。
对于作为来源地址的 IP 地址,请选择源 IP 地址。
- 对于操作,选择阻止。
- 在设置规则优先级下,将规则的优先级设置为低于 AWS 托管规则组的优先级。
- 选择保存。
范围缩小语句
使用范围缩小语句缩小规则或规则组评估的请求的范围。规则组中添加范围缩小语句后,就可以检查请求。该语句会跳过语句中包含的合法 IP 地址。
完成以下步骤:
- 打开 AWS WAF 控制台,然后选择您的区域。
- 选择 IP 集。
- 创建一个 IP 集,其中包含要排除在规则组检查范围之外的合法 IP 地址。
- 选择 Web ACL,然后选择您的 Web ACL。
- 在规则下,选择要向其添加范围缩小语句的 AWS 托管规则,然后选择编辑。
- 创建排除您创建的 IP 集的范围缩小语句。例如:
对于如果请求,选择与语句不匹配 (NOT)
对于检查,选择源自 IP 地址
对于 IP 集,输入 example-IP-set。注意:将 example-IP-set 替换为要排除的 IP 地址
对于作为来源地址的 IP 地址,请选择源 IP 地址。注意:将源 IP 地址替换为您的 IP 地址。
- 选择保存规则。