没有互联网吗?没有问题。使用带有气隙的x射线-第二部分

如何在气隙环境中保护您的软件

保护你的气隙环境

软件供应链攻击在上升,执行DevSecOps在气隙环境中的最佳实践是必须的。为了确保组织内部网络的安全,将内部网络与外部网络分离的趋势越来越明显。从本质上讲,它创造了一个与公共互联网隔绝的封闭环境。

气隙解决方案提供了更严格的安全要求,但这还不够。您的软件开发人员使用的第三方依赖关系、CI流程和部署管道也必须扫描安全漏洞和许可证违规!

如何?结合一个安全漏洞解决方案等JFrog x光,允许您保护您的气隙环境,并排除在内部开发环境中使用的所有易受攻击的工件。

我们之前的文章展示了如何使用一些工具和脚本,您可以继续在气隙环境中访问远程依赖项.本文将介绍在开发环境中保护软件和维护严格的安全策略的步骤和最佳实践。

示例设置:使用外部DMZ

下面的设置显示了一个使用外部DMZ的示例解决方案,其中安装了JFrog Xray来扫描远程依赖项以查找漏洞。JFrog Xray也安装在内部,为您的软件包提供连续扫描,保护您的组织免受未来任何潜在漏洞的侵害。

使用外部DMZ(安装了JFrog Xray)扫描远程依赖项以查找漏洞

在气隙解决方案中使用x射线的最佳实践

  • 内部和DMZ都必须安装Xray。不仅仅是DMZ。这将确保连续扫描对于您的工件,保护它们免受将来可能出现的任何新漏洞,这些漏洞已经“批准”的依赖项。
  • 区分在内部和DMZ中配置的策略和监视;您可能对DMZ上的依赖项解析有一个全局策略,但是对于特定的产品/版本,在内部环境上有一个更严格的方法。
  • 使用JFrog CLI用最新的漏洞情报更新你的内部x射线数据库,以防你完全被隔离。
    • 数据库同步必须自动地、定期地(使用调度程序)进行,最好是每天进行。
    • 此外,应该定期监视同步过程(即使是在线同步过程),以确保它没有中断。
  • 在生产环境中实现气隙流之前,使用一个重复的登台环境来测试气隙流的所有流程。
  • DMZ应该由SecOps管理,忽略特定的违反、修补、测试和促进脆弱的依赖(如果需要的话)。

*关于如何轻松装载JFrog x射线的最佳实践>>


实现示例:基于身份气隙环境的存储库管理过程

对于大型开发团队分布在世界各地的企业公司,基于身份的解决方案正在成为事实上的标准方法。下一代气隙环境是基于识别有关请求的所有内容。更具体地说,跟踪:

  • 在内部环境中不可用的外部第三方依赖项的请求者。
  • 如果根据公司的政策不允许使用这些依赖项,则批准/不批准它们。

下图描述了在基于身份的气隙解决方案中选择、组织和下载第三方依赖项的过程。所有这些都在工件管理的上下文中,特别是在高度规范和安全的环境中。

在气隙环境中管理软件二进制文件安全性的过程

在气隙环境中管理软件二进制文件安全性的过程

步骤解释

  1. 开发人员Kermit声明了一个新的第三方依赖,并试图构建他的项目。
  2. Kermit收到“404 Not Found”,这个依赖项在内部工件的托管库中不可用。
  3. Webhook请求被发送去通知“自助服务管理流程”。
  4. 票#1打开(通过ServiceNow / Jira或其他票务系统),表示此请求。
  5. 请求被发送到外部Artifactory,以便在DMZ Artifactory中下载此依赖项。
  6. DMZ从internet提取依赖项。
  7. x射线扫描依赖项。
  8. 漏洞是通过webhook报告的。

如果没有创建违例

  1. 1号票已关闭。
  2. 得到通知,现在可以从策划库,然后访问打开库在扫描之后,依赖项是可用的。

如果产生了冲突

  1. 创建了Ticket #2,表示限制此依赖项使用的x射线违规。
  2. Kermit得到通知,一个违反现在正在限制他使用这个依赖,SecOps将审查它。
  3. Kermit在沙盒环境中测试他违反的依赖项,以了解他是否可以使用它(也许他的开发不需要这个易受攻击的函数?),并向SecOps提供证据,证明它是有效的,应该得到批准。
  4. 在他的测试结果和对该依赖的研究完成后,Kermit更新了ticket #2。
  5. SecOps工程师收到关于2号票的通知。

如果被违反的工件被安全操作组批准

  1. SecOps批准并发送webhook。
  2. 依赖关系从Open被拉到Curated存储库。
  3. 2号票已关闭。

如果违反的工件没有得到安全操作组的批准

  1. Kermit得到通知,SecOps已经审查并决定不批准使用违反的依赖项。

使用此解决方案的好处

  • 提供必要的审核流程
  • 为组织设置可扩展的基础设施
  • 允许轻松地将SecOps团队合并到流程中
  • 为开发人员提供了方便,因为这个过程是自动的,并且对他们隐藏(他们只需要下载他们的依赖项,其他一切都为他们处理)。

请记住,此解决方案需要实现强大的自动化,以及高度敬业的SecOps团队来正确处理传入的票据。

相关资源2022世界杯阿根廷预选赛赛程