(要快速了解 API 安全性作为当前行业主题的崛起,请参阅这篇最新博客文章。 下面的指导将从那里开始并帮助概述您可以采取的措施。)
使用安全网关补充您的 API 网关
API 的爆炸式增长正在推动 API 网关和 API 安全的新市场。 虽然这些在未来可能会合并,但今天您可以在 API 网关前面安装一个功能强大的 Web应用防火墙 (WAF) 来减轻威胁。 WAF 可以使用开箱即用的功能(例如 IP 情报、攻击签名、恶意机器人检测和 OWASP Top 10 规则集)在已知的恶意流量到达您的 API 网关之前将其阻止。 更成熟的 WAF(例如F5 Advanced WAF(API 安全 - 新一代 WAF) )具有专用功能,可以定制安全策略来保护单个域内的多个 API,而不仅仅是每个域的全局规则集。
在满足当前和新出现的需求时,需要牢记以下三点:
- API网关已经成为战略控制点。 随着技术变革引发更多非人类流量,API 成为业务的焦点。 API 网关位于边缘,是所有 API 流量的入口点。 API 安全需要更丰富的上下文、分析、呼叫者 ID 和关联功能才能有效。
- API 网关和 API 安全产品之间的差距很大。 传统应用安全供应商缺乏版本控制、编排和计量等最低限度的 API 网关功能。 大多数 API 网关解决方案缺乏大多数 WAF 解决方案中可用的标准安全控制。 您需要两者才能获得足够的功能和安全性。
- 安全网关可以解决这个差距。 添加具有 API 保护功能的Advanced WAF(API 安全 - 新一代 WAF)可以帮助克服大多数 API 网关的安全缺陷。 F5 Advanced WAF(API 安全 - 新一代 WAF)已扩展其安全功能以包含 API 和微服务。 虽然这不能取代 API 网关的扩展功能,但它可以改进和实施常见的安全控制。 F5 Advanced WAF(API 安全 - 新一代 WAF)还支持声明性 API,以便可以为敏捷环境编排和自动化 API 安全策略。
安全网关可以弥补安全漏洞,但不要偷懒
随着技术的成熟,API 网关将有助于解决更多 API 安全问题,但我们还没有达到这一目标。 规划和最佳实践将大大有助于在短期内充分保护您的 API。 为了有效保护您的 API,请不要忘记:
- 每次都使用安全网关。 不要允许客户端未经身份验证直接访问您的 API。强制所有流量通过可以丢弃已知不良流量的安全网关或代理。 如果有的话,请利用现有的 WAF。 当您考虑更全面的解决方案时,即使是基本的 WAF 也能发挥作用。
- 保持简单。 有 DevOps 和 SecOps 同意了一组用于开发 API 的标准(例如 OpenAPI/Swagger)。 标准将帮助您记录和测试您的 API。 OpenAPI 3.0 具有专用的安全组件,可以重复使用以帮助实现安全设计。 使用 OpenAPI 标准还可以使用审计和一致性工具(例如 Crunch42)来自动化设计和安全测试。
- 定义安全要求。 API 需求的范围通常仅包括 API 所需的功能,即定义 API 应该具备哪些功能。 API 要求还应包括安全要求(API 不应该做什么)。 随着安全性成为设计规范的一部分,安全性也成为 API 功能测试的一部分。
- 为 API 服务(API 客户端和服务器)创建威胁模型。 对所提议的系统进行威胁建模将有助于识别关键资产/组件和威胁类别。 然后可以添加安全设计要求来减轻已识别的威胁。 确保控制与 API 和应用程序所需的风险模型保持一致。
- 卸载身份验证和授权。 利用 API 网关进行现代身份验证和授权。 所有 API 都需要在部署过程中进行身份验证。 没有必要将其构建到应用程序本身中(这不是最佳做法,因为将未经身份验证的流量直接转发到 API 可能会使其容易受到攻击)。 有几种形式的身份验证可供利用,基于风险的方法可以帮助您选择。 Oauth 2.0 通常被认为是 REST API 的最佳选择。 F5 BIG-IP APM是实现这些控制的良好解决方案。
- 加密一切。 没有理由不使用加密。 所有互联网流量的 SSL/TLS 接近 100%。 所有公共 API 流量都需要加密。 如果可能的话,使用临时密钥来增加安全性(还记得 Heartbleed 吗?)。 如果您的 API 网关由于性能或价格原因无法处理加密工作负载,请考虑将工作负载卸载到专用系统,例如F5 SSL Orchestrator 。
- 不鼓励开发人员在安全方面发挥“创造力” 。 安全很难做好;安全社区已经做了几十年,但我们仍然发现缺陷。 尽管您的开发人员可能非常聪明,但要极其警惕他们发明定制的安全控制,例如新的加密模型。 为了避免此类安全“创造力”,请务必为 DevOps 提供标准化、经过严格审查的基线安全控制。 如果需要专门定制的安全控制,则应咨询 SecOps 团队。
API 的使用有可能通过启用新的商业模式和收入来源带来变革。 然而,如果在实施过程中缺乏足够的保护,API 也有可能扰乱企业并使其面临风险。 虽然 API 安全可能仍被视为一个刚刚起步的技术领域,但随着周边解决方案的成熟,上述实践可以帮助解决当前的 API 安全漏洞。