API是现代应用程序架构的核心。然而,由于其重要性以及提供数据和资源访问的能力,它们经常成为攻击者的目标。
API安全市场包含基于云的内联保护服务,以及可集成到开发和运行时环境中的服务。强大的API安全工具可检测出API集成配置错误、敏感数据暴露、安全漏洞、身份验证和授权凭据和令牌的不当处理等。很多工具或服务也可以作为一种预防措施,以屏蔽恶意查询和与API的互动。
下面的API安全测试工具是按字母顺序排列的,排名不分先后,因为不同的用例需要不同的功能。特定工具可能是你的最佳选择,而其他人则不一定适合,这取决于各自的需求。这些API安全测试工具大多提供免费版本或免费试用期,但企业用户可能需要付费选项或许可证。也就是说,在决定使用任何工具之前,你应该测试它,看看它对现场的开发人员和安全团队是否有用。
无论公司选择哪种API安全测试工具,API的生命周期都涉及很多不同的团队,并且自然会看到快速迭代。因此,重要的是要确定谁对持续测试和维护API安全性负有总体责任。
Apache JMeter
Apache JMeter是一个开源Java应用程序,最初设计为Web应用程序负载测试器。它扩展其功能,以测试功能行为,并测量来自任何Windows、Linux或Mac OS的静态和动态资源的性能。
Apache JMeter不需要编程技能。它可以处理很多不同类型的应用程序、服务器和协议,并支持请求链。测试可以使用CSV文件来生成大量逼真的流量,使API面临压力。JMeter和Jenkins之间的集成使管理员能够将API测试构建到持续集成/持续交付(CI/CD)管道中,并使用JMeter进行API监控。
然而,请注意,JMeter无法动态执行脚本和其他浏览器功能,使其成为全面测试的有限选项。
Apigee API Management
Apigee API Management是Google Cloud的一部分,针对构建大型复杂项目的企业,通过使开发人员能够跟踪流量、错误率和响应时间,支持API的设计、构建、测试、部署和监控。用户通过API代理在Apigee上公开他们的API,API代理充当后端服务的托管立面。这些代理将面向应用程序的API与后端服务分离,因此即使后端有任何代码更改,应用程序也可以不间断地继续调用API。
Apigee客户可以从SaaS和混合选项中进行选择。在托管的SaaS版本中,Apigee维护环境。混合版本包括在Apigee云中运行的管理平面,以及安装在本地或与云提供商一起安装的运行时平面。混合模型将API流量和数据限制在企业,但它可能需要大量的配置和定制。
它有三种订阅方案:Standard、Enterprise和Enterprise Plus,这些方案都没有限制单个API或用户的数量。然而,更高的层级提供更多的API调用。企业还可以选择使用Apigee的即用即用模式,该模式根据API调用数量、每小时使用的可部署环境和代理部署数量收费。
Assertible
Assertible提供简单而强大的API测试和监控,为特定域测试提供一站式断言,包括JSON模式验证和JSONPath数据完整性检查。它与常见的开发和通信工具集成,包括GitHub、Slack、PagerDuty和Zapier,以及CI/CD服务和平台。可以通过设置步骤将多个HTTP请求链在一起来测试更复杂的场景,这些步骤能够从HTTP请求中捕获测试变量。
虽然保持测试更新通常很耗时,但Assertible可以自动将API规范中的任何更改(例如响应、参数和标头的更新)同步到API测试。因此,开发人员在添加新参数或更改API的响应后不再需要手动更新测试。Assertible包括一个名为加密变量的功能,该功能通过安全地存储令牌、密码和其他敏感数据字段来提高安全性,用于API测试。
客户可以从4种订阅方案中进行选择,包括免费的个人版。付费版每月从25美元到100美元不等,并分层增加测试数量、测试频率和支持的团队成员。
Insomnia
Insomnia是Kong的一部分,是一个开源API客户端,用于从Mac、Linux或Windows桌面应用程序创建、组织、共享和执行REST、简单对象访问协议(SOAP)、GraphQL和gRPC请求。它包括一个内置的规范编辑器,允许用户在不切换应用程序或视图的情况下立即预览更改,并且它可以为超过12种不同语言生成代码。
Insomnia支持环境变量的定义和隔离,以便在全球或公共或私人环境中跨请求重复使用。用户可以使用Insomnia的测试套件脚本创建自定义的API测试流,包括链式请求。Insomnia的代码编辑器相对简单,但它确实需要一些编码技能。Inso(该应用程序的CLI)允许用户通过GitHub、GitLab Jenkins、Vercel和其他平台将自动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工具集成。
内置JSON和XML断言,测试可以并行运行,以提高性能和速度。管理员可以使用API调用序列测试最终用户工作流程。此外,通过添加Gatling,测试可以作为性能测试,Gatling可以验证服务器响应是否在负载下符合预期。API测试脚本也可用于自动化UI测试,Karate调试器可以在编辑过程中向后一步并重播一个步骤。Karate有广泛的文档、测试示例和活跃的用户社区。
作为一个开源程序,Karate对用户是免费的。企业可以选择其付费服务,Plus版每个用户每年100美元,Pro版每个用户每年640美元或Ultimate版每个用户每年1400美元,以获得其他功能,包括调用HTTP API、语法和调试支持等。
Katalon Studio
Katalon Studio是流行测试自动化工具,可用于API以及Web、移动和桌面应用程序。它在Windows、Linux和macOS上运行。Katalon Studio支持SOAP和REST请求,并提供多个参数化功能和命令,支持用于数据驱动测试的多个数据源。
测试脚本是用Apache Groovy语言编写,但双编辑器界面允许用户在脚本和手动编辑模式之间切换。手动模式使编程技能有限的人能够通过拖放界面生成测试。Katalon Studio有 Quick Start Wizard和录制播放工具。用户也可以进行连锁测试。
Katalon Studio是免费的,它的很多插件也是免费的。 Premium 版每个用户每月175美元起,包括扩展功能、私人插件和服务台支持。 Runtime Engine 附加组件每月每会话140美元,支持CI/CD集成,并允许用户并行安排和运行测试。 Ultimate 版本提供额外的分析和人工智能功能。
Postman
Postman是一个广泛使用的平台,可用于构建和测试API,报告称在50万个组织中拥有超过3000万用户。它最初是一个Chrome插件,现在可作为SaaS平台或桌面应用程序使用,与Windows、Linux和macOS兼容。
在Postman集合中,团队可以组织、分组、重复使用和共享API请求和示例,从而实现协作、自动测试和请求链。通过将监视器附加到集合中,用户可以安排自动API测试每五分钟运行一次,通过警报标记潜在问题。
Postman提供了很多视频教程和可靠的文档。它还拥有特别强大的社区支持,很多用户发布API、集合和工作区,以帮助其他人进行培训和开发。
它有四种不同的订阅方案可供选择,免费版本支持最多三个用户,Basic版每个用户每月14美元。Professional和Enterprise付费版本(每个用户每月分别为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美元起。还提供企业支持;可联系了解定价。
SoapUI和ReadyAPI
SoapUI由SmartBear于2006年创建,是第一个开源SOAP和REST API测试工具。它作为适用于Windows、Linux和macOS的桌面应用程序提供。SoapUI自称是“自动功能和回归测试的瑞士军队刀”,允许用户通过直接的拖放操作创建和运行功能测试,从简单到复杂。生成的脚本可以重复使用,并支持请求链。
名为ReadyAPI的付费专业版提供了其他功能,包括数据驱动的性能测试、服务虚拟化、模拟和CI/CD管道集成,支持GraphQL、Java消息服务和Java数据库连接。它有三个模块:API测试模块,每个许可证每年900美元起;API性能模块,每个许可证每年6,455美元;以及API虚拟化模块,每个许可证每年1215美元。客户还可以选择将所有三个模块捆绑购买,以降低定制成本。
Swagger
由SmartBear维护的Swagger是一套易于使用的开源工具,用于设计、构建、测试和记录API。Swagger规范是工具套件的基础,于2016年成为OpenAPI规范。
该套件包括Swagger Editor,它可视化API规范,并实现实时用户交互和反馈。Swagger Codegen以20多种不同语言生成服务器存根和40多种不同语言的客户端SDK,因此最终开发人员可以轻松与实时API集成。Swagger UI允许任何人在不访问其实现逻辑的情况下可视化API的资源并与之交互。套件中的其他工具允许对未实现的方法进行模拟响应,并将整个API项目发布到任何Node.js平台。
Swagger可供免费使用。SwaggerHub平台将Swagger套件与附加功能集成,在Team或Enterprise版中提供。Team版为3名设计师每月84美元,包括额外的集成、可重复使用的域和协作功能。 Enterprise版可在本地或作为SaaS选项提供,包括优先支持和API标准化。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
Dave Shackleford是Voodoo安全有限责任公司的所有人和咨询师、IANS资深导师、SANS研究院分析师、高级讲师和课程作者。他已为数百个组织在安全、法规合规性以及网络架构与工程领域提供了咨询服务,是具有丰富安全虚拟化基础设施设计和配置经验的VMware vExpert。Dave之前是Configuresoft公司的CSO、互联网安全中心的CTO、并曾出任多家财富500强公司的安全架构师、分析师和经理。Dave是Sybex一书的作者,虚拟化安全:保护虚拟化环境,以及信息安全课程技术的合作设计者。最近,Dave为SANS研究所合作设计了第一个虚拟化安全课程。目前,Dave在SANS技术研究院担任董事一职,并协助领导云计算安全联盟的亚特兰大分部。
翻译
相关推荐
-
如何防止DDoS攻击
分布式拒绝服务(DDoS)攻击,尽管广为人知,但仍然是恶意行为者用来对企业造成财务和声誉损害的常见的方法。 然 […]
-
API安全成熟度模型用于评估API安全态势
随着企业使用的API数量不断增加,保护这些代码位比以往任何时候都更加重要,它们使软件能够通信。为此,团队必须审 […]
-
CrowdStrike:内容验证漏洞导致全球中断
CrowdStrike周三表示,该网络安全供应商内容验证系统中的漏洞是导致上周五全球中断的的原因。 上周五,C […]
-
微软在7月的周二补丁日修复2个零日漏洞
微软在7月周二补丁日中修复了142个漏洞,包括两个正在被积极利用的零日漏洞。 零日漏洞包括CVE-2024-3 […]