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

简介: 云计算中使用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可以促进长期采用。


相关文章
|
存储 传感器 编解码
微软行星云计算planet platform中的高分辨率影像通过API接入Google Earth Engine(GEE)
微软行星云计算planet platform中的高分辨率影像通过API接入Google Earth Engine(GEE)
310 0
微软行星云计算planet platform中的高分辨率影像通过API接入Google Earth Engine(GEE)
|
存储 JavaScript 前端开发
微软行星云计算Planetary Computer——从 STAC API 读取数据
微软行星云计算Planetary Computer——从 STAC API 读取数据
527 0
微软行星云计算Planetary Computer——从 STAC API 读取数据
|
API 数据中心 云计算
VMware提交vCloud API 推进云计算标准
本文讲的是VMware提交vCloud API 推进云计算标准,全球桌面到数据中心及云计算的虚拟化解决方案领导厂商VMware公司(NYSE 交易代码:VMW)日前宣布,正式将VMware vCloud API提交至分布式管理任务组(DMTF),为应用程序在内部云和外部云的运行提供统一的移动性、配置、管理和服务保证。
1466 0
|
API 云计算 UED
云计算系统中对开发者的API设计问题
本文讲的是云计算系统中对开发者的API设计问题,近年来,随着互联网应用的普及与深化,网络信息与服务趋于海量,用户体验需求不断增长,数据海量、分布异构、处理复杂、使用繁琐等问题逐渐突显,旨在解决这些问题的云计算(Cloud Computing)相关技术得到了迅猛发展。
1239 0
|
7天前
|
缓存 前端开发 API
API接口封装系列
API(Application Programming Interface)接口封装是将系统内部的功能封装成可复用的程序接口并向外部提供,以便其他系统调用和使用这些功能,通过这种方式实现系统之间的通信和协作。下面将介绍API接口封装的一些关键步骤和注意事项。
|
14天前
|
监控 前端开发 JavaScript
实战篇:商品API接口在跨平台销售中的有效运用与案例解析
随着电子商务的蓬勃发展,企业为了扩大市场覆盖面,经常需要在多个在线平台上展示和销售产品。然而,手工管理多个平台的库存、价格、商品描述等信息既耗时又容易出错。商品API接口在这一背景下显得尤为重要,它能够帮助企业在不同的销售平台之间实现商品信息的高效同步和管理。本文将通过具体的淘宝API接口使用案例,展示如何在跨平台销售中有效利用商品API接口,以及如何通过代码实现数据的统一管理。
|
26天前
|
安全 算法 API
产品经理必备知识——API接口
前言 在古代,我们的传输信息的方式有很多,比如写信、飞鸽传书,以及在战争中使用的烽烟,才有了著名的烽火戏诸侯,但这些方式传输信息的效率终究还是无法满足高速发展的社会需要。如今万物互联的时代,我通过一部手机就可以实现衣食住行的方方面面,比如:在家购物、远程控制家电、自动驾驶等等,背后都离不开我们今天要聊的API接口。