现在的问题不再是您是否在云环境中运行,而是您在多少个云环境中运行。如今,大多数企业都认识到不存在“通用云”解决方案,并已转向混合或多云架构。根据 F5 的《2023 年应用策略现状》报告中的数据,85% 的企业在两个或更多不同架构中运行应用。
这给开发和 API 团队带来了巨大压力。他们的任务是在复杂的分布式环境中实现安全地大规模交付 API。现在,连接不再只是客户端和后端服务之间的连接,而是部署在不同云环境、区域、数据中心或边缘位置的应用之间的连接。与此同时,每个 API 都必须满足企业的安全防护和合规要求,无论其部署在何处以及使用何种工具来进行交付和保护。
在这些高度分布式环境中保护 API 需要采用一系列独特的功能和最佳实践。我曾写过一篇文章,探讨了采取双管齐下的 API 安全防护方法的重要性:实施安全防护“左移”以便从一开始就构建安全防护,并通过一系列全局状态管理实践来实现“右护”。本文将介绍如何将该策略付诸实践,同时在云端、本地及边缘环境中实现安全地交付 API。
混合和多云 API 安全防护参考架构
混合和多云架构具有许多显著优势,特别是在敏捷性、可扩展性及弹性方面,但也加剧了复杂性。事实上,F5 的《2023 年应用策略现状》报告显示,日趋增加的复杂性是当今企业面临的最常见挑战。第二大常见的挑战是执行一致的安全防护。
目前的问题是,某些安全防护解决方案(如某些 WAF)缺乏 API 所需的上下文和保护。同时,专用的 API 安全防护解决方案无法创建和执行策略以阻止攻击。您需要一款可靠的解决方案,将您的架构和技术视为一个集发现、可观测性、管理及执行功能于一体的互联堆栈。
实际上,API 安全防护需要跨三个层级进行整合,从而在 API 流量流经关键基础架构点时提供有效保护:
- 全局层 — 针对 Bot 和 DoS 攻击提供边缘保护,以及发现功能和可见性
- 站点层 — 在单个云端、数据中心或边缘部署中提供保护
- 应用层 — 在 API 运行时附近部署细粒度的访问控制和威胁防护
下面的参考架构概述了 F5 分布式云服务和 F5 NGINX 如何协同工作,在多云和混合架构中提供全面的 API 保护:
在这一参考架构中,F5 分布式云能够跨边缘、云端和本地部署提供全局层保护。带有 NGINX App Protect WAF 的 NGINX Plus 可通过集成到软件开发生命周期来执行运行时安全防护,从而在站点层和/或应用层提供细粒度保护。
下面我们来看看该架构的每个组件提供的安全保护。
借助 F5 分布式云发现和监控 API
首先,来自公共客户端的 API 流量会流经部署在边缘的 F5 分布式云 Web 应用和 API 防护 (WAAP)。关键是,这不仅提供了针对 DDoS 攻击、Bot 滥用及其他攻击的全局保护,而且还提供了对进入不同云端、本地数据中心及边缘部署的 API 流量的重要全局可见性。
API 流量增长迅速,而大多数 API 攻击却是在数周甚至数月内徐徐展开。要在大量常规 API 请求和响应中发现恶意流量,无异于大海捞针。为了解决这一问题,F5 分布式云利用人工智能 (AI) 和机器学习 (ML) 生成有关 API 流量的洞察信息,包括实施 API 发现、执行端点映射以及主动学习和检测可能代表新兴威胁的异常情况。
作为应用和 API 安全防护的全局层,F5 分布式云 WAAP 具有以下优势:
- 自动发现 API — 检测并映射 API,以全面了解您的生态系统,包括对第三方和影子 API 的可见性、身份验证状态等。
- 防止敏感数据泄露 — 检测、表征和屏蔽社会保险号、信用卡号码及其他个人身份信息 (PII) 等敏感数据,以防泄露。
- 监控和异常检测 — 使用人工智能和机器学习工具持续检查并分析流量,以及时发现异常和漏洞。
- 增强 API 可见性 — 观测流量如何流经所有 API 端点,以了解边缘 API、内部服务及第三方集成之间的连接情况。
- 跨环境执行安全防护 — 通过执行模式验证和速率限制并拦截不良或恶意流量,实施主动安全防护模式。
如欲使用 F5 分布式云 WAAP,您可以申请免费的 F5 分布式云服务企业试用版,其中包括 API 安全防护、Bot 防御、边缘计算及多云网络。
借助 F5 NGINX 实现访问控制和运行时保护
流经全局层后,API 流量会到达站点层和/或应用层。全局层通常由 IT 网络和安全防护团队进行管理,而站点层和应用层中的各个 API 则由软件工程团队构建和管理。
在访问控制方面,API 网关是一种常见选择,因为它允许开发人员将一些最常见的安全防护要求转到位于应用之上的共享基础架构层。这有助于减少重复性工作(例如,让每个开发人员或团队构建自己的身份验证和授权服务)。
F5 NGINX Management Suite API Connectivity Manager 支持平台工程和 DevOps 团队轻松访问 API 网关和开发人员门户等共享基础架构,而无需开发人员填写申请单并执行其他繁琐的系统流程。
借助 API Connectivity Manager,您可以设置安全防护策略,从而将 NGINX Plus 配置为 API 网关,并配置和监控 NGINX App Protect WAF 策略。它们共同提供关键的 API 运行时保护,包括:
- 执行访问控制 — 管理对 API 端点的细粒度访问(身份验证和授权),并创建访问控制列表,以根据 IP 地址或 JWT 声明放行或拒绝流量。
- 加密和屏蔽敏感数据 — 使用 mTLS 和端到端加密技术保护 API 之间的通信,并检测和屏蔽 API 响应中的信用卡号码等敏感数据。
- 检测和阻止威胁 — 不仅提供针对 OWASP 十大 API 安全防护风险的保护,而且还提供针对超过 7,500 个威胁活动和攻击特征库的高级安全防护
- 大规模监控 WAF 和 API 流量 — 利用 NGINX App Protect WAF 查看所有 API 网关的 API 流量,以检测误报和潜在威胁。
立即开启 NGINX API Connectivity Stack 30 天免费试用,获取 NGINX Management Suite 及其 API Connectivity Manager、Instance Manager 和 Security Monitoring 模块,以及 NGINX Plus(作为 API 网关)及 NGINX App Protect(支持 WAF 和 DoS 防护)。
结语
NGINX 可在云端和本地数据中心环境中提供出色的运行时保护。再加上 F5 分布式云,无论相关应用部署在何处,安全防护和平台工程团队都能持续掌握 API 端点情况。二者结合使用,F5 分布式云和 NGINX 可助力您灵活地以任何所需方式构建和保护您的架构。
更多资源
- 解决方案简介:借助 F5 NGINX 为现代应用提供 API 安全防护
- 技术白皮书:《支持全面 API 安全防护的 F5 分布式云 WAAP》
- 电子书:《API 策略:平台工程领导者的最佳实践》
- 电子书:安全防护即代码
- 博客文章:利用 API 安全防护的基本工具和最佳实践防御 API 攻击