保护您的云应用程序免受这5个常见API安全错误的侵害

二十年前,API几乎不存在,但现在它们已成为将云计算世界凝聚在一起的粘合剂。API在使云应用程序能够相互交互以及与它们完成工作所需的各种云资源交互方面发挥着核心作用。
但是API有一个缺点:如果管理不善,它们可能会成为攻击者唾手可得的果实。
这就是确保您在云中安全使用API至关重要的原因。本文剖析了IT组织遇到的常见API安全错误,以强调如果您想充分利用API同时最大限度地提高安全性,则不应做什么。
1.未能执行API节流
在许多方面,全的API是DDoS攻击者的目标。通过对API发出重复调用,攻击者可以压倒托管它们的服务器,并使依赖API的应用程序无法使用。
最简单的方法可以防止这种类型的API攻击:限制。API限制让管理员可以限制每个客户端在给定时间段内可以向API发出的请求数量。限制并不能完全防止API的滥用,仍然有可能使用由大量独立客户端组成的僵尸网络发起DDoS式攻击,但它在阻止或减轻旨在破坏应用程序可用性的API攻击方面大有帮助。
2.不需要API认证
除非通过API提供的所有数据都是100%公开的,否则API应该需要身份验证才能响应请求。否则,攻击者可以使用API访问他们不应该访问的数据。
3.使用“默默无闻的安全”策略来保护API
另一个可能使您的企业遭受API攻击的API安全错误是假设仅仅因为您不公开宣传您的API端点,就没有人能找到它们,因此您无需担心API的安全。
这种策略相当于安全人员所说的“隐藏安全”,类似于在网站上发布敏感数据,但选择不共享URL,希望没人能找到它。
在某些情况下,您可以选择不公布API的位置(例如,如果API不被公众使用,您可能只在内部共享端点信息)。但即便如此,您也应该在保护API方面投入与完全公开的API相同的投入。
4.暴露不必要的API
从安全的角度来看,您公开和使用的API越少越好。不必要的API就像操作系统上的无关库或应用程序中被遗弃的代码:它们为攻击者提供了更多潜在的方式来造成破坏,同时对您的业务没有任何价值。
因此,在发布新API之前,请确保您有充分的理由这样做。还要确保弃用不再需要的API,而不是让它们处于活动状态。
5.定义过于宽泛的API访问控制
一种放之四海而皆准的安全模型通常不适用于API。不同的API用户可能有不同的需求,需要不同的安全控制。例如,与您的客户或合作伙伴相比,您企业内部的用户可能需要通过API进行更高级别的数据访问。
出于这个原因,最好的做法是以细化的方式定义和实施API访问控制。使用API网关,为不同的用户建立不同级别的访问权限,您可以根据他们的网络位置来区分他们,例如,来自您的的请求应该与来自互联网的请求区别对待,或者基于身份验证方案。
