首页 > 其他分享 >如何防止僵尸 API...

如何防止僵尸 API...

时间:2023-09-07 17:34:34浏览次数:34  
标签:... 版本控制 僵尸 API 版本 端点 内部

如何防止僵尸 API..._API

人们越来越依赖Web API。2023 年 Postman API 状况报告发现,整整 92% 的组织计划在明年增加对 API 的投资。API 正在为从内部微服务策略到合作伙伴策略和成熟产品的一切提供动力。

然而,这种新发现的API 蔓延带来了后果;迫在眉睫的威胁可能会从坟墓中升起来困扰你……

如何防止僵尸 API..._API_02

当然,我说的是僵尸 API。僵尸 API 是不再维护但仍处于活动状态的端点。它们可能是未使用的端点、从未正式弃用的旧功能或被遗忘的开发或测试环境。无论如何,僵尸 API 是一种技术债务,如果任其腐烂,可能会构成合理的威胁。

API 的突然增长,加上不成熟的库存管理和内部沟通的缺乏,可能会导致创建无数的影子端点。下面,我将回顾僵尸 API 可能导致的一些问题,并考虑 DevOps 团队可以采取的一些可行步骤来防止这些问题。

了解僵尸API风险

忘记 API 可能会导致许多问题。例如,假设一个不安全的测试环境意外地暴露在公众面前。使用自动端点扫描的攻击者可以找到可利用的身份验证和授权漏洞,从而可能泄露敏感数据。

鉴于每天都有新的漏洞和漏洞涌入,让任何一项技术得不到维护也是一个坏主意。API 的互联特性强调了这一点,API 可以插入庞大的数据库网络,并允许后端基础设施具有读写权限。

不安全的 API 可能会给企业带来经济损失和声誉损害。想想近年来发生的大量与 API 相关的数据泄露事件,这些事件发生在 Optus、Dropbox、Twitter 和 Zendesk 等公司。据估计,到 2022 年,由于 Web API 的泄露,损失将达到120 亿至 230 亿美元。

僵尸 API 很容易成为此类网络攻击的目标,因为它们往往具有不安全的设计,更容易被破解。他们还倾向于使用不成熟的监控系统,这意味着黑客可以比积极使用的端点更容易在雷达下行动。

避免僵尸API的技巧

>> 保持 API 的活跃库存

正如他们所说,你无法确保你不了解的东西。事实上,OWASP 将不当的库存管理列为十大API 安全风险之一。因此,适当的库存管理是避免僵尸 API 的良好第一步。扫描您的服务组合以查找被遗忘的端点,对其进行编目并定期更新目录。

彻底记录您的服务以帮助内部发现也是一个很好的做法。如果可能的话,采用规范优先的实践还可以确保文档和实现基于单一事实来源,从而避免版本不匹配和文档漂移。

FireTail 首席执行官 Jeremy Snyder 表示:“防止僵尸 API 的关键是可见性。” “许多组织缺乏在生产或登台环境中运行的所有 API 的持续、最新的清单。”

>> 使用正确的版本控制和生命周期策略

减少僵尸 API 机会的另一种方法是采用成熟的 API 生命周期管理实践。所选择的API 版本控制策略应明确定义和编码。并且版本控制变更应该清楚地传达给所有利益相关者。

在这一点上,从一开始就计划好日落、退役和弃用策略同样重要。然后,当已弃用的服务达到其生命周期时将其删除!这不是一项光鲜亮丽的任务,但应该将其纳入某人的任务中。

“良好的网络卫生是一项经常被忽视的策略,”斯奈德解释道。“第二个要求是制定有关版本控制的政策以及在任何给定时刻可以存在多少个 API 版本。例如,该策略可能规定只能存在最新版本或最新版本加上先前版本。然而,这依赖于可见性以保持合规性。”

正确生命周期管理的其他领域包括围绕开发和部署进行治理,以及在持续部署 (CI/CD) 管道中利用自动化测试。这两者都可以帮助制定政策和安全要求,这也应该可以增强 API 的安全性。

>> 分享内部和第三方服务的知识

部落知识是 DevOps 文化的对立面。因此,消除孤岛并共享 API 支持的服务的内部知识以限制恶意端点的传播是一种很好的做法。这可以通过专用网络存储库甚至内部邮递员集合或工作区来完成。

“组织协调和沟通等内部流程至关重要,”斯奈德补充道。“如果团队不互相告知正在开发并投入生产的新 API,安全团队就无法评估或审核它们。相反,如果应用程序团队不了解旨在涵盖各种 API 安全方面的网络基础设施资源,那么开发人员就不知道需要将哪些安全控制纳入 API 代码中。”

需要可见性才能避免僵尸API

最近的一项 CISO 调查显示,API 安全性是 CISO 最关心的问题。由于多种原因,Web API 对于攻击者来说仍然是轻而易举的事情。今年早些时候 Salt Labs 记录的恶意 API 攻击流量激增 400%就凸显了这一点。

我们还了解到,许多此类攻击都是通过经过身份验证的 API 发生的。这表明需要更大的责任和可见性来开始遏制 API 相关安全事件的浪潮。

Snyder 表示,为了达到足够的可见性,领导者应该考虑采用工具来帮助确定是否存在过时的 API 或具有多个实时版本的 API。“如果没有提供必要的代码或模块来直接保护 API,这些工具应该有助于显示实时 API 的安全性,并提供有关如何修复它们的建议。”

标签:...,版本控制,僵尸,API,版本,端点,内部
From: https://blog.51cto.com/u_15605878/7399019

相关文章

  • 阿里巴巴API接口解析,实现获得商品详情
    要解析阿里巴巴API接口并实现获取商品详情,你需要按照以下步骤进行操作:了解阿里巴巴开放平台:访问阿里巴巴开放平台,并了解相关的API文档、开发者指南和规定。注册开发者账号:在阿里巴巴开放平台上注册一个开发者账号,并创建一个应用,获取到API权限。获取API密钥:为了使用阿里巴巴API接口,......
  • 【ROS2机器人入门到实战】使用Nav2导航API进行导航
    4.使用Nav2导航API进行导航写在前面当前平台文章汇总地址:ROS2机器人从入门到实战获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取教程配套机器人开发平台:两驱版|四驱版为方便交流,搭建了机器人技术问答社区:地址fishros.org.cnNav2的API其实是Nav2提供的一个Python库,通过该库......
  • ffmpeg中的采集麦克风的 API
    在FFmpeg中,可以使用libavdevice库来采集麦克风的音频。下面是一个简单示例:#include<stdio.h>#include<stdlib.h>#include<string.h>#include<stdint.h> #include<libavformat/avformat.h>#include<libavdevice/avdevice.h> intmain(){av_r......
  • 2023年值得推荐的 API 开发工具
    数字化时代,应用程序编程接口(API)的重要性愈发凸显。API充当着应用程序之间的桥梁,促进数据交换和功能集成。随着API的不断增加和复杂化,开发对API开发工具的要求也越来越高。我们一起来盘点下2023年上半年比较热门的API开发工具。API开发工具的主要作用API开发工具是一......
  • JBPM常用一些api中的方法
    启动流程:Ø获取最新的流程定义:JbpmContext.getCurrentJbpmContext().getGraphSession().findLatestProcessDefinitions();//返回ListØ获取指定流程定义:ProcessDefinitionprocessDefinition=graphSession.loadProcessDefinition(processDefinitionId);Ø创建流程实例:Pr......
  • 如何使用API数据接口给自己创造收益
    使用API数据接口创造收益的方法有很多,以下是一些常见的方法,并附有代码示例:一、数据分析与预测通过获取API数据接口中的大量数据,我们可以进行深入的数据分析,并利用这些数据来预测未来的趋势和行为。例如,我们可以使用Python中的pandas库来处理API返回的数据,并使用scikit-learn等库来......
  • 如何使用API数据接口给自己创造收益
    ​使用API数据接口创造收益的方法有很多,以下是一些常见的方法,并附有代码示例:一、数据分析与预测通过获取API数据接口中的大量数据,我们可以进行深入的数据分析,并利用这些数据来预测未来的趋势和行为。例如,我们可以使用Python中的pandas库来处理API返回的数据,并使用scikit-learn......
  • Apipost forEach控制器怎么用
    最近,Apipost对自动化测试进行了优化,新增foreach控制器。这个新功能的引入为自动化测试带来了更高的效率和灵活性。本文将介绍Apipost的foreach控制器,解释其用途和优势,帮助您更好地利用这一功能提升自己的测试工作。什么是foreach控制器?Foreach控制器允许您在测试用例中迭代执行多......
  • Apipost forEach控制器怎么用
    最近,Apipost对自动化测试进行了优化,新增foreach控制器。这个新功能的引入为自动化测试带来了更高的效率和灵活性。本文将介绍Apipost的foreach控制器,解释其用途和优势,帮助您更好地利用这一功能提升自己的测试工作。什么是foreach控制器?Foreach控制器允许您在测试用例中迭代执行......
  • FastApi---Tortoise-ORM异步框架的使用
     1.配置 pipinstalltortoise-ormpipinstallaerichpipinstallaiomysql 参数配置#settings.pyTORTOISE_ORM={'connections':{'default':{#'engine':'tortoise.backends.asyncpg',Po......