为网络层 DDoS 攻击防护托管规则集设置重写表达式,以定义敏感度级别或操作调整的特定范围。
当考虑您应该利用哪些表达式(如有)时,请将表达式视为一个工具,将重写范围限定在网络层 DDoS 攻击防护托管规则集正在保护的特定服务上。也就是说,大多数服务是通过其目标端口和目标 IP 定义的,而不是源端口或源 IP。请参阅重要说明以获取更多信息。
例如,您可以为不同的目标 IP 地址或端口设置不同的敏感度级别:对于目标 IP 地址 A 设置为中等 (medium) 敏感度级别,对于目标 IP 地址 B 设置为低 (low) 敏感度级别。
以下字段可用于重写表达式中。
推荐在表达式中使用的字段列表:
ip.dstip.proto.numtcp.dstporttcp.flagstcp.flags.acktcp.flags.fintcp.flags.pushtcp.flags.resettcp.flags.syntcp.flags.urgudp.dstport
不推荐在表达式中使用的字段列表:
ip.srcip.lenip.ttltcp.srcportudp.srcport
有关更多信息,请参阅 Rules 语言文档中的字段参考 (Fields reference)。
重写表达式不是允许列表。重写应用于检测阶段,而不应用于最终的缓解阶段。这意味着只有当 DDoS 托管规则生成的攻击指纹 (fingerprint) 包含您表达式中指定的相同字段时,重写才会生效。因此,这使得使用诸如 ip.src、ip.len、ip.ttl、tcp.srcport 和 udp.srcport 等源头字段变得不可靠。
在表达式中使用不推荐的字段可能会导致非预期的行为。虽然您可能倾向于利用源属性,但表达式并不是允许列表,包含源流量属性可能会导致误报。
例如,如果您创建了一个对于 ip.src eq 192.0.2.1 将敏感度设置为 Essentially Off 的重写,它仅在指纹包含 ip.src 时才会应用。然而,因为 DDoS 攻击通常分布在许多源 IP 上,指纹可能根本不包含 ip.src。在这种情况下,您的重写将不会被应用。
在常见情况下,源自数千个 IP 的攻击可以针对单个目标 IP 和端口。指纹将侧重于共享属性,例如目标 IP、端口以及表示攻击模式强信号的附加数据包字段。即使您的重写与特定源 IP 匹配,如果该字段在指纹中不存在,它也不会被应用。结果,系统将使用默认的高敏感度来缓解攻击,而来自您指定 IP 的流量可能仍会被阻止。建议使用更稳定的表达式,例如协议、目标 IP 和目标端口。
每个表达式限制在 4,000 个字符以内,这意味着您在单个表达式中最多可以输入大约 200 个 IP 地址。然而,您可以使用 CIDR 格式输入 IP 地址,这允许您包含更大数量的 IP 地址。例如,您可以使用 192.0.0.0/24 来匹配从 192.0.0.0 到 192.0.0.255 的 IP 地址。