Home Blogs Edgio WAAP规则–创建混乱的秩序
Download
Applications

Edgio WAAP规则–创建混乱的秩序

About The Author

Outline

我的一天充满了来自当前和潜在客户的问题。 一个我喜欢回答是什么使我们的Web应用程序和API保护(WAAP)和我们的安全规则集如此准确。 考虑到过去几年中出现的新攻击向量和漏洞的冲击,准确性至关重要。 事实上,网络安全和基础设施安全局(CISA)最近在其已知的漏洞利用目录中添加了 66个新 漏洞,并且新CVE在2022年同比增长超过25%。 CISA并不是唯一关心安全性和性能的问题。 根据最近的一项调查,企业希望减少误报,漏报,警报疲劳并改进安全管理。

是什么让Edgio WAAP规则更有效? 在较高层次上,它与我们运行WAAP规则的特殊顺序以及我们的混合签名和异常评分模式与托管规则有关 。 我们通过自己开发的waflz引擎在几毫秒内执行这些流程,以提供安全性而不牺牲性能。 让我们更详细地介绍一下。

剥离洋葱

在我们回顾托管规则的内部工作方式之前,让我们来看看WAAP中的不同保护层(按计划双关)。 WAAP的每一层都起着重要作用。 以下信息概述了其功能。

访问控制规则

访问控制规则提供创建模块化允许列表,拒绝列表和积极安全访问列表的功能,以便通过IP地址,匿名代理,国家/地区,ASN,地理区域代码, 用户代理,cookie,引用程序,URL,HTTP请求方法, 内容类型,文件扩展名,文件大小和请求标头。

速率限制规则

速率限制规则限制HTTP请求流向受WAAP保护的应用程序,以防止恶意或无意的应用程序DDoS流量,并防止客户的应用程序服务器因来自攻击或计划外流量高峰的请求而过载。

Bot Manager规则

爬虫程序管理器同时检测好爬虫程序和坏爬虫程序。 它提供了多种选项来缓解不必要的自动化或恶意爬虫程序,并阻止它们访问您的应用程序。 这可以保护您的网站免受恶意爬虫程序的攻击,这些爬虫程序会执行凭据填充,抓取您的内容,分类,垃圾邮件形式,发动DDoS攻击, 并实施广告欺诈。

自定义规则

自定义规则让我们强大的WAAP引擎为您提供创建您自己的安全规则的功能。 恶意流量使用多种变量(即请求标头,正文,查询,方法, URL,Cookie等)。 此方法为威胁检测提供了更大的灵活性,使您能够筛选特定的恶意请求并采取措施缓解这些请求。 自定义威胁识别与快速测试和部署相结合,使您能够通过创建虚拟增补程序来快速解决长期和零日漏洞。

托管规则

Edgio的托管规则通过Edgio管理的专有规则集识别恶意流量。
托管规则由分布在三个类别中的500多条规则组成:

  1. Edgio专有规则。

  2. 高级应用特定规则。

  3. 通用OWASP规则。

这全面收集了针对不同攻击类别和应用程序的各种安全策略和规则。 执行威胁评估时,可以自定义每个托管规则,以通过排除特定变量(如Cookie,标头和请求参数/查询字符串)来防止误报。

如您所见,我们的WAAP规则有许多层,在每一层中,我们的WAAP必须运行的规则和条件可能从数十到数百不等。 每条规则都显示了引入误报和影响性能的可能性。 使问题复杂化的是,Edgio WAAP提供了在双WAAP模式下运行的独特功能,在双WAAP模式下,您可以为生产流量同时运行两个版本的安全配置,用于访问控制规则,自定义规则和托管规则。 随着我们不断增强安全解决方案,我们将增加额外的保护层。 这就提出了这样一个问题:如何确保我们的WAAP在所有这些功能和规则混乱的情况下准确,高效地处理数百万个请求?

在混乱中创建秩序

除了拥有专为在高性能多租户环境中进行扩展而设计的强大的自行生产waflz引擎外,关键在于创建正确的操作顺序,以最高效地运行WAAP。

为此,我们的WAAP按以下顺序运行其不同层的规则模块:

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

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

  3. 爬虫程序管理器规则: 我们的ML平台会检查到达此步骤的每个请求,以确定它们是否基于请求签名和行为的组合。 任何恶意爬虫程序请求都可以通过各种方式缓解,包括浏览器质询,自定义响应或CAPTCHA。 大多数攻击都是通过自动化客户端进行的,这使得爬虫程序管理器成为一种有效的解决方案,可以缓解这些攻击并进一步减少需要由后续规则模块处理的请求数量。

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

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

WAAP/Dual WAF Diagram

图1:Edgio WAAP工作流程

按顺序处理每个请求(如图1所示)可确保执行多层过滤。 这有助于我们在请求达到托管规则之前,捕获客户正在寻找的攻击(即,列入拒绝名单的IP/国家/地区,应用程序DDOS/HTTP洪水攻击,自动化客户端和特定的自定义请求签名)。

但是,这只是安全问题的一部分。

WAAP的有效性不仅仅取决于其抵御攻击的能力(真正的积极因素),还取决于其阻止合法流量的能力(误报)。 让我们回顾一下如何捕获大多数应用程序攻击,同时减少误报。

深入了解Edgio托管规则

当请求到达托管规则时,它将由我们专有的Edgio规则集进行评估,该规则集包含500多条规则,旨在缓解各种应用程序攻击。 这又增加了一层复杂性,因为规则种类繁多[例如,通用SQL注入(SQLi ),跨站点脚本(XSS)和远程代码执行(RCE)规则]以及特定的WordPress,Joomla和Apache Struts规则。 需要仔细确定优先级,以确保它们相互补充,从而最大限度地提高准确性。

与前面提到的规则模块一样,关键是托管规则集的每个类别之间的操作顺序。

在托管规则中,请求按以下顺序由不同的规则类别处理:Edgio专有规则 > 高级应用程序特定规则通用OWASP规则 > 。

  1. Edgio专有规则和应用程序特定规则查找与特定类型应用程序的特定漏洞相关联的签名。 这些规则提供了应用程序(即Apache Struts,WordPress,Joomla,Drupal, SharePoint,cPanel等),并且在检测这些应用程序的攻击方面非常准确。 我们将这些规则设计为在签名(又称二进制)模式下运行,这意味着触发这些规则的任何请求都会导致操作。 这些规则为匹配和筛选应用程序的特定攻击向量提供了一种更具外科手术性的方法;因此,它们是Edgio规则集筛选器的第一层。 由于与专有规则和应用程序特定规则不匹配的请求仍会给客户的应用程序带来风险,因此我们需要另一种方法来在下一阶段检测潜在攻击。

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

图2:我们的托管规则按专门设计的顺序运行,以最大限度地提高检测和减少误报。

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

把所有的部分放在一起

现在,您已通过我们的WAAP完成了HTTP请求的过程。 由于我们的高性能WAAP在运行我们的内容交付服务的同一堆栈上本地运行,因此每天在全球300个接入点(POP)的每个Edgio服务器内发生数十亿次的事件。 在这个博客的开头,我提到我得到了很多关于我们的WAAP的问题。 我希望您现在了解它与其他解决方案的不同之处。 我们将智能操作顺序与各种WAAP规则模块(从ACL到速率限制到爬虫程序和自定义规则),托管规则(从特定规则到通用规则)以及混合签名和异常评分模式相结合,以实现不会影响性能的安全性。

考虑这个类比:设计和组装WAAP组件就像制造汉堡一样。 这不仅仅是要有正确的食材,而是要以正确的方式将它们组合在一起,打造美味的一餐。 相同的成分以不同的方式组合在一起,可能会对口味和客户体验产生重大影响。

Tags

Just For You