原文作者:Byron McNaught – F5 高级解决方案营销经理原文链接:
希望成为一名 API 安全专家吗?
转载来源:
The New Stack
NGINX 唯一中文官方社区 ,尽在 nginx.org.cn 阅读原文。
中国名将孙武在其兵书典著《孙子兵法》中说道:“知彼知己,百战不殆。”就网络安全而言,他的下一句话更为重要:“知己而不知彼,一胜一负。”
简而言之,要想了解您的敌人,您必须先成为自己的敌人。
安全专家深知维护 API 清单、及时了解风险态势的持续变化以及监控潜在安全风险的重要性。但是,要真正成为 API 安全专家,您需要从攻击者的角度思考,预测战术和技术,并制定安全防御措施来降低风险。
OWASP
开放式WEB应用安全项目 (OWASP) 是一个致力于提高软件安全性的非营利性基金会,其标志性项目是 OWASP 十大 Web 应用安全风险列表。OWASP 还发布了一份十大 API 安全风险列表,列出了应用编程接口 (API) 面临的独特安全风险。
下面让我们详细了解一下在威胁建模过程中需要考虑的主要 API 安全防护风险:
STRIDE 和 DREAD
Microsoft 创建了 STRIDE 方法。作为一种安全威胁模型,该方法可用于在设计阶段找出产品在生产环境中可能面临的威胁。
图 2 — STRIDE 方法
Microsoft 还有一种用于评估威胁的定性风险评估方法,称为 DREAD。
图 3 — DREAD 风险评估
OWASP、STRIDE 和 DREAD 可帮助您分析各种威胁场景。例如,OWASP 漏洞 API4:2019“缺乏资源和速率限制”详细说明了攻击者针对未正确配置或根本未实施速率限制的 API 发动的几种场景。
在这张截图中,Microsoft STRIDE/DREAD 工具使用数据流图 (DFD) 来评估针对未实施速率限制的 API 网关的 DoS 威胁,揭示系统崩溃的高风险。
零信任分区
传统的分区网络架构或基于边界的网络设计采用安全“分区”的概念,其中安全“分区”是指网络中共享策略和要求的逻辑分组。该架构并非一个完全开放或扁平的网络,而是将基础设施服务划分为不同分区,通过控制攻击的“爆炸半径”来降低风险。
这种架构的一个主要特点是,分区内的所有用户和设备都会得到默许的信任,因此有权设置或更改分区的策略、要求及其他安全防护设置。
这类似于“城堡和护城河”防御。但是,再好的城堡和护城河也有可能被攻破。在涉及架构、云和企业职责的复杂现代环境中,盲目信任“企业边界”内用户和设备的传统方法已不再适用。安全防护正朝着零信任架构发展的原因之一就是要缓解攻击者攻破城墙的威胁。
零信任建立在“永不信任,始终验证”的基本前提之上,代表着向无边界安全防护的范式转变。没有绝对的信任,即使是获准越过网络护城河进入应用城堡的信使也不例外。
零信任要求对身份验证和授权进行持续评估,包括验证身份和完整性,而不依赖于用户类别(管理员、经身份验证/未经身份验证、合作伙伴)或设备位置等因素。其目的是根据风险等级,提供对应用、API 和服务的最低级别访问权限。
零信任的主要原则包括:
-
了解您的架构,包括用户、设备、服务和数据。
-
了解您的用户、服务和设备身份。
-
评估用户行为、设备和服务健康状况。
-
使用策略授权申请。
-
在各个位置进行身份验证和授权。
-
监控用户、设备和服务的所有访问。
-
不信任任何网络,包括您自己的网络。
-
选择和设计零信任服务。
通过采用零信任原则,API 安全专家能够支持零信任和分区网络架构,弥合本地和云系统之间的鸿沟,并在混合环境中实施一致的安全防护,例如采用可促进微分段的服务网格。
后续步骤
在打下坚实的基础后,包括 API 基础知识、管理和安全防护,我们就可以将这些概念付诸实践,通过面向云环境的重新构建来对传统应用进行现代化升级。请查看 O’Reilly 免费电子书《掌握 API 架构》中的假设案例研究,进一步探索如何将应用重新设计为 API 驱动型架构,并权衡云平台的运维和安全优势。
NGINX 唯一中文官方社区 ,尽在 nginx.org.cn
更多 NGINX 相关的技术干货、互动问答、系列课程、活动资源: 开源社区官网 | 微信公众号 | B 站