10款API安全测试工具帮助降低风险

日期: 2024-11-14 作者:Dave ShacklefordMichael Cobb翻译:邹铮 来源:TechTarget中国 英文

API是现代应用程序架构的核心。然而,由于其重要性以及提供数据和资源访问的能力,它们经常成为攻击者的目标。

API安全市场包含基于云的内联保护服务,以及可集成到开发和运行时环境中的服务。强大的API安全工具可检测出API集成配置错误、敏感数据暴露、安全漏洞、身份验证和授权凭据和令牌的不当处理等。很多工具或服务也可以作为一种预防措施,以屏蔽恶意查询和与API的互动。

下面的API安全测试工具是按字母顺序排列的,排名不分先后,因为不同的用例需要不同的功能。特定工具可能是你的最佳选择,而其他人则不一定适合,这取决于各自的需求。这些API安全测试工具大多提供免费版本或免费试用期,但企业用户可能需要付费选项或许可证。也就是说,在决定使用任何工具之前,你应该测试它,看看它对现场的开发人员和安全团队是否有用。

无论公司选择哪种API安全测试工具,API的生命周期都涉及很多不同的团队,并且自然会看到快速迭代。因此,重要的是要确定谁对持续测试和维护API安全性负有总体责任。

Apache JMeter

Apache JMeter是一个开源Java应用程序,最初设计为Web应用程序负载测试器。它扩展其功能,以测试功能行为,并测量来自任何WindowsLinuxMac OS的静态和动态资源的性能。

Apache JMeter不需要编程技能。它可以处理很多不同类型的应用程序、服务器和协议,并支持请求链。测试可以使用CSV文件来生成大量逼真的流量,使API面临压力。JMeterJenkins之间的集成使管理员能够将API测试构建到持续集成/持续交付(CI/CD)管道中,并使用JMeter进行API监控。

然而,请注意,JMeter无法动态执行脚本和其他浏览器功能,使其成为全面测试的有限选项。

Apigee API Management

Apigee API ManagementGoogle Cloud的一部分,针对构建大型复杂项目的企业,通过使开发人员能够跟踪流量、错误率和响应时间,支持API的设计、构建、测试、部署和监控。用户通过API代理在Apigee上公开他们的APIAPI代理充当后端服务的托管立面。这些代理将面向应用程序的API与后端服务分离,因此即使后端有任何代码更改,应用程序也可以不间断地继续调用API

Apigee客户可以从SaaS和混合选项中进行选择。在托管的SaaS版本中,Apigee维护环境。混合版本包括在Apigee云中运行的管理平面,以及安装在本地或与云提供商一起安装的运行时平面。混合模型将API流量和数据限制在企业,但它可能需要大量的配置和定制。

它有三种订阅方案:StandardEnterpriseEnterprise Plus,这些方案都没有限制单个API或用户的数量。然而,更高的层级提供更多的API调用。企业还可以选择使用Apigee的即用即用模式,该模式根据API调用数量、每小时使用的可部署环境和代理部署数量收费。

Assertible

Assertible提供简单而强大的API测试和监控,为特定域测试提供一站式断言,包括JSON模式验证和JSONPath数据完整性检查。它与常见的开发和通信工具集成,包括GitHubSlackPagerDutyZapier,以及CI/CD服务和平台。可以通过设置步骤将多个HTTP请求链在一起来测试更复杂的场景,这些步骤能够从HTTP请求中捕获测试变量。

虽然保持测试更新通常很耗时,但Assertible可以自动将API规范中的任何更改(例如响应、参数和标头的更新)同步到API测试。因此,开发人员在添加新参数或更改API的响应后不再需要手动更新测试。Assertible包括一个名为加密变量的功能,该功能通过安全地存储令牌、密码和其他敏感数据字段来提高安全性,用于API测试。

客户可以从4种订阅方案中进行选择,包括免费的个人版。付费版每月从25美元到100美元不等,并分层增加测试数量、测试频率和支持的团队成员。

Insomnia

InsomniaKong的一部分,是一个开源API客户端,用于从MacLinuxWindows桌面应用程序创建、组织、共享和执行REST、简单对象访问协议(SOAP)、GraphQLgRPC请求。它包括一个内置的规范编辑器,允许用户在不切换应用程序或视图的情况下立即预览更改,并且它可以为超过12种不同语言生成代码。

Insomnia支持环境变量的定义和隔离,以便在全球或公共或私人环境中跨请求重复使用。用户可以使用Insomnia的测试套件脚本创建自定义的API测试流,包括链式请求。Insomnia的代码编辑器相对简单,但它确实需要一些编码技能。Inso(该应用程序的CLI)允许用户通过GitHubGitLab JenkinsVercel和其他平台将自动Insomnia API测试集成到他们的CI/CD管道中。

它提供单个用户的免费许可证。Kong提供 Individual版,每个用户每月5美元,Team版每个用户每月12美元,Enterprise版每个用户每月45美元,可获得额外功能,例如无限协作者和组织、原生Git支持等。

Karate

Karate是一个开源框架,它将自动API测试、性能测试和模拟结合到一个框架中。虽然它是部署在Java中,但它不需要用户具备高级编程技能。Karate使用行为驱动的开发方法和Gherkin语法(Given-When-Then)来编码测试脚本。测试定义也可以作为API本身的功能文档。Karate可以与CI/CD工具集成。

内置JSONXML断言,测试可以并行运行,以提高性能和速度。管理员可以使用API调用序列测试最终用户工作流程。此外,通过添加Gatling,测试可以作为性能测试,Gatling可以验证服务器响应是否在负载下符合预期。API测试脚本也可用于自动化UI测试,Karate调试器可以在编辑过程中向后一步并重播一个步骤。Karate有广泛的文档、测试示例和活跃的用户社区。

作为一个开源程序,Karate对用户是免费的。企业可以选择其付费服务,Plus版每个用户每年100美元,Pro版每个用户每年640美元或Ultimate版每个用户每年1400美元,以获得其他功能,包括调用HTTP API、语法和调试支持等。

Katalon Studio

Katalon Studio是流行测试自动化工具,可用于API以及Web、移动和桌面应用程序。它在WindowsLinuxmacOS上运行。Katalon Studio支持SOAPREST请求,并提供多个参数化功能和命令,支持用于数据驱动测试的多个数据源。

测试脚本是用Apache Groovy语言编写,但双编辑器界面允许用户在脚本和手动编辑模式之间切换。手动模式使编程技能有限的人能够通过拖放界面生成测试。Katalon Studio Quick Start Wizard和录制播放工具。用户也可以进行连锁测试。

Katalon Studio是免费的,它的很多插件也是免费的。 Premium 版每个用户每月175美元起,包括扩展功能、私人插件和服务台支持。 Runtime Engine 附加组件每月每会话140美元,支持CI/CD集成,并允许用户并行安排和运行测试。 Ultimate 版本提供额外的分析和人工智能功能。

Postman

Postman是一个广泛使用的平台,可用于构建和测试API,报告称在50万个组织中拥有超过3000万用户。它最初是一个Chrome插件,现在可作为SaaS平台或桌面应用程序使用,与WindowsLinuxmacOS兼容。

Postman集合中,团队可以组织、分组、重复使用和共享API请求和示例,从而实现协作、自动测试和请求链。通过将监视器附加到集合中,用户可以安排自动API测试每五分钟运行一次,通过警报标记潜在问题。

Postman提供了很多视频教程和可靠的文档。它还拥有特别强大的社区支持,很多用户发布API、集合和工作区,以帮助其他人进行培训和开发。

它有四种不同的订阅方案可供选择,免费版本支持最多三个用户,Basic版每个用户每月14美元。ProfessionalEnterprise付费版本(每个用户每月分别为29美元和49美元)包括私人工作区,用户可以存储API工件,团队成员可以访问它们,以及模拟功能、身份和访问管理,以及增强的报告和分析。

Sauce Labs Platform for Test

Sauce Labs Platform for Test(前身是Sauce Labs API Testing and Monitoring)是一个用于Web服务和REST API测试、监控、错误报告和调试的综合平台。这是为压缩的DevTest工作流程而构建,Sauce Labs Platform for Test使管理员能够从有效负载或规范文件自动生成测试,然后在集成开发环境或简单的拖放测试编辑器中编辑它们。功能测试可以在测试编辑器中重复使用,以有效地创建动态、数据驱动和端到端API流测试,并具有很多选项来提高可观察性,并验证现实世界场景。

用户还可以选择重复使用API测试,作为监视器,他们可以部署在任何环境中(包括生产环境),通过与CI/CD管道或Sauce的板载自动调度器集成。功能监视器在后台运行,可以提供警报和详细报告,以帮助加速调试。通过在集中式平台上统一所有API测试和监控器,管理层拥有单个版本的API运行状况,以及对正在进行的测试的可见性。

Platform for Test 有三种版本,所有版本都包括无限用户和无限测试分钟。 Live Testing每月49美元起, Virtual Cloud每月199美元起, Real Device Cloud每月249美元起。还提供企业支持;可联系了解定价。

SoapUIReadyAPI

SoapUISmartBear2006年创建,是第一个开源SOAPREST API测试工具。它作为适用于WindowsLinuxmacOS的桌面应用程序提供。SoapUI自称是自动功能和回归测试的瑞士军队刀,允许用户通过直接的拖放操作创建和运行功能测试,从简单到复杂。生成的脚本可以重复使用,并支持请求链。

名为ReadyAPI的付费专业版提供了其他功能,包括数据驱动的性能测试、服务虚拟化、模拟和CI/CD管道集成,支持GraphQLJava消息服务和Java数据库连接。它有三个模块:API测试模块,每个许可证每年900美元起;API性能模块,每个许可证每年6,455美元;以及API虚拟化模块,每个许可证每年1215美元。客户还可以选择将所有三个模块捆绑购买,以降低定制成本。

Swagger

SmartBear维护的Swagger是一套易于使用的开源工具,用于设计、构建、测试和记录APISwagger规范是工具套件的基础,于2016年成为OpenAPI规范。

该套件包括Swagger Editor,它可视化API规范,并实现实时用户交互和反馈。Swagger Codegen20多种不同语言生成服务器存根和40多种不同语言的客户端SDK,因此最终开发人员可以轻松与实时API集成。Swagger UI允许任何人在不访问其实现逻辑的情况下可视化API的资源并与之交互。套件中的其他工具允许对未实现的方法进行模拟响应,并将整个API项目发布到任何Node.js平台。

Swagger可供免费使用。SwaggerHub平台将Swagger套件与附加功能集成,在TeamEnterprise版中提供。Team版为3名设计师每月84美元,包括额外的集成、可重复使用的域和协作功能。 Enterprise版可在本地或作为SaaS选项提供,包括优先支持和API标准化。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者

Dave Shackleford
Dave Shackleford

Dave Shackleford是Voodoo安全有限责任公司的所有人和咨询师、IANS资深导师、SANS研究院分析师、高级讲师和课程作者。他已为数百个组织在安全、法规合规性以及网络架构与工程领域提供了咨询服务,是具有丰富安全虚拟化基础设施设计和配置经验的VMware vExpert。Dave之前是Configuresoft公司的CSO、互联网安全中心的CTO、并曾出任多家财富500强公司的安全架构师、分析师和经理。Dave是Sybex一书的作者,虚拟化安全:保护虚拟化环境,以及信息安全课程技术的合作设计者。最近,Dave为SANS研究所合作设计了第一个虚拟化安全课程。目前,Dave在SANS技术研究院担任董事一职,并协助领导云计算安全联盟的亚特兰大分部。

Michael Cobb
Michael Cobb

翻译

邹铮
邹铮

相关推荐