【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
五、API安全策略分析
3、了解API安全性的相关功能
API网关是提供API安全性的强有力的工具,因为它能够支持多种功能。但是,众多的信息也会让人一时不知所措,让我们慢慢梳理。如图1展示了API安全策略中的多个“构造功能模块”,尽管许多构造模块的功能是不言自明的,但在某些场景下,他们在API安全性方面具有特定的用途。例如,在使用API密钥的客户端身份验证的场景中可以执行签名验证,签名通过客户端调用REST API来创建)以显示对该API密钥的拥有权。
为了避免被API安全产品的众多功能所淹没,以至于购买了一个功能最多的产品,而不是您真正需要的产品,我们建议您在这种情况下,应该采用功能方法来实现API安全。术语“策略”通常用于描述API安全性中涉及的工作流程。将所需的API安全策略按照步骤图列出来,然后使用图1中的一些API安全构造功能模块,然后,将产品功能映射到当前基础设施中,甚至可以将其用作概念验证的输入,(例如,通过询问供应商如何使用其产品来配置此API安全策略。)
下图2展示的是此类API安全策略的示例。注意,该策略用于攻击保护以及身份验证。它不仅对API的请求起作用,同时也对响应起作用。在将敏感数据返回给客户端之前,对其进行标记,然后验证响应来确保它是安全的。虚线表示在何处使用到其他产品的链接,例如用于身份和访问管理基础设施的链接。
上图2所示的安全策略通常使用API网关来实现,它通常作为完整生命周期API管理解决方案的一部分,将API网关与API开发者门户结合起来。当然,您也可以利用应用安全基础架构中的其他产品来实现这些功能。下图3在图2安全策略基础上,增加了产品类别。
应用交付控制器(ADC)已经在许多组织中用于传输层安全性(TLS)终止。除此之外,它还可以用于API的传输安全,与访问管理的集成可能涉及到访问管理服务或软件的连接。例如,含有身份识别服务(IDaaS)(例如Okta,它也提供API访问控制),或来自访问管理软件供应商ForgeRock和Ping Identity,两者均提供API访问控制。内容检查可以使用web应用程序防火墙WAF,例如Imperva。API的WAF功能也可以包含在应用程序控制(ADC)或内容分发网络(CDN)解决方案中(如Akamai,它也提供API保护)。
自动程序bot的攻击对于API来说尤其需要关注,因为从设计上讲,API是以编程方式调用的。因此,区分“好的”API调用和“坏的”API调用是很重要的,后者可能试图获取数据。自动程序bot的攻击缓解对策可能由已经为web流量中执行自动程序bot的攻击缓解的解决方案(例如,Distil Networks或ShieldSquare)或通过包含bot攻击缓解对策的API管理解决方案(例如Google的Apigee Sense)来提供。
通过使用功能方法,您可能会发现API网关就足以交付所需的API安全策略。但是,如果需要API网关没有提供的功能(例如高级自动程序bot的攻击缓解对策),那么可以由基础设施中其他产品的功能来提供。
(未完待续)
未经同意,本文禁止转载或摘编。
来源:oschina
链接:https://my.oschina.net/u/4102084/blog/3141944