战五渣?四大云WAF实战测试险遭团灭

 许多企业将Web应用程序防火墙(WAF)默认为保护Web应用程序时的优秀实践或合规性要求。WAF是一种特定的防火墙,旨在识别和阻止Web应用程序流量的攻击。期望防火墙将阻止命令注入攻击、跨站点脚本攻击、协议违规以及其他针对Web应用程序的常见攻击。

[[319177]]

随着企业数字转型和“安全上云”运动的开展,以及当下疫情加重的Web安全焦虑,越来越多的企业开始考虑云WAF防火墙产品,使用在云中预配置的WAF对Web应用进行保护。除了专业WAF厂商外,目前主要的云供应商都通过收购或者研发丰富了自己的WAF产品,它们与服务商自己的负载均衡器很好地集成在一起。

与传统硬件WAF相比,除了巨大的价格优势外,云WAF还有以下突出优点:

部署简单,维护成本低

这也是云WAF最有价值和受用户喜爱的一点,无需安装任何软件或者部署任何硬件设备,只需修改DNS即可将网站部署到云WAF的防护范围之内。

用户无需更新

云WAF的防护规则都处于云端,新漏洞爆发时,由云端负责规则的更新和维护,用户无需担心因为疏忽导致受到新型的漏洞攻击。

可充当CDN

云WAF在提供防护功能的同时,还同时具有CDN的功能,在进行防护的同时还可以提高网站访问的速率,CDN通过跨运营商的多线智能解析调度将静态资源动态负载到全国的云节点,用户访问某个资源时会被引导至最近的云端节点从而提高访问速度。

但是,目前国际市场上一些有代表性的云WAF产品(本文主要讨论云计算服务商提供的云WAF),到底“能不能打”?

在Gartner的调研报告下面,很多企业安全人员的留言对云WAF也是褒贬不一,一位软件工程师认为AWS Web Application Firewall是“最可靠的软件”。但另一位专家称云WAF有“需要进一步解决的问题”。至于Azure,评论似乎更加复杂。一位架构师认为,“仍准备了专用WAF设备作为备份”,尽管许多人认为它“易于实施和使用”。

由于目前市场上很少有第三方机构对云计算服务商的云WAF产品进行实战检测,因此客户对云WAF性能和功能的认知,有时候可能只是一种对云安全的“蜜汁自信”。云WAF是否可以很好地阻止常见的Web应用程序攻击?

近日,网络安全团队Fraktal针对AWS WAF (Amazon)、AWS WAF (Fortinet)、AZURE WAF (CRS 3.1)、BARRACUDA(梭子鱼)WAF-as-a-service四款常见的云服务商的云WAF产品(服务)做了一个实战测试,结果有些令人吃惊。测试内容如下:

测试设置

我们在AWS和Azure中搭建了测试环境,以测试云WAF。我们的设置包括以下内容:

  • 攻击者的主机在特定的目标Web主机上执行数千个脚本化的测试用例。我们将有效负载注入了发往目标主机的HTTP GET和POST请求。
  • 在云容器平台上,目标Web主机运行容器化自定义Web服务器——AWS Elastic Container Service ECS或Azure容器实例ACI。该Web服务器对所有传入HTTP请求反馈HTTP响应代码“200 OK”。
  • 目标Web主机前置一个具备WAF功能的云负载平衡器——AWS Elastic Load Balancer ELB或Azure Web Application Gateway。
  • 从Azure Marketplace配置的梭子鱼WAF即服务(WaaS),将流量定向到Azure ACI上的目标Web主机。

测试团队为AWS和Azure内部解决方案挑选了云托管版本的商业WAF产品进行对比测试。四款产品采用的规则/服务如下:

  • Azure应用程序网关WAF,使用来自开放式Web应用程序安全项目(OWASP)的CRS 3.1规则
  • 使用梭子鱼托管规则从Azure市场配置的梭子鱼WAF即服务(WaaS)
  • 使用Amazon托管规则的AWS WAF
  • 使用Fortinet托管规则的AWS WAF

在Azure云中,总体测试体系结构如下所示,在AWS云上的测试环境采用了完全相同的设置。

 

用于测试连接到Azure和AWS云负载平衡器的WAF的高级测试体系结构

测试梭子鱼WAF即服务需要采用备用设置,测试团队在Azure云上配置了服务,对前述设置进行了最小的更改。

 

用于在Azure中测试梭子鱼WAF即服务的高级体系结构

测试团队使用2月19日当日上述云服务上可用的托管默认值进行了测试。为了准确模拟用户使用这些服务的最常见方式,测试者没有删除或添加任何可能影响检测或阻止攻击能力的规则或定义。对于AWS托管规则,用户必须选择规则组,因为可以同时启用的规则组数量受到限制,测试者选择了一种可以最好地覆盖OWASP十大威胁的规则组合,为测试用例提供最佳保护。

所选规则组

  • AWS-AWSManagedRulesSQLiRuleSet
  • AWS-AWSManagedRulesLinuxRuleSet
  • AWS-AWSManagedRulesKnownBadInputsRuleSet
  • AWS-AWSManagedRulesCommonRuleSet
  • AWS-AWSManagedRulesPHPRuleSet
  • AWS-AWSManagedRulesAdminProtectionRuleSet

测试用例

为了测试WAF,测试团队挑选了几种现实中常见的几种攻击和绕过方法,针对自定义Web服务器通过HTTP发起这些攻击,目标服务器将记录那些通过WAF的请求。

测试使用的攻击方法如下(词条解释引用自owasp.org):

  • 命令执行:通过向应用程序中注入命令破坏系统。
  • 服务器端包含注入(SSI):SSI是Web应用程序上存在的指令,用于向HTML页面提供动态内容。服务器端包含攻击允许通过将脚本注入HTML页面或远程执行任意代码来利用Web应用程序。
  • SQL注入:向客户端到应用程序的输入数据中注入SQL查询。
  • 路径遍历:路径遍历攻击(也称为目录遍历)旨在访问存储在Web根文件夹外部的文件和目录。
  • 格式错误的XML文档:格式错误的文档可用于消耗资源或注入恶意命令。
  • 跨站点脚本(XSS):跨站点脚本(XSS)攻击是一种注入攻击,其中,恶意脚本通过网络浏览器从恶意网站注入到原本良性和可信任的网站中。

这组测试方法代表了针对网站的典型攻击。测试用例的目的不涉及业务逻辑弱点,以及其他可被恶意利用的应用逻辑。

检测结果

结果是令人震惊的,除了Azure WAF,其他几款云WAF的表现都是灾难性的。

 

四大云WAF测试结果数据(百分比表示被阻止的攻击比重,数字越高越好)

肉眼可见,使用CRS 3.1规则的Azure WAF的攻击防护成功率远高于其他三款云WAF产品,也是在整个测试用例集中能可靠执行的唯一云WAF服务。

测试报告的另外一个有趣发现是,是否使用URL字符编码,对WAF的安全性能表现影响极大!例如,梭子鱼阻止了我们所有未编码的SSI测试用例,但在编码时则仅能阻止一半。因此,从攻击者的角度来看,尝试使用不同的编码可能是逃避WAF保护的有效方法。

几个小事实

AWS托管的WAF在本次测试中的表现最为“宽松”,它会放行以下有效载荷进行攻击:

 

此外,AWS中托管的Fortinet WAF和Azure中的梭子鱼WAF即服务也都允许这两个示例。

从有效载荷和拒绝的响应来看,很难对WAF的内部运作得出许多结论。有时,WAF的各种行为看上去非常混乱和搞笑,例如:

  • AWS托管WAF对POST和GET请求的处理方式似乎完全不同。例如这个请求在GET请求中被阻止,但在POST请求中被允许:%2e%2e//etc/passwd。
  • AWS托管WAF能够阻止有效负载ls-l/var/www/*,但却又允许有效负载&& ls-l/var/www/*,|ls-l/var/www/*依此类推。
  • 梭子鱼WAF即服务在该字符’是有效载荷的唯一字符时会坚定地阻止该字符,但同时又允许这样的有效载荷,例如eval(‘sleep 5’);和’whoami。

结论

结果表明,云WAF服务生下来就是不平等的,而且大多数IaaS云服务商的WAF服务还远远赶不上第三方方案。接受测试的AWS、Azure和梭子鱼中,Azure WAF无疑是赢家,并且是唯一运行良好的服务。而AWS和梭子鱼的产品,对一些最常见的攻击类型都“睁一只眼闭一只眼”。

如果企业要在云中构建应用程序,则应留意“选配”的安全服务是否能够达到安全需求。虽然购买云WAF可能是一种合规需要,但用户应当清醒地认识到,云计算厂商的“免费午餐”,有时候安全性能可能与您想象得不太一样。

声明

本项云WAF测试由Fraktal网络安全团队的Tuomo、Tommi和Marko完成,其测试结果仅基于特定测试环境和配置,除了在特定测试环境和用例中比较云WAF服务的相对性能之外,这些测试结果无意在任何其他上下文应用场景中进行解释或作为用户选择产品的依据。

【本文是IDC.NET专栏作者“安全牛”的原创文章,转载请通过安全牛(微信公众号id:gooann-sectv)获取授权】

戳这里,看该作者更多好文   

 

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/152886.html<

(0)
运维的头像运维
上一篇2025-03-14 05:19
下一篇 2025-03-14 05:21

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注