Edgio Logo

Edgio Blog

Edgio WAF 规则 —— 在混乱中创造秩序


我的每一天充满了来自现有和潜在客户的各种问题。

其中,我喜欢回答的一个问题是:是什么让我们的 web 应用程序防火墙(WAF)和我们的安全规则集如此精准?

当考虑到过去几年发生的新攻击载体和漏洞的冲击时,准确性是至关重要的。事实上,网络安全和基础设施安全机构(CISA)最近在其已知利用漏洞目录中增加了66个新漏洞。CISA 并不是唯一关注安全性和性能的机构。根据 WAF 最近的一项调查,企业希望减少误报、告警疲劳,并希望看到 WAF 管理的改善。要更深入地了解企业如何调整其应用程序安全实践,请阅读我们的 WAF 基准报告

那么是什么让 Edgio 管理的 WAF 规则更有效呢?在较高的层次上,这与我们运行 WAF 规则、混合签名和异常评分模式有关,也与托管 WAF 规则的特殊顺序有关。我们通过自有的 waflz 引擎在毫秒内完成这些过程,在不牺牲性能的情况下提供安全性。

下面,让我们更详细地讨论这个问题。

问题剖析

在回顾托管 WAF 规则的内部工作原理之前,让我们先看看 WAF 中不同的保护层。WAF 规则模块的每一层都起着重要作用。下面的信息概述了它的功能。

访问控制规则

访问控制规则提供了创建允许列表、拒绝列表和正向安全访问列表的能力,以根据IP地址、国家、ASN、用户代理、cookie、引用者、URL、HTTP 请求方法、内容类型、文件扩展名、文件大小和请求头对流量进行过滤。

速率限制规则

速率限制规则限制 HTTP 请求流到 WAF 后面的应用程序,以防止恶意或意外的应用程序 DDoS 流量,并防止客户源服务器因请求而过载。

Bot 管理规则

机器人管理规则通过要求客户端(例如,web 浏览器)在允许请求继续之前解决一个挑战来缓解自动化流量。当客户端无法解决此挑战时,WAF 阻止请求到达应用程序。基本的机器人通常无法解决这类挑战,因此它们的流量会得到缓解。这可以保护您的网站免受机器人抓取内容、刷卡、发送垃圾邮件、发起 DDoS 攻击和广告欺诈的影响。

自定义 WAF 规则

自定义 WAF 规则将我们强大的 WAF 引擎放在您的手中,您可以创建自己的 WAF 规则。恶意流量是通过使用变量的组合(即请求头、正文、查询、方法、URL、cookie等)来识别的。此方法为威胁检测提供了更大的灵活性,并使您能够筛选特定的恶意请求并采取措施缓解它们。自定义威胁识别结合快速测试和部署,使您能够通过创建虚拟补丁快速解决长期漏洞以及零日漏洞。

WAF 管理规则

Edgio WAF 管理规则通过我们创建的预定义规则集识别恶意流量。受管理的 WAF 规则由 500 多条细则组成,分为三类:1)Edgio专有规则。2)高级应用程序特定规则。3)通用 OWASP 规则。这为不同的攻击类别和应用程序提供了各种安全策略和规则的综合集合。在执行威胁评估时,可以自定义每个托管 WAF 规则,以通过排除某些变量(即cookie、头和请求参数/查询字符串)来防止误报。

正如您所看到的,我们的 WAF 规则有很多层,在每一层中,可能有几十到数百个 WAF 必须运行的规则和条件。每个规则都有可能引入误报并影响性能。更为复杂的是,Edgio WAF 提供了在双层 WAF 模式下运行的独特功能,在这种模式下,您可以同时为生产流量运行两个版本的安全配置,用于访问控制规则、自定义WAF 规则和托管 WAF 规则。随着我们持续增强我们的安全解决方案,我们将增加额外的保护层。这就提出了一个问题,我们如何确保 WAF 在所有这些功能和混乱的规则中精确高效地处理数百万个请求?

从混乱中创造秩序

除了拥有一个专门设计用于在高性能多租户环境中扩展的功能强大的自制 WAF 引擎(waflz)外,关键是创建适当的操作顺序,以最高效地运行 WAF。为了实现这一点,我们的 WAF 按照以下顺序运行其不同层次的规则模块:

 1.访问控制规则:所有请求都由一组静态的客户配置进行允许/拒绝/访问列表过滤,这些列表由前面提到的变量组成。WAF 会丢弃与拒绝列表匹配的任何请求,从而阻止进一步处理任何不需要的流量。

 2.速率限制规则:通过访问控制规则的请求随后由速率限制规则跟踪,该规则在配置指定的时间窗口内跟踪每个客户端的请求。WAF 会丢弃超过特定请求速率阈值的请求,从而进一步减少了继续执行下一步的请求量。

 3.Bot Manager 规则:每个到达此步骤的请求都会收到一个浏览器质询,以检测自动客户端或原始 Bot。所有未能解决质询的请求都将被阻止继续。大多数攻击都是通过自动化客户端进行的,因此这是一种有效的解决方案,可以进一步减少后续计算密集型进程处理的请求量。

 4.自定义规则:在这一步中,WAF 使用客户创建的各种自定义筛选器检查请求,以检测和缓解被认为不需要的请求。这可以包括客户可以实时部署的任何特定于应用程序的规则,以减少零日漏洞,而无需等待管理的 WAF 规则集更新。这是一个非常有用的工具,可以获得对特定攻击的可见性和控制。由于自定义 WAF规则的特殊性,它们优先于 Edgio 提供的托管 WAF 规则,并将在将请求传递到最终层之前处理这些请求。

 5.托管规则:到达此阶段的任何请求都由托管 WAF 的 500 多条规则处理,这些规则跨越 Edgio 专有、高级应用程序特定和通用 OWASP 类别。

图1:Edgio WAAP工作流 

按顺序处理每个请求(如图1所示)确保执行多层过滤。这有助于我们在请求达到托管 WAF 规则之前捕获客户正在寻找的攻击(即拒绝列表的IP/国家/地区、应用程序 DDoS/HTTP 洪水攻击、自动客户端和特定自定义请求签名)。然而,这只是安全方案的一部分。

WAF 的有效性不仅仅取决于其缓解攻击的能力(告警),还取决于其防止合法流量被阻止的能力(误报)。让我们回顾一下我们是如何在减少误报的同时捕获大部分应用攻击的。

深入了解 Edgio 托管 WAF 规则

当一个请求到达托管 WAF 规则时,它将被我们自研的 Edgio 规则集(ECRS)评估,该规则集有 500 多条,专门用于缓解广泛的应用攻击。这带来了额外的复杂性,因为有这么多类别的规则【即一般的SQL注入(SQLi)、跨网站脚本(XSS)和远程代码执行(RCE)规则】和特定的 WordPress、Joomla 和 Apache Struts 规则。需要仔细地确定优先次序,以确保它们相互补充,以最大限度地提高准确性。 与前面提到的 WAF 规则模块一样,关键是 ECRS 每个类别之间的操作顺序。在 ECRS 中,请求按以下顺序由不同的规则类别处理:Edgio 专有规则>高级应用程序特定规则>通用 OWASP CRS 规则。

1.Edgio 专有规则和应用程序特定规则查找与特定类型应用程序的特定漏洞相关的签名。这些规则为应用程序(即 Apache Struts、WordPress、Joomla、Drupal、SharePoint、cPanel 等)提供了覆盖范围,并且在检测对这些应用程序的攻击时非常准确。我们将这些规则设计为已签名(又名二进制)模式运行,这意味着任何触发这些规则的请求都会引发应对行动。这些规则为应用程序匹配和过滤特定攻击向量提供了一种更加外科化的方法;因此,它们是 ECRS 过滤器的第一层。由于与任何专有规则和应用程序特定规则不匹配的请求仍然会给客户的应用程序带来风险,因此我们需要另一种方法来检测下一阶段的潜在攻击。

2.ECRS 中的通用 OWASP CRS 规则查找与不同常见攻击类别(即SQLi、XSS、RCE、协议冲突、本地文件包含(LFI)、远程文件包含(RFI)等)相关的签名组合。这些规则共同确定请求是否显示符合攻击类别的签名组合。这些通用规则以异常评分模式运行,客户可以通过调整异常评分阈值来定义规则敏感性,以控制需要触发多少规则才能将请求视为恶意请求。异常得分阈值越低,通用规则集越敏感或越严格,潜在恶意请求越容易超过阈值。客户可以根据应用类型和风险承受能力灵活调整 WAF 的敏感度。通用 OWASP CRS 规则是满足特定攻击特征但不一定适合特定应用程序漏洞的请求的最终捕获规则。

图2:我们的托管 WAF 规则通过特殊设计的顺序运行,实现最大限度地检测并将误报降到最低 

增强托管 WAF 规则准确性的另一个重要特性是规则的可定制性。500+个托管 WAF 规则中的每一个都可以自定义,以忽略特定的请求参数(即请求头、cookie、查询和正文参数)。这使客户能够使用简单的用户界面或 API 快速消除任何误报。

总而言之

您现在已经通过我们的 WAF 完成了 HTTP 请求的全流程。由于我们的高性能 WAF 在运行我们的内容交付服务的同一堆栈上以本地方式运行,在全球 180 多个PoP 边缘节点的每台 Edgio 服务器中每天都会发生数十亿次这种情况。在这个博客开始的时候,我提到我有很多关于 WAF 的问题。我希望您现在了解我们的WAF 方案与其他方案的不同所在。我们将智能操作顺序与各种 WAF 规则模块(从ACL到速率限制,再到 bot 和自定义规则)、托管 WAF 规则(从特定规则到通用规则)以及安全性的混合签名和异常评分模式相结合,以确保不影响性能。

打个比方:设计和组装 WAF 组件和规则集就像制作汉堡包。这不仅仅是关于有正确的配料,而是关于如何将它们结合起来做出一餐美食。相同的配料以不同的方式组合在一起会对消费者的口味和体验产生巨大影响。

马上联系我们,了解 Edgio 如何提高 web 应用程序的安全性和性能。

关于 Edgio

Edgio(NASDAQ:EGIO)是全球领先的边缘软件解决方案提供商,通过对内容交付、应用和流媒体平台的无缝集成,提供卓越的安全数字体验。Edgio全球规模的技术和专家服务为全球顶级品牌赋能,覆盖教育、娱乐、现场实况及各种应用,为每一位用户提供最迅捷、最动态和最流畅的数字体验。Edgio致力于提供无与伦比的客户服务,并在每一步都扩展价值。Edgio是首选的合作伙伴,承载了全球约20%的互联网流量,为最受欢迎的节目、电影、体育、游戏、音乐以及即时加载网站提供强大的支持服务。

Edgio 诚邀您访问

PRODUCTS