AWS WAF将在Web请求进入应用程序之前执行其安全规则,可以捕获并处理恶意流量,从而提高应用程序的安全性。但是,SOAP或XML-RPC等特定类型的请求会导致AWS WAF检查程序在处理请求时增加延迟。
解决此问题的一种方法是在WAF规则中加入不检查特定请求类型的规则。例如,以下是忽略SOAP请求的AWS WAF规则示例:
{
"Name": "IgnoreSOAPRequests",
"Priority": 0,
"Action": "ALLOW",
"RuleId": "f266f7a9-cd06-4435-808a-7432e3ed44f1",
"Statement": {
"ByteMatchStatement": {
"FieldToMatch": {
"Type": "BODY",
"Data": "SOAPAction"
},
"PositionalConstraint": "CONTAINS",
"SearchString": "\"\"",
"TextTransformations": [
{
"Type": "DECODE"
}
]
}
},
"VisibilityConfig": {
"SampledRequestsEnabled": true,
"CloudWatchMetricsEnabled": true,
"MetricName": "IgnoreSOAPRequests",
"DebugLoggingEnabled": true
}
}
此规则会在请求的SOAPAction中搜索空字符串,并在找到匹配项时允许请求通过,从而避免AWS WAF对此类请求进行复杂的处理,进而提高应用程序的性能和吞吐量。