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技术研究院担任董事一职,并协助领导云计算安全联盟的亚特兰大分部。
翻译
相关推荐
-
2025年身份安全和数据安全预测
2025年即将到来,现在是时候看看网络安全分析师对新年的预测啦。 2024年初,笔者成为Informa Tec […]
-
4种类型的访问控制
完善的身份和访问管理(IAM)策略需要正确利用政策、流程和技术。当企业想通过零信任网络安全原则取得成功时,这些 […]
-
如何防止DDoS攻击
分布式拒绝服务(DDoS)攻击,尽管广为人知,但仍然是恶意行为者用来对企业造成财务和声誉损害的常见的方法。 然 […]
-
API安全成熟度模型用于评估API安全态势
随着企业使用的API数量不断增加,保护这些代码位比以往任何时候都更加重要,它们使软件能够通信。为此,团队必须审 […]