云计算中使用API的5个坏习惯

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 云计算中使用API的5个坏习惯

大家好,我是阿萨。


API安全性通常感觉很复杂。但是,如果您的IT团队在API设计和实现中避免了这些常见的陷阱,那么在保护其服务方面将大有作为。


公共云API为开发人员提供了大量高效的可能性。这些接口为应用程序带来了核心功能,并将应用程序和程序连接到外部服务。适当集成的api将使所有用户受益,并增强服务在软件市场上的价值主张。


也就是说,云计算中不安全的API会使环境暴露在恶意威胁之下。企业有责任提供安全的产品,但有时错误会导致安全问题。以下是一些可能导致麻烦的例子:


未审查 API,或在实现之前未执行彻底的代码审查;

开发者没有正确配置他们的 API;而且

缺少对业务逻辑和端点的混淆。

在评估常见的API漏洞时,这三个案例很难触及表面。下面,我们将回顾在云计算中创建不安全api的常见威胁和不良实践。


1. 不必要的风险


一个好的API能够提供相关的功能和最终用户的反馈,无论是在某些事情出错还是按预期工作时。最终用户看不到后台发生了什么。所有输入都是在前端通过GUI提供的。


例如,PayPal的身份API允许客户通过PayPal帐户访问网站。最终用户与登录字段交互,但API默默地完成授权和获取帐户信息的繁重工作。


曝光可能会意外地洞察到这个过程是如何工作的,是什么导致错误,以及后端如何工作以实现其目标。换句话说,API的技术工作是展示出来的。虽然API文档在这里提供了深入的见解,但有些东西不应该公开。恶意行为者可以利用信息,如业务逻辑、API结构或语法和端点,并发起攻击。


暴露的API是web应用程序的主要攻击面。下面是坏人是如何制造麻烦和攻破的。


同样,风险敞口也不只是在技术层面。编码糟糕的API可能会授予不需要的可见性或对受保护数据的访问,从而引发违规行为。这些事件代价高昂,背叛了用户的信任,并导致基础设施出现进一步的问题。


结论:始终确保保护应用程序数据。类似地,在设计任何错误代码消息或反馈时,都要以上下文为重点,而不需要对API体系结构有敏感的见解。另外,不要向最终用户公开报头响应。


2. 不成熟的访问控制


IT团队需要确保只有正确的个人才能访问受保护的信息。此外,所有受保护的服务都必须验证用户的身份。许多API不能适当地验证用户输入,这可能会产生跨系统漏洞。


API提供对来自其他来源的用户数据的访问,并使用应用程序作为获取这些信息的网关。不幸的是,不成熟的身份验证和授权协议可能会导致数据过度共享。


例如,假设你正在网上商店买东西,该商店有集成的第三方支付选项。最终用户可能会喜欢这个选项,因为他们可以依赖现有的支付服务和凭证,而无需将敏感信息交给商家。理想情况下,支付API不会与该在线商店共享任何凭据或支付信息。然而,编码和实现糟糕的api可能会意外地将凭据泄露给不需要的接收者。


结论:使用实现某种令牌系统的 API,特别是OAuth 2.0。这有助于控制对外部数据的访问,而不会泄露秘密。api是很棒的资源;然而,一些数据必须被隔离以保持安全。


3.不合格的加密


数据有两种类型:运动中的数据和静止的数据。有些API在传输过程中不保护数据,这发生在发出HTTP请求时。API从数据库(点A)检索信息,并将其发送到目标服务(点B)。


如果有中间人呢?一些开发人员没有意识到并非所有的数据路径都是安全的。其他公司则采用过时的协议或薄弱的防护罩,无法抵御黑客的攻击。


静止数据通常驻留在数据库中。api直接连接到这些数据库,这就是为什么糟糕的加密是如此有问题。如果不存在加密,甚至不符合标准,个人记录、凭证和支付信息等敏感数据仍然容易受到攻击。这些api甚至可能不符合强制性标准,如HIPAA、Sarbanes-Oxley Act和PCI DSS。


结论:支持强加密的api是最理想的,AES 256或Triple DES是最理想的。对于运动中的数据,API应该使用安全套接字层和传输层安全(TLS)。请确保使用最新版本,因为对于某些应用程序,TLS 1.0或1.1可能不够用。


4. 忽略限制和节流


目前常见的攻击类型是DDoS攻击,在这种攻击中,外部网络向给定服务发送流量激增。有限的api为这些攻击提供了便利,因为它们允许攻击者用错误的请求淹没服务器和网络。这种类型的攻击会导致性能下降、服务中断和服务崩溃。


DDoS攻击的迹象了解如何检测DDoS攻击

许多api没有限制它们被调用的频率,或者强制执行过高的限制。这意味着应用程序容易受到来自API的无休止的活动循环的影响。当然,暂时终止API会阻止用户访问应用的核心功能,但也会造成糟糕的用户体验。


当公司没有考虑API的节流控制时,性能下降就会成为一个真正的问题。用户可能会破坏整个服务生态系统的资源分配和吞吐量。


结论:选择具有可配置速率限制和节流控制的API。这将决定API被调用的频率,导致更好的正常运行时间,提高性能并保护您的服务不受不良行为的影响。寻找适用于API、应用程序和资源本身的多级限制。这也确保了对用户行为的更好控制。


5. 急于上市


从根本上说,API开发人员不能指望不经过审查就能推出好产品。通过清理代码并实现彻底的审查和测试周期,IT团队可以显著减少最初伴随产品出现的bug数量。


当截止日期优先于API质量时,问题就出现了。开发人员通常有很多事情要做,在很多情况下,他们需要输出大量的代码。这种压力会导致编程错误。匆忙推出一个API产品实际上保证了云计算中API的不安全。


当一家公司希望赶在竞争对手之前在市场上站稳脚跟时,它通常会采取行动。虽然API可能是开放的或免费的,但它仍然可以为创建者带来收入。这同样适用于外部开发人员,他们的api有助于吸引用户。开发人员可能没有正确地测试给定的API如何与他们的代码相匹配,或者确定内置控件是否提供足够的数据保护。


结论:双方都必须对API进行测试。安全与收入之间的斗争并非零和游戏。事实上,构建以安全著称的API可以促进长期采用。


相关文章
|
4月前
|
存储 网络协议 前端开发
云计算存储问题之RESTful API适用场景如何解决
云计算存储问题之RESTful API适用场景如何解决
|
4月前
|
Unix API 数据格式
云计算存储问题之API在不同操作系统上的实现如何解决
云计算存储问题之API在不同操作系统上的实现如何解决
|
存储 传感器 编解码
微软行星云计算planet platform中的高分辨率影像通过API接入Google Earth Engine(GEE)
微软行星云计算planet platform中的高分辨率影像通过API接入Google Earth Engine(GEE)
419 0
微软行星云计算planet platform中的高分辨率影像通过API接入Google Earth Engine(GEE)
|
存储 JavaScript 前端开发
微软行星云计算Planetary Computer——从 STAC API 读取数据
微软行星云计算Planetary Computer——从 STAC API 读取数据
624 0
微软行星云计算Planetary Computer——从 STAC API 读取数据
|
API 数据中心 云计算
VMware提交vCloud API 推进云计算标准
本文讲的是VMware提交vCloud API 推进云计算标准,全球桌面到数据中心及云计算的虚拟化解决方案领导厂商VMware公司(NYSE 交易代码:VMW)日前宣布,正式将VMware vCloud API提交至分布式管理任务组(DMTF),为应用程序在内部云和外部云的运行提供统一的移动性、配置、管理和服务保证。
1499 0
|
API 云计算 UED
云计算系统中对开发者的API设计问题
本文讲的是云计算系统中对开发者的API设计问题,近年来,随着互联网应用的普及与深化,网络信息与服务趋于海量,用户体验需求不断增长,数据海量、分布异构、处理复杂、使用繁琐等问题逐渐突显,旨在解决这些问题的云计算(Cloud Computing)相关技术得到了迅猛发展。
1272 0
|
12天前
|
JSON API 数据格式
淘宝 / 天猫官方商品 / 订单订单 API 接口丨商品上传接口对接步骤
要对接淘宝/天猫官方商品或订单API,需先注册淘宝开放平台账号,创建应用获取App Key和App Secret。之后,详细阅读API文档,了解接口功能及权限要求,编写认证、构建请求、发送请求和处理响应的代码。最后,在沙箱环境中测试与调试,确保API调用的正确性和稳定性。
下一篇
无影云桌面