近年来,API的激增极大地改变了企业的运营方式。 API 使不同的应用能够相互通信和交换数据,从而实现更高效、有效的业务流程和软件开发。
然而,随着 API 的使用增加, API 蔓延的风险也随之而来,API 是在分布式团队和架构中创建和部署的,通常没有适当的监督和管理。 这可能会给企业带来一系列新的安全风险,因为每个 API 都代表着攻击者获取敏感数据和系统的未授权访问的潜在入口点。
API 蔓延的主要驱动因素之一是微服务的激增。 微服务架构将大型应用拆分为多个小型、独立的应用,这些应用程序通过 API 相互通信。这将复杂的应用拆分为多个独立的部分,这些部分可以由各个团队管理,并且可以独立扩展以满足流量需求。
微服务为开发人员提供了许多优势,包括提高灵活性和可扩展性。 然而,这些好处是有代价的,包括额外的复杂性。 因此,许多企业采用API 优先的方法来构建微服务。 在该策略中,应用和服务的设计过程从 API 契约开始,该契约概述了 API 的工作方式,直至请求和响应的格式。
如果未能认真对待 API 安全性(尤其是在设计和部署期间),则 API 优先软件开发的优势很容易受到损害。 从最基本的层面上讲,更多的 API 意味着更多的攻击面。 虽然 API 在现代软件开发中发挥着至关重要的作用,但同时也变得越来越容易被利用。
2018 年, Gartner 预测到2022 年,API 将成为应用最常见的攻击媒介。 无论如何,他们对延迟如此之久的预测过于乐观了。 影响数百万用户的大型公司 API 泄露事件早已屡见不鲜,而且愈发常见:
这些攻击的广度和多样性揭示了安全和工程领导者所面临的挑战。 一些攻击利用了错误地暴露给互联网的 API。 其他人使用代码存储库中错误暴露的 API 密钥或其他身份验证方法。 或者攻击者通过 VPN 漏洞访问内部环境并使用内部 API 窃取数据。
防范 API 威胁最常见的方法是将传统的 Web应用安全策略与现代 API 安全技术相结合。 面对当今多种多样的 API 威胁,传统策略往往显得无效。 自动 API 发现和 API 对比测试等现代技术试图弥补这些差距。
对于企业来说,至关重要的是进行右侧防护(实施全局控制和安全策略来保护已部署的应用程序和 API)和向左移动(在代码中构建安全性以在应用程序和 API 投入生产之前消除漏洞)。 这两种策略都无法单独提供全面的 API 安全性,因此防止违规的关键是采取涵盖三类 API 安全实践的整体方法:
通过将正确的策略与正确的工具相结合,组织可以更好地保护其 API 免受攻击并确保其软件系统的安全。 让我们看看平台工程领导者需要实施哪些重要功能和工具来保护整个生命周期的 API。
API 安全态势管理可以让您了解 API 公开的数量、类型、位置和数据。 此信息可帮助您了解与每个 API 相关的风险,以便您可以采取适当的措施来保护它。
主要功能:
代表性技术:
重要的是要记住,没有任何技术可以可靠地找到您的架构中的每个 API 。 大多数发现技术依赖于现有负载均衡器、API 网关和 Ingress 控制器提供的可见性,并且不太可能捕获绕过这些架构组件的错误配置。
最终,代码审查和遵循 API-first 最佳实践可以提供更有效的长期预防。 但是自动化 API 发现工具仍然有助于快速构建安全态势视图以及捕获那些原本可能不受管理和不安全的 API。
虽然 API 安全态势管理关注的是企业范围的安全,但 API 安全测试主要针对单个 API。 从最基本的方面来说,API 安全测试通过测试 API 运行时(即在 API 后面运行的应用)来帮助识别和预防漏洞及其相关风险。它有助于确保满足基本安全要求,包括身份验证、授权、速率限制和加密的条件。
主要功能:
代表性技术:
既有开源合约测试工具,也有来自专门 API 安全供应商的商业产品。 应用安全测试 (AST) 市场已经存在了几十年,越来越多的供应商提供专门的 API 扫描和测试工具。
API 运行时保护是指在 API 运行和管理请求时保护其安全。 它优先在平台基础设施以及 API 本身的代码中构建安全性。 目的是识别并阻止部署后出现的恶意 API 请求。
主要功能:
代表性技术:
并非所有 API 网关和 WAF/WAAP 都是平等的。 某些服务,尤其是云和其他平台上可用的原生解决方案,缺乏多云和混合架构所需的全球可视性和标准化。
鉴于保护 API 的重要性,以有组织的方式处理 API 安全至关重要。 平台工程和安全领导者必须共同努力来解决整个 API 生命周期的安全要求。 正如我们之前所探讨的,这大致涉及三个主要实践领域: API 安全态势管理、API 安全测试和 API 运行时保护。 换句话说,您需要重点了解您有多少个 API、如何测试它们的错误以及如何在代码中构建安全性。
与所有网络安全一样,API 安全是一个持续的过程,需要与许多利益相关者的合作,包括网络工程师、安全运营负责人、平台工程负责人和软件开发工程师。 好消息是,如何保护 API 并不是什么大秘密。
大多数组织已经采取措施来对抗众所周知的攻击,如跨站点脚本攻击、注入、分布式拒绝服务攻击以及其他针对 API 的攻击。 上述许多最佳实践可能对经验丰富的安全专业人员来说相当熟悉。 无论您的组织运营多少个 API,您的目标都是建立完善的 API 安全策略并随着时间的推移主动管理它们。
开始 30 天免费试用 NGINX API 连接堆栈,其中包括 F5 NGINX 管理套件 API 连接管理器,用于管理、管理和保护 API;F5 NGINX Plus 作为 API 网关;以及 F5 NGINX App Protect WAF 和 DoS,用于高级 API 安全。
“这篇博文可能引用了不再可用和/或不再支持的产品。 有关 F5 NGINX 产品和解决方案的最新信息,请探索我们的NGINX 产品系列。 NGINX 现在是 F5 的一部分。 所有之前的 NGINX.com 链接都将重定向至 F5.com 上的类似 NGINX 内容。”