博客 | NGINX

通过高级安全性增强 API

NGINX-F5-horiz-black-type-RGB 的一部分
Karthik Krishnaswamy 缩略图
卡提克·克里希纳斯瓦米
2021 年 8 月 9 日发布

如果你关注科技新闻,你就会发现这往往是“新的一天,又出现了新的安全漏洞”。 然而,越来越多的违规行为以攻击 API 的形式出现。 即使在休息锻炼时您也不安全——一位安全研究人员最近发现,固定自行车供应商Peloton的 API 在响应未经身份验证的请求时提供了私人用户帐户数据!

在 F5 的《2021 年应用战略状况》报告中,58% 的受访者表示正在构建一层 API 来实现应用的现代化。 随着 DevOps、云和微服务的兴起,应用及其所依赖的 API 需要在分布式环境中得到支持,包括但不限于:

  • 本地、云和混合环境
  • 开发、测试、暂存、沙盒和生产环境
  • 内部 API可促进开发人员之间的协作并解锁数据孤岛
  • 向您的客户、合作伙伴和第三方开发人员公开的外部 API

API 网关通过路由请求、验证和授权 API 客户端以及应用速率限制来调解 API 流量,以保护基于 API 的服务免于过载。 许多 NGINX 客户已经成功在上述类型的分布式环境中部署了 API 网关,但同时也看到 API 成为新的攻击媒介。 根据 F5 的2021 年application保护报告,近三分之二的 API 事件发生的原因是 API 完全暴露——它们没有任何身份验证或授权机制。

NGINX 控制器 API 管理模块提供了多种机制来保护您的 API,包括:

  • 速率限制——速率限制策略通过设置 API 网关在给定时间段内从每个 API 客户端接受的请求数量,保护您的 API 免于超负荷并减轻 DDoS 攻击。 这有助于解决OWASP API 安全Top 10 2019中的资源不足和速率限制(API4) 漏洞。
  • 身份验证和授权——身份验证和授权机制确保只有具有正确访问权限的客户端才能使用您的 API。 其中一种机制是 JSON Web Tokens (JWT) 中的声明。 这有助于解决 OWASP API 安全性Top 10 2019中的三个漏洞: 对象级别授权(API1)损坏用户身份验证(API2)损坏以及功能级别授权(API5)损坏

用于 API 管理的 NGINX 控制器应用安全插件简介

现在,您可以使用 NGINX 控制器 API 管理模块的 NGINX 控制器应用安全插件进一步增强您的 API 安全性。

任何环境中的分布式 API 安全

借助 Controller App Security,您现在可以部署 Web应用防火墙 (WAF) 来保护多云分布式环境中的 API。 该插件支持将强大的安全性与部署在任何地方的 NGINX API 网关(公共云、私有云、裸机、虚拟机或容器)无缝集成。

Controller App Security 秉承 NGINX 的“核心价值”,轻量、与平台无关且性能高。 我们如何实现高性能? WAF 与 NGINX API 网关位于同一位置,因此 API 流量的跳数减少了一次,从而降低了延迟和复杂性。 这与不与 WAF 集成的典型 API 管理解决方案形成了鲜明对比。 您必须单独部署 WAF,并且设置完成后,API 流量必须分别穿越 WAF 和 API 网关。 Controller App Security 的紧密集成意味着高性能而不会损害安全性。

Controller App Security 以 F5 成熟的安全专业知识为基础,提供针对 OWASP API Security Top 10 漏洞以及 SQL 注入和远程命令执行 (RCE) 等常见漏洞的开箱即用保护。 该插件会检查格式错误的 cookie、JSON 和 XML,还会验证允许的文件类型和响应状态代码。 它确保遵守 HTTP RFC 并检测用于掩盖攻击的逃避技术。

增强可视性和分析能力

Controller App Security 提供有关不同攻击类型攻击的各种指标和见解。 其中包括顶级 WAF 威胁和目标 API、误报调查的顶级签名、WAF 结果统计数据以及 WAF 违规事件。 此级别的可见性有助于解决 OWASP API 安全 Top 10 2019 中的日志记录和监控不足漏洞 (API10)。

以下屏幕截图仅说明了您可以跟踪的一些指标:

  • 与前一天同一时间段相比,过去三个小时内特定违规类型的数量。

  • 强制模式适用于过去三个小时内的 API 流量。

  • 过去六小时内最主要的攻击类型。

  • 过去 30 分钟内的安全事件日志。

灵活、精细化的政策

Controller App Security 为您提供对安全策略的灵活、精细的控制。 如该屏幕截图所示,您可以设置阻止和仅监控两种执行模式 - 在第二种模式下,恶意流量会被记录但仍会转发到 API 服务器。 您还可以禁用默认签名以减少误报。

此屏幕截图显示了阻止最多 API 调用的签名列表,您可以使用这些信息来确定需要调整哪些签名的优先级,以减少误报。

DevOps 友好型 API 安全性

Controller App Security 可让您通过启用自助服务、消除安全和 DevOps 团队之间的运营瓶颈来增强 DevOps 能力,以及支持自动化并将 WAF 本地集成到 CI/CD 管道中。 这些功能推动了左移运动,即开发人员和 DevOps 团队通过将安全性集成到 CI/CD 管道中,在软件开发周期的早期(尤其是在测试阶段)应用安全性。 API 安全性并非事后才考虑的问题,它是 API 开发过程的一个组成部分,可以减少生产中的问题。

想要尝试使用 NGINX Controller App Security 进行 API 管理吗? 下载 30 天免费试用版联系我们讨论您的 API 安全需求


“这篇博文可能引用了不再可用和/或不再支持的产品。 有关 F5 NGINX 产品和解决方案的最新信息,请探索我们的NGINX 产品系列。 NGINX 现在是 F5 的一部分。 所有之前的 NGINX.com 链接都将重定向至 F5.com 上的类似 NGINX 内容。”