NGINX.COM
Web Server Load Balancing with NGINX Plus

用户体验永远排在第一位。如果消费者和客户不使用应用和网站,那么应用和网站就没有存在的意义。因此,确保积极、稳定的用户体验意义重大,尤其现在用户对延迟、停机和错误的容忍度越来越低。

如果您的应用或网站体验不佳,用户可能会直接转身离去。在 Salesforce 的一项调查中,61% 的消费者表示,在经历过一次糟糕的体验后,他们便转投了竞争对手。多次糟糕的用户体验势必会造成客户流失。今天网上广泛的选择已让品牌忠诚度变得微乎其微。

停机是导致消费者不满的主要原因之一,而拒绝服务(DoS)攻击则是造成持续停机的罪魁祸首。随着应用设计的变化,新威胁向量层出不穷,攻击者针对现代架构对使用了二十多年的 DoS 攻击手段进行了调整。从 2020 年 1 月到 2021 年 3 月,应用层(七层) DoS 攻击急剧增加,占所有 DDoS 事件的 16%。事实上,在向 F5 安全事件响应团队提出的请求中,有一半是要求帮助解决应用层 DoS 攻击问题。

集中式安全缓解措施可能对网络层(四层)的容量耗尽型 DoS 攻击有效,但应用层 DoS 攻击更具针对性,因此需要采用专门的防御措施来保护日趋分散化的现代应用 — 这些应用由 API 和微服务组成,部署在更灵活的基础设施上,比如云端。

 

超越传统保护

尽管 DoS 攻击源呈分布式(使其成为 DDoS 攻击),但网络层的基础容量耗尽型攻击通常是针对单一设备或服务,传统保护工具也同样是单体式和集中式。虽然这些工具在应用安全领域仍有其一席之地,但仅靠它们已不够了。如今,基于云的 DDoS 防护服务已成为行业标准。然而,它们仍然没有解决一个问题,即应用不再是单体服务,而是有许多集成点需要保护。

在数字化转型以及向 API、微服务和基于云的集成大规模迁移之前,基本 Web 应用防火墙(WAF)可以在很大程度上缓解漏洞利用和 DoS 攻击。例如,在客户端的容量耗尽型洪水攻击中,基本 WAF 和传统 DoS 工具很有效,因为流量是集中的 — 云清洗服务可在流量进入 Ingress 管道之前缓解攻击,或者在应用堆栈的前面实施防护。基本 WAF 仍能通过速率限制、阻断列表和 Bot 特征库等来抵御传统攻击,但如今的威胁形势业已改变。

简而言之,游戏规则发生了变化,基本 WAF 和传统 DoS 防护不再适用于现代应用架构。

现代 DoS 攻击发生在七层,由于它们隐藏在加密通道中并瞄准应用逻辑,因此更难被发现。鉴于此,您需要增加一个额外的保护层来评估客户端行为和服务器压力 — DoS 攻击的两大指标。

为了帮助解决这一问题,我们最近发布了 NGINX App Protect Denial of Service 模块。您可能会问,如果已经有 WAF 和传统 DoS 防护,还需要 DoS 模块吗?当然需要 —— 请继续阅读本文,了解原因。

 

现代架构需要现代保护

加密无处不在,而传统 DoS 防护并非专为大规模解密而设计。在单体应用时代,集中式 DoS 缓解措施行之有效,因为当时加密技术尚未普及,大多只需查看客户端就能检测到攻击。如今,几乎所有流量都已加密,因此只关注入向流量的无状态 DoS 缓解措施基本无效,尤其是当攻击使用单个针对性请求造成应用压力时。

随着对用户隐私的日益重视(以及随之而来的立法)和加密技术的进步,应用现已针对微服务等分布式架构进行了设计和优化,端到端加密也变得越来越普遍。现代架构在很大程度上依赖于 API,而 API 之间的通信(也称为东西向流量)可能根本不会流经集中式安全控制点。

有效的应用级 DoS 防护需要端到端可见性和上下文,包括可检测客户端异常和服务器端压力。高级七层 DoS 攻击通常伪装成合法流量,因此速率限制、阻断列表、特征库及协议一致性等基本缓解措施已无法提供足够的保护。

复杂的七层攻击从表面上看好似合法流量,基本 WAF 缺乏检测这些攻击所需的行为分析。NGINX App Protect DoS 专为检测客户端异常和服务器压力而设计,可动态识别和缓解攻击,并评估缓解效果,无需早已不堪重负的安全团队特别关注。

如果仅依靠基本 WAF 防御和传统 DDoS 缓解措施,您将无法获得对七层攻击的可见性和上下文信息,潜在后果可能很严重,包括延迟、停机、收入损失和品牌声誉受损。借助行为分析,客户端异常和服务健康状况可得到持续分析,从而快速检测零日 DoS 攻击。通过密切关注网站行为,我们可以回答以下问题:与基线流量模式相比,是否有任何异常?看似来自浏览器的请求是否缺少浏览器应包含的信息?请求是否包含复杂的数据库查询,导致 CPU 使用率过高?

通过对正常性能和行为进行建模,NGINX App Protect DoS 可重点防范会躲避传统防御并造成应用压力的七层攻击。

 

多模块防御方法

DoS 攻击的危害一如从前:性能缓慢、用户不满及收入损失。但 DoS 攻击的实施方式已大不相同,黑客正利用加密和安全工具将其威胁伪装成合法流量。

您的用户可能无法分辨架构差异,但可以察觉网站性能的优劣。大量攻击流量会导致延迟,造成用户体验缓慢。如果速度太慢,即使是最有耐心的用户(寥寥无几!)也会放弃交易,转而访问其他网站。单个针对性请求可能会造成延迟和服务器压力,因此专门的应用 DoS 防护必不可少。

Web 应用安全防护解决方案不断演进,以有效应对新型攻击,如《OWASP Web 应用自动化威胁》中列出的攻击。但您还需要可原生集成到应用运行时中的动态自适应安全防护。其他 DoS 解决方案可能为 SYN flood 等网络 DDoS 攻击而设计,而 NGINX App Protect DoS 解决方案则专门用于防范会对应用资源造成压力的七层攻击。结合使用 WAF 与七层 DoS 解决方案可确保应用免受漏洞利用和业务逻辑滥用的影响,防止遭受入侵和出现延迟、性能下降和停机等问题。

现在,商业活动主要在线开展,人们大多数时间都在网上。因此,您需要确保用户体验的安全可靠。通过结合使用 NGINX App Protect WAFNGINX App Protect DoS 模块,您能够为您的环境、应用和业务提供强有力的保护。

如欲试用 NGINX App Protect,请立即下载 30 天免费试用版,或与我们联系以讨论您的用例

Hero image
免费 O'Reilly 电子书:
《NGINX 完全指南》

更新于 2022 年,一本书了解关于 NGINX 的一切

关于作者

关于 F5 NGINX

F5, Inc. 是备受欢迎的开源软件 NGINX 背后的商业公司。我们为现代应用的开发和交付提供一整套技术。我们的联合解决方案弥合了 NetOps 和 DevOps 之间的横沟,提供从代码到用户的多云应用服务。访问 nginx-cn.net 了解更多相关信息。