自新冠疫情爆发以来,数字经济持续扩张,90% 的组织正在发展其现代应用程序架构。 在 F5 的2023 年application战略状况报告中,接受调查的 1,000 名全球 IT 决策者中,超过 40% 将他们的应用程序组合描述为“现代”。 过去几年,这一比例一直稳步增长,预计到 2025 年将超过 50%。 然而,现代应用程序和微服务的使用的增加伴随着 API 和 API 端点的激增,成倍地增加了漏洞的可能性和攻击的表面积。
根据 F5 首席技术官办公室的报告《持续 API 蔓延》 ,2021 年全球 API 数量约为 2 亿个,预计到 2030 年这一数字将接近 20 亿个。 这种快速 API 增长所带来的复杂性加剧了跨混合和多云环境的分布式应用管理挑战。 《2023 年应用战略状况报告》的受访者表示,在多云环境中部署应用时,管理多种工具和 API 的复杂性是他们面临的最大挑战。 应用一致的安全策略和优化应用程序性能并列第二。
API 不仅是现代应用的基石,也是数字业务的核心——F5 2023 报告调查的 58% 的组织表示,他们至少有一半的收入来自数字服务。 API 支持用户到应用程序以及应用程序到应用程序的通信,它们提供的对私人客户数据和公司内部信息的访问使它们成为攻击者的有利可图的目标。 API 是 2022 年首选的攻击媒介。
在整体应用安全策略中,保护 API 至关重要。 攻击可能造成毁灭性的后果,远远超出侵犯消费者隐私(尽管这很糟糕)的范畴,其严重程度甚至会损害公共安全并导致知识产权的损失。 以下是 2022 年发生的每种类型的 API 攻击的一些示例。
这些 API 攻击堪称警示。 当 API 存在安全漏洞且未受保护时,其长尾后果可能远远超出金钱成本。 API 安全的重要性怎么强调也不为过。
NGINX API 连接堆栈解决方案可帮助您管理跨多云环境的 API 网关和 API。 通过使用NGINX App Protect WAF将NGINX Plus 部署为 API 网关,您可以帮助预防和缓解常见的 API 漏洞,这些漏洞可解决 F5 2023 年application战略报告中确定的三大 API 挑战 - 管理多云环境中的 API 复杂性、确保安全策略和优化应用程序性能 - 以及上一节中讨论的 API 攻击类型。 NGINX Plus 有多种用途,包括作为 API 网关,您可以快速路由 API 请求、验证和授权 API 客户端以保护您的 API,以及限制流量速率以保护基于 API 的服务免于过载。
NGINX Plus 提供开箱即用的保护,不仅可以防御OWASP API 安全十大漏洞。 它还会检查格式错误的 cookie、JSON 和 XML、验证允许的文件类型和响应状态代码,并检测用于掩盖攻击的逃避技术。 NGINX Plus API 网关可确保保护 HTTP 或 HTTP/2 API 协议,包括 REST、GraphQL 和 gRPC。
NGINX App Protect WAF提供轻量级、高性能的应用程序和 API 安全性,其范围超出了针对 OWASP API 安全 Top 10 和OWASP(application)Top 10 的基本保护,还可防御超过 7,500 种高级签名、机器人签名和威胁活动。 它支持左移策略和 API 安全性的轻松自动化,以便将安全性即代码集成到 CI/CD 管道中。 在针对 AWS、Azure 和 Cloudflare WAF 进行测试时,发现 NGINX App Protect WAF 可提供强大的应用程序和 API 安全性,同时保持更好的性能和更低的延迟。 欲了解更多详细信息,请参阅此GigaOm 报告。
NGINX App Protect WAF 嵌入到 NGINX Plus API 网关中,从而减少了 API 流量的跳数。 层间跳数越少,延迟、复杂性和故障点就越少。 这与不与 WAF 集成的典型 API 管理解决方案形成鲜明对比(您必须单独部署 WAF,并且一旦设置完成,API 流量必须分别穿越 WAF 和 API 网关)。 NGINX 的紧密集成意味着高性能,同时又不损害安全性。
应用程序和 API 开发人员不断寻找新方法来提高灵活性、速度以及易用性和部署性。 根据 Postman 的2022 年 API 状态报告,REST 仍然是当今使用最广泛的 API 协议 (89%),但 GraphQL (28%) 和 gRPC (11%) 的受欢迎程度持续增长。 最终,API 协议的选择高度依赖于应用的目的和最适合您业务的解决方案。 每种协议都有其自身的优势。
使用 GraphQL API 的主要好处包括:
GitHub是 GraphQL 的知名用户之一。 出于可扩展性和灵活性的原因,他们于 2016 年转向了 GraphQL。
使用 gRPC API 的主要好处包括:
大部分功能来自客户端,而管理和计算则转移到托管资源的远程服务器。gRPC 适用于经常需要一定量数据或处理的用例,例如微服务之间的流量或数据收集,其中请求者(例如物联网设备)需要节省有限的资源。
Netflix是 gRPC API 的知名用户的一个例子。
NGINX App Protect WAF现在除了 REST 和 gRPC API 之外还支持 GraphQL API 。 它通过应用攻击签名、消除恶意漏洞和防御攻击来保护 GraphQL API。 GraphQL 流量在本地进行解析,使 NGINX App Protect WAF 能够根据 GraphQL 语法和配置文件检测违规并应用攻击签名。 对内省查询的可见性使 NGINX App Protect WAF 能够阻止它们,以及阻止响应中检测到的模式。 这种方法有助于检测攻击并在有效载荷的适当部分运行签名,从而有助于减少误报。
在此演示中了解 NGINX App Protect WAF 如何保护您的 GraphQL API 免受攻击。
使用 NGINX App Protect WAF 实现 GraphQL API 安全性的优势:
NGINX App Protect WAF现在除了一元消息类型之外还支持 gRPC 双向流,使您能够保护使用消息流(客户端、服务器或两者)的基于 gRPC 的 API。 无论通信类型如何,这都为 gRPC API 提供了完整的安全性。
NGINX App Protect WAF 通过强制执行您的架构、设置大小限制、阻止未知文件以及防止资源耗尽类型的 DoS 攻击来保护 gRPC API。 您可以将接口定义语言 (IDL) 文件导入 NGINX App Protect WAF,以便它可以强制执行 gRPC 消息的结构和模式并在正确的位置扫描攻击。 这可以准确检测到通过 gRPC 利用应用的尝试,并避免在没有上下文的情况下在错误的地方扫描安全性时可能出现的误报。
在此演示中了解 NGINX App Protect WAF 如何保护您的 gRPC 双向 API 免受攻击。
使用 NGINX App Protect WAF 实现 gRPC API 安全性的好处:
在 Postman 的2022 年 API 状态报告中,接受调查的 37,000 名开发人员和 API 专业人士中有 20% 表示,他们的组织每月至少发生一次 API 事件,导致数据丢失、服务丢失、滥用或不当访问。 相比之下,52% 的受访者每年遭受 API 攻击的次数少于一次,这凸显了将安全性作为 API 安全左移策略的一部分尽早纳入其中的重要性。 由于 API 的发布频率比应用更高,左移策略越来越多地应用于 API 安全。 当组织采用左移文化并将安全性即代码集成到 CI/CD 管道中时,他们会将安全性融入 API 开发的每个阶段,使开发人员保持敏捷并加快部署速度。
必须针对特定 API 进行保护的关键领域是 API 模式的验证,包括 gRPC IDL 文件和 GraphQL 查询。 每个 API 的模式都是唯一的,并且会随着每个 API 版本而变化。 当自动化 API 模式时,每次更新 API 时,您还需要更新该文件中的配置和代码。 WAF 配置可以以自动化方式部署,以跟上 API 版本的变化。 NGINX App Protect WAF 可以验证模式,验证请求是否符合 API 支持的内容(方法、端点、参数等)。 NGINX App Protect WAF 通过 SecOps 团队创建的声明性策略实现一致的应用程序安全性,API Dev 团队能够管理和部署 API 安全性,以实现更精细控制和灵活性。 如果您希望在混合和多云环境中大规模自动化 API 安全,NGINX App Protect WAF 可以提供帮助。
现代应用程序组合不断增长,并且随着微服务的使用,API 的数量也将进一步增加。 API 安全性复杂且具有挑战性,尤其是对于在混合或多云环境中运营的组织而言。 缺乏 API 安全性可能会带来除金钱成本之外的毁灭性长尾效应。 NGINX App Protect WAF 提供全面的 API 安全性,包括对您的 REST、GraphQL 和 gRPC API 的保护,并帮助您的 SecOps 和 API 团队在整个 API 生命周期和分布式环境中左移并自动化安全性。
立即试用 NGINX App Protect WAF,享受 30 天免费试用期。
博客: 使用 NGINX App Protect WAF 保护您的 API 网关
电子书: 现代应用程序和 API 安全
电子书: 掌握 API 架构(O'Reilly 著)
数据表: NGINX 应用保护 WAF
“这篇博文可能引用了不再可用和/或不再支持的产品。 有关 F5 NGINX 产品和解决方案的最新信息,请探索我们的NGINX 产品系列。 NGINX 现在是 F5 的一部分。 所有之前的 NGINX.com 链接都将重定向至 F5.com 上的类似 NGINX 内容。”