混合架构中的供应商集成安全战术方法
混合环境中的安全架构传统上专注于众所周知的概念,如OWASP漏洞、身份和访问管理、基于角色的访问控制、网络安全和最小权限原则。像安全编码以及将SAST/DAST测试纳入CI/CD流水线等最佳实践也被广泛讨论。
然而,当组织在混合模式下运营——同时在本地和云上运行工作负载——同时还要与供应商管理的云解决方案集成时,就会出现一系列不同的安全设计考虑因素。这些场景并不罕见,但在涉及混合环境中供应商软件的安全解决方案实施背景下却很少被强调。
本文重点介绍了三个实际用例,并概述了组织可以采用的实用架构策略,以确保混合环境中的安全集成。
缩略词
- OWASP – 开放Web应用程序安全项目
- SAST – 静态应用程序安全测试
- DAST – 动态应用程序安全测试
- CI/CD – 持续集成/持续测试
- SaaS – 软件即服务
- UX – 用户体验
- ETL – 提取、转换和加载
用例
本文涵盖以下三个用例:
- 供应商在组织管理的数据中心中自动更新软件
- Webhook – 验证方法不匹配
- JavaScript嵌入 – 监控要求
战术解决方案
供应商在组织管理的数据中心中自动更新软件
问题陈述
在某些供应商软件集成中,组织需要在其自己的数据中心内安装一个代理。该代理通常充当供应商云托管应用程序与组织本地系统之间的桥梁。例如,它可以促进供应商软件与组织本地数据库之间的数据传输。
在许多情况下,供应商的运营架构要求此代理自动更新。虽然方便,但这种方法引入了显著的安全风险。如果供应商的软件被入侵或包含恶意软件,更新过程可能会感染托管代理的虚拟机或容器。从那里,威胁可能传播到组织基础设施的其他部分,可能导致重大安全事件。图1展示了该场景。
解决方案
解决此问题的战术方法是将代理软件的将来版本安装在单独的虚拟机或容器中,并扫描软件以及机器的任何漏洞。如果软件和运行软件的部署平台通过所有安全检查,则可以批准供应商自动安装新版本的代理软件。这样可以确保未经验证的供应商软件版本不会自动推送到组织的数据中心。图2演示了该解决方案。
Webhook:验证方法不匹配
问题陈述
这是一个我们经常遇到的有趣安全场景。对于webhook实现,组织必须从供应商软件开放互联网的入站连接。由于这是对组织数据中心(本地或云)的入站流量,需要从软件安全的各个方面验证入站流量,例如DDoS攻击、恶意负载等。组织通常有明确定义的通用安全策略来验证来自外部供应商的所有传入流量。
另一方面,供应商软件也可能有一个通用策略,作为指导其客户在接收来自供应商webhook的入站流量时验证安全所有方面的指南。组织和供应商的安全策略很可能不匹配,特别是当组织和供应商都是行业主要参与者时。由于安全策略在大多数情况下不匹配,这给实现此类webhook集成带来了挑战。
解决方案
解决此问题的战术方法是让传入流量命中组织的反向代理层。接收来自互联网流量的反向代理层通常受到DDoS保护层的保护。反向代理层可以将传入流量转发到具有处理webhook请求业务逻辑的后端服务层。后端服务层可以根据为供应商规范设置的政策,实现对供应商webhook传入流量的负载和其他验证。图3演示了该战术解决方案。
JavaScript嵌入:监控要求
问题陈述
如今一些供应商解决方案是JavaScript工具包。它们通常是数字采用平台(DAP)软件,用于引导用户浏览Web平台的用户体验,使他们熟悉新发布功能的导航。集成过程通常需要在组织的代码库中嵌入供应商的JavaScript工具包。由于脚本注入和其他类型的JavaScript漏洞,这被认为是危险的。
除此之外,供应商软件通常还具有将信息从Web浏览器发送到其系统以捕获分析数据的功能。此分析数据捕获功能增加了进一步风险,因为供应商软件可能在其系统中捕获关于客户和应用程序的未经授权数据元素。因此,组织更倾向于分析流量从浏览器通过其基础设施流向供应商平台。如果数据流经组织的基础设施,则可以监控流向供应商平台的数据并根据需要采取行动。
解决方案
此用例中有两个问题需要解决:
- 安全地将供应商的JavaScript包集成到组织的代码库中
- 实现解决方案,将分析流量从浏览器通过组织的基础设施发送到供应商
要实现与供应商JavaScript工具的安全集成解决方案,需要在部署前将脚本作为CI/CD流水线的一部分进行打包,以进行扫描和执行SAST/DAST测试。为了通过组织的基础设施将分析流量路由到供应商平台,创建到目标供应商端点的代理,并自定义供应商JavaScript以指向该代理。这种安排有助于通过组织的基础设施将分析流量从浏览器路由到供应商。
图4:JavaScript嵌入和分析数据流
结论
本文探讨了三个实际场景,突出了组织在将供应商软件集成到混合环境中时面临的安全挑战。每个用例都展示了看似常规的技术决策——如软件更新、webhook验证或JavaScript嵌入——如果不仔细处理,可能会引入漏洞。提出的解决方案不仅仅是理论上的最佳实践,而且是组织可以采用的战术架构选择,以安全的方式为这些较少讨论但常见的集成挑战实施解决方案。