Imperva API工具助力实现本地WAF与云WAF的自动化运维 – 作者:CA-沃通WoSign

https://unsplash.com/photos/842ofHC6MaI

Integrating security into your application provisioning process is easy with Imperva’s open source API Composer tool, available on GitHub.

应用程序接口(APIs)如今是构建企业核心业务功能的基石之一。这些功能强大的工具简化了开发过程,使得我们可以在各种情况下,轻松、标准化地实现功能。

Imperva本地WAF与云WAF技术帮助实现对内对外的关键业务的保护。但同时,需要保证安全功能的实施不会破坏企业当前采用的部署流程。借助API调用,可以很容易地将安全实现添加到持续集成/持续发布(CI/CD)的应用程序供应链中。

任何利用API实现集成的第一步,是要让开发人员快速掌握API的调用和测试。为了简化开发测试过程,Imperva引入了开源的解决方案,使开发人员可以轻松地在代码中实现每个API调用,并在正式使用前方便地对其进行交互测试。

API编辑开发工具:高效地实现API操作按需自动生成与测试

Imperva API Composer为本地WAF和云WAF的使用者们提供了快速生成和测试API调用的功能,从而可以交互地预先填充调用之间的上下文参数,而不是依赖文档手工撰写API调用代码。我们使用Docker Compose将API编辑开发工具打包为容器,现在通过简单的一条命令便可启动运行该工具。

安装完成后,用户只需为本地WAF管理服务器(MX)或云WAF添加访问凭据(用户名/密码 或 密钥文件),API Composer工具会验证这些凭据,使得用户能够对系统进行实时测试。此外,该编辑工具还允许同时存储多组凭据,可以轻松地使用同一工具在多个MX或云WAF帐户之间进行切换,使其成为大型,复杂的企业环境的理想解决方案。

API Composer工具可以通过定义文件(Swagger或WADL)自动加载API的架构,用户能够选择特定的API调用资源/ URL进行访问和编辑,同时提供可用测试方法的下拉菜单。这些调用操作按字母顺序排序,并且按功能组分类,易于查找。用户选取一个操作后,该工具将自动生成一个示例cURL请求,用户通过简单点击操作便可将占位符填充上有效参数,生成的完整调用命令直接在终端中进行测试,或用作代码实现的参考。由于并非所有的API调用都支持所有方法(POST,GET,PUT,DELETE),且在许多情况下,同一URL的API接口上有不同的使用方法(POST与PUT等),参数组合也会对应发生变化;为了方便开发,当动态更改资源/ URL和方法时,Composer工具将动态展现调用语句并填充适当的参数。无需反复查看搜素文档,用户就能够轻松测试调用任何API接口。

借助API编辑开发工具,在测试新的API调用时,您唯一需要做的就是用自己的数据替换占位符,并测试调用请求。API编辑开发工具在动态生成测试框架的同时,还会生成对应的cURL请求,您可将请求直接放入命令行界面工具(如macOS的Terminal)中直接执行。整个API调用的开发过程仅需几秒钟即可完成。

API Composer工具控制本地WAF网关示例:管理站点树

本地WAF网关API由包含参数的动态URL构成,每类API调用都有特定的参数值,有些和当前配置状态相关。HTTP方法映射到与REST规范一致的操作:读取GET,创建POST,更新PUT,删除DELETE。

例如:

要检索服务器组列表,可以使用GET方法,并在URL中指定站点名称,如下所示:

GET “/SecureSphere/api/v1/conf/serverGroups/{siteName}”

要在特定站点下创建服务器组,可以使用POST方法,并在URL中指定站点名称和所需的服务器组名称,如下所示:

POST “/SecureSphere/api/v1/conf/serverGroups/{siteName}/{serverGroupName}”

无需在每次API调用测试时都将这些值(例如站点名称和服务器组名称)复制并粘贴到url中。Composer工具实际上会将这些值预先从被测系统读取并显示在下拉列表中,以便您轻松地将它们即时复制填充到请求中。若URL占位符需要输入参数,则请求url将突出显示为红色;当占位符被填充时,该URL会变为黑色,并生成一个函数的curl样例语句。

截屏如下:

图片[1]-Imperva API工具助力实现本地WAF与云WAF的自动化运维 – 作者:CA-沃通WoSign-安全小百科图片[2]-Imperva API工具助力实现本地WAF与云WAF的自动化运维 – 作者:CA-沃通WoSign-安全小百科

调用执行后,该工具将在管理服务器内创建一个新的服务器组。用户可以现场操作并即时检查结果,也可以将自动生成的CURL请求放到诸如Terminal之类的命令行界面应用程序中,然后在代码中测试并检验结果。

API Composer工具操作云WAF示例:站点管理

云WAF API结构,由静态URL的集合组成,基于要执行的API调用类型的不同有不一样的参数组合。其中一些参数取决于其他参数,Composer工具可以帮助您即时查找这些参数,从而轻松进行交互式测试。

例如:

若需添加新的安全策略,则需要指定site_id以及规则操作(阻止,重定向等)和响应代码。该云WAF帐户中,具有指定站点ID的所有可用站点列表将实时显示,可枚举值的任何参数都将被加载到下拉列表中供用户选择,大大地方便了API调用测试的实施。

图片[3]-Imperva API工具助力实现本地WAF与云WAF的自动化运维 – 作者:CA-沃通WoSign-安全小百科

如何将API Composer工具整合到您的工作流程中

采用API Composer工具的目标是,使得开发人员能对任何给定MX管理服务器中,可用的调用都进行尝试和测试。然后,通过调试编辑工具的示例请求,最终在代码中集成并实现API调用。该工具还可以方便地以用户需要的任何语言风格输出(例如Python,Java,PHP或C#),方便将结果转换为可用的代码。

当然可以在没有API Composer工具的情况下,您完全可以依靠查阅API文档并使用Postman之类工具来实现WAF API开发,运维自动化这类目标。但我们开源的这个工具对比传统原始的开发实践优势很多:可根据Gateway WAF的版本动态加载架构,可动态加载Cloud WAF网站和帐户ID,实现API调用的预格式化以及动态填充URL参数,这些功能都大大的简化了开发步骤。

如果企业需要自动完成应用程序供应(例如 遵循开发运维一体化DevOps实践),但应用程序随附的安全解决方案不能自然地支持这些自动化要求,那么企业采取手动管理代价和难度会很大,或者不得不牺牲安全性。API Composer工具使企业组织能够快速且轻松地加快安全自动化的实现,将安全功能无缝集成到现有的DevOps流程中,从而使安全同步支持业务,共同演进。

来源:freebuf.com 2021-07-22 09:45:44 by: CA-沃通WoSign

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论