利用高级安全防护强化API

NGINX | 2021年8月09日

如果您关注科技新闻,可能经常会觉得“安全漏洞天天见”。不过,越来越多的安全漏洞源于针对API的攻击。即使只是抽空锻炼,也可能面临风险。最近,一名安全研究人员发现,健身车厂商Peloton的一个API会响应未经身份验证的请求,并返回用户的私密账户数据!

在F5的《2021年应用策略现状》报告中,58%的受访者表示,他们正在构建API层以实现应用现代化。随着DevOps、云和微服务的兴起,需要在分布式环境中为应用及其底层API提供支持。此类环境包括但不限于:

  • 本地、云和混合环境
  • 开发、测试、预发布、沙盒和生产环境
  • 内部API,促进开发人员协作并打通数据孤岛
  • 向客户、合作伙伴和第三方开发者开放的外部API

API网关通过路由请求、对API客户端进行身份验证和授权以及实施速率限制来调控API流量,保护基于API的服务免于过载。许多NGINX客户已在上述各类分布式环境中成功部署API网关,但与此同时,API也成为一种新的攻击途径。根据F5的《2021年应用保护报告》,近三分之二的API事件是由于API完全暴露,未采用任何身份验证或授权机制。

The NGINX Controller API Management Module提供多种API保护机制,包括:

  • 速率限制:速率限制策略通过限制API网关在指定时间段内接受的每个API客户端的请求数量,防止API因请求过多而不堪重负,并缓解DDoS攻击。这有助于应对资源不足和速率限制缺失(API4)漏洞,该漏洞被列入OWASP API安全十大风险(2019年版)。
  • 身份验证和授权:身份验证和授权机制可确保只有具备相应访问权限的客户端才能使用您的API。其中一种机制是JSON Web Token(JWT)中的声明。这有助于应对《OWASP API安全十大风险(2019年)》中的三项漏洞:对象级授权失效(API1)、用户身份验证失效(API2)和功能级授权失效(API5)。

NGINX Controller App Security Add‑On for API Management 简介

现在,借助适用于NGINX Controller API Management Module的NGINX Controller App Security附加组件,可以进一步增强API安全性。

适用于任何环境的分布式API安全

借助Controller App Security,现在可以部署Web应用防火墙(WAF),保护多云分布式环境中的API。该附加组件可将强大的安全功能与部署在任意位置的NGINX API网关无缝集成,包括公有云、私有云、裸机、虚拟机或容器。

秉承NGINX的“核心价值观”,Controller App Security具有轻量、平台无关和高性能的特点。我们如何实现高性能?WAF与NGINX API网关部署在同一位置,API流量因此可减少一次网络跃点,从而降低延迟和复杂性。这与通常不集成WAF的典型API管理解决方案形成鲜明对比。使用此类解决方案时,必须单独部署WAF;部署完成后,API流量必须分别经过WAF和API网关。Controller App Security的紧密集成可在不影响安全性的前提下实现高性能。

Controller App Security依托F5久经验证的安全专业能力,开箱即用,可防范OWASP API安全十大风险中的漏洞,以及SQL注入和远程命令执行(RCE)等常见漏洞。该附加组件会检查格式错误的Cookie、JSON和XML,并验证允许的文件类型和响应状态码。它可确保符合HTTP RFC规范,并检测用于掩盖攻击的规避技术。

增强的可见性与分析

Controller App Security提供有关不同攻击类型的多种指标和洞察,包括主要WAF威胁和遭到攻击的API、用于调查误报的主要特征码、WAF结果统计信息以及WAF违规事件。这种可见性有助于应对OWASP 2019年API安全十大风险中的“日志记录和监控不足”漏洞(API10)。

以下屏幕截图仅展示了部分可跟踪的指标:

  • 过去3小时内特定违规类型的数量,与前一天同一时段进行比较。
  • 过去3小时内应用于API流量的执行模式。
  • 过去6小时内最常见的攻击类型。
  • 过去30分钟的安全事件日志。

灵活且精细调优的策略

Controller App Security支持灵活、精细地控制安全策略。如截图所示,可以将强制执行模式设置为阻止或仅监控。在仅监控模式下,恶意流量会被记录,但仍会转发到API服务器。还可以禁用默认签名,以减少误报。

此屏幕截图列出了阻止API调用次数最多的签名。您可以利用这些信息确定需要优先调优的签名,以减少误报。

DevOps友好型API安全

Controller App Security通过支持自助服务、消除安全团队与DevOps团队之间的运营瓶颈、支持自动化,并将WAF原生集成到CI/CD流水线中,帮助增强DevOps能力。这些功能有助于推进安全左移,即开发人员和DevOps团队通过将安全集成到CI/CD流水线中,在软件开发周期的更早阶段(尤其是测试阶段)落实安全措施。API安全不再是事后考虑的问题,而是API开发流程不可或缺的一部分,从而减少生产环境中的问题。

想试用NGINX Controller App Security for API Management?下载30天免费试用版,或联系我们,讨论您的API安全需求。


分享

相关博客文章

NGINX Plus R26 正式发布
NGINX | 2022/02/15

NGINX Plus R26 正式发布

NGINX Plus R26通过缓存JSON Web密钥集加快JWT验证,并强化TLS握手,从而提升安全性。NGINX JavaScript的新功能包括增强对异步函数的支持,以及实现WebCrypto API。

使用NGINX App Protect DoS保护gRPC应用,抵御严重的DoS攻击
NGINX | 2022/02/10

使用NGINX App Protect DoS保护gRPC应用,抵御严重的DoS攻击

gRPC具备开发人员设计和部署现代应用所需的速度与灵活性,但其开放性也使其极易受到第7层DoS攻击。NGINX App Protect DoS可保护gRPC应用免受此类破坏性攻击。

Ingress Controller 选型指南(第 2 部分):风险与面向未来的规划
NGINX | 2021/09/13

Ingress Controller 选型指南(第 2 部分):风险与面向未来的规划

了解选择错误的Ingress控制器可能带来的风险,以及如何从关键方面着手,让您的选择更好地适应未来需求。

NGINX Plus R19 正式发布
NGINX | 2019/09/03

NGINX Plus R19 正式发布

NGINX Plus R19扩展了监控功能,不仅提供更多指标,还新增了指标分析方式;增加试运行模式,用于测试限速效果;增强键值存储,以支持IP地址范围;并使限速更加动态。

NGINX现已正式加入F5
NGINX | 2019/05/09

NGINX现已正式加入F5

NGINX现已正式成为F5的一部分。Gus Robertson现任F5 NGINX业务部门负责人。他阐述了两家公司在人才、文化和愿景方面融合的价值,以及双方将如何携手增强NGINX的开源产品和商业产品。

使用NGINX和NGINX Plus实现高性能缓存
NGINX | 2016/08/24

使用NGINX和NGINX Plus实现高性能缓存

我将介绍NGINX在内容缓存和性能方面的工作原理,并分享一些控制NGINX内容缓存方式的技巧。