保护您的云应用免受这5个常见API安全错误的影响
但是API有一个缺点:如果管理不善,它们会变得袭击者唾手可得的水果.
这就是为什么确保您在云中安全地使用API是至关重要的。本文揭示了IT组织遇到的常见API安全错误,以便强调不如果您想充分利用API,同时最大限度地提高安全性,可以这样做。
1.未能实施API限制
在许多方面,不安全的API是一种攻击者的梦想。原因在于,通过反复调用API,攻击者可以淹没托管它们的服务器,并使依赖于API的应用程序不可用。
幸运的是,有一个简单的方法来防止这种类型的API攻击:节流。API节流允许管理员限制每个客户端在给定时间段内可以向API发出的请求数量。节流并不能完全防止滥用API——仍然有可能使用由大量独立客户端组成的僵尸网络发起DDoS式的攻击——但它对阻止或减轻旨在破坏应用程序可用性的API攻击有很大帮助。
2.不需要API认证
除非通过API获得的所有数据都是100%公开的,否则API应该要求身份验证才能响应请求。否则,攻击者可以使用API访问他们不应该访问的数据——就像一个攻击者在里收集数据比如说。
API黑客有点复杂,因为攻击者收集的数据是半公开的。其他有权访问个人资料的用户可以在个人资料上看到这些信息。但是它不应该对发出API请求的随机的、未经验证的客户端可用。基本的API认证可以防止在这个事件中发生的滥用。
3.使用“模糊安全”策略来保护API
另一个可能使您的业务遭受API攻击的API安全错误是,仅仅因为您没有公开宣传您的API端点,就认为没有人能够找到它们,因此您不需要担心保护您的API。
这种策略相当于安全人士所说的“默默无闻的安全感”—类似于在网站上发布敏感数据,但选择不共享URL,希望没有人发现它。
有些情况下,您可能选择不公布API的位置(例如,如果API不被公众使用,您可能只在内部共享端点信息)。但即便如此,你也应该像保护一个完全公开的API一样保护它。
4.公开不必要的API
从安全角度来看,您公开和使用的API越少越好。不必要的API就像操作系统上的无关库或应用程序中被放弃的代码:它们给攻击者提供了更多的潜在破坏途径,而对您的业务没有任何价值。
所以,在你发布一个新的API之前,确保你有一个好的理由这样做。同样,一定要废弃不再需要的API,而不是让它们保持活动状态。
5.定义过于宽泛的API访问控制
通用的安全模型通常不适用于API。不同的API用户可能有不同的需求,需要不同的安全控制。例如,与您的客户或合作伙伴相比,您企业内部的用户可能需要通过API进行更高级别的数据访问。
出于这个原因,以细粒度的方式定义和实施API访问控制是一个最佳实践。使用API网关,为不同的用户建立不同的访问级别(您可以根据他们的网络位置来区分他们,例如,来自VPN的请求应该与来自互联网的请求区别对待,或者根据身份验证方案来区分)。
结论
API使得在云环境中共享资源变得容易。但是通过API分享太多是一件坏事。API必须通过节流、认证和粒度访问控制来保护,以保护数据和应用的安全,防止攻击者寻找滥用API的方法。