几乎所有的开发组织都需要访问远程公共资源,如 Maven Central、NuGet Gallery、npmjs.org、Docker Hub 等,以下载构建所需的依赖包。使用Artifactory的最大好处之一是它的远程存储库,它可以代理这些远程资源和下载的依赖包。这样,一旦任何开发人员或 CI 服务器第一次请求依赖包时,它就会被缓存并直接从内部网络上的 Artifactory 中的远程存储库中可用,这样就实现了外部依赖源的唯一可信。
但是随着软件供应链攻击的增加,例如前段时间刚发生的 Spring 漏洞等等,有漏洞的依赖包被引入到了研发环境甚至是生产环境。这时,有些组织,如金融机构和军事设施,有更严格的安全要求,在这些组织中,将其业务暴露在互联网上是被禁止的。为了确保组织内部网络的安全,将内部网络与外部网络分离的趋势日益明显。本质上创造了一个与公共互联网隔绝的封闭环境。设置 DMZ 环境并实施也成为 DevSecOps 最佳实践所必须的的一部分。
为了适应这种网络管理场景,我们建议设置至少两个 Artifactory 实例;一个在DMZ区,另一个在内部网络区,这种设置通常被称为 Air gap。Artifactory 针对这种网络拓扑设计的特定的功能,更好的支持制品在不同网络环境和物理服务器之间的制品传输。
1. 单线连接
高度安全的机构虽然要求将互联网与其内部网络分开,但网络策略可以进行管控和相应的调整,以适应部署拓扑,同时满足安全要求。例如配置白名单的单向连接:
2. 制品库设计的最佳实践
DMZ 上的 Artifactory 实例制品库包括:
内部研发环境 Artifactory 实例包括:
执行流程:
以下图为 smart remote 类型制品库,URL地址配置 DMZ Artifactory 虚拟类型制品库访问地址。
注意:额外需要的设置
内部实例上的虚拟存储库必须具有【Artifactory Requests Can Retrieve Remote Artifacts】复选框集。
Air gap 模型的软件安全管理
通过 JFrog Xray 管理 Air gap 架构中的软件安全:
通过以下流程示例,完成 Air gap 模型的 DevSecOps
使用此解决方案的好处
这个解决方案需要实现强大的自动化,以及一个高度参与的 SecOps 团队来妥善处理审批过程中的 Tickets。
3. 总结
越来越多的企业已经意识到软件安全的重要性,纷纷设立 Air gap 网络拓扑模型,通过 Artifactory 和 Xray 的解决方案保护企业的 Air gap 环境,并排除所有在内部开发环境中使用的不合规制品建立外部依赖源和企业内部二方源的统一管控和安全。
京ICP备09015132号-996 | 网络文化经营许可证京网文[2017]4225-497号 | 违法和不良信息举报电话:4006561155
© Copyright 2000-2023 北京哲想软件有限公司版权所有 | 地址:北京市海淀区西三环北路50号豪柏大厦C2座11层1105室