当前位置: 首页 > 科技观察

如何降低DevOps存储库的各项风险_0

时间:2023-03-16 01:21:51 科技观察

如何降低DevOps存储库的风险,为应用程序的灵活性和可移植性要求提供可持续的业务模型。作为一个基于云的存储库,终端用户不仅可以在DockerHub中发布各种Docker镜像,还可以拉出来部署各种云原生基础设施。由于Docker镜像不仅轻量级、可移植且易于在系统之间移动,任何人都可以创建一组标准化的Docker容器镜像,将它们存储在存储库中,并通过DockerHub将它们分发到整个组织。分享他们。Docker镜像的威胁然而,用户不能盲目地直接从DockerHub中拉取镜像。仅在2018年,DockerHub上就发现了17个恶意Docker镜像(参见--https://threatpost.com/malicious-docker-containers-earn-crypto-miners-90000/132816/),攻击者已经获利90,000美元。由于DockerHub中的帐户和项目相互关联,一旦发现安全漏洞,查明可能受到严重影响的资产可能是一项艰巨的任务。同时,也拖慢了从开发到运营再到部署的整个过程。因此,DevOps团队不得不花费大量时间跟踪镜像的自动构建和存储,检查相关账户和项目中的可疑活动,重置受感染账户的密码,以及删除和替换受损镜像。Docker许可风险Docker映像通常由具有不同许可条款和合规义务的软件和操作系统包组成。为了管理企业中容器使用的风险,我们需要了解所有这些依赖关系,以便根据公司的安全指南以及开源政策进行合规性评估。在实践中,我们可以使用自动化工具来识别镜像,学习操作系统、捆绑应用、依赖库的所有软件包,然后聚合各级许可证来识别不合规的软件包。最终降低企业的法律和商业风险。例如,JFrog提供的Xray就是一种常见的安全扫描解决方案。它可以通过深入研究Docker映像来识别许可证合规性,并标记安全研究人员发现的新漏洞。风险缓解基于安全考虑,DockerHub在提供服务时采用了以下两个限制:Imageretention限制那些使用免费账户存储在DockerHub上的镜像(这在开源项目和自动化构建中很常见),以6个月的镜像为准保留政策。也就是说:如果这些图像在六个月后处于非活动状态,它们将被简单地删除。DownloadThrottlingDocker引入了匿名用户“每六??小时仅100个请求”的下载速率限制,以及免费帐户的“每六小时仅200个请求”的下载速率限制。因此,有两类人可能会受到此类限制性政策的影响:创建Docker镜像的开源贡献者和使用它们的DevOps爱好者。具体来说,开源贡献者会遇到丢失那些很少使用但很重要的图像等问题。而且由于DevOps爱好者使用DockerHub作为存储系统,他们可能会在没有警告的情况下丢失图像或破坏构建。并且他们的匿名或免费构建也可能由于请求数量的限制而失败。面对这样的情况,我们可以选择更高效的替代方案——Artifactory。如上图所示,Artifactory的对策包括:由于Artifactory可以缓存镜像,用户不会因为上游镜像的移除而受到影响。由于Artifactory可以提供缓存服务,每个镜像只需要拉取一次,有效的实现了限流。整个组织的所有开发人员和构建主机只需要一个DockerHub许可证。Artifactory允许用户为每个实例创建多个Docker注册表。您可以将本地存储库用作私有Docker注册表,以通过细粒度的访问控制在整个组织中共享Docker映像。您可以存储和检索任何类型的工件,甚至是开发团队生成的安全Docker映像。由于这些工件存储在中央托管位置,因此Artifactory成为任何软件交付生命周期的重要组成部分。JFrogArtifactory的基本功能:2GB存储和10GB传输的免费层大型组织的商业层作为无缝托管和分发容器镜像的服务,Artifactory能够将所有二进制文件存储到一个位置(例如:Docker注册表,https://jfrog.com/integration/docker-registry/),用于控制进入Docker映像的内容和信息。同时,Artifactory还提供了广泛的集成、高可用、高安全、可大规模扩展的存储,以及通过持续更新支持最新的Docker客户端版本和API的能力。JFrog容器注册中心(JFrogContainerRegistry,JCR)的基本特性:自托管:提供免费且无限制的容器注册中心CloudSaaS:2GB存储空间和10GB传输免费层CloudBYOL(BringYourOwnLicense,自带许可):在用户自己的基础设施上,免费的JFrog容器注册中心完全兼容Docker,用户可以使用各种工具按需进行“原生”操作,从而实现对Docker镜像的管理(参见--https://www.jfrog.com/confluence/display/JCR/Docker+Registry)。JCR可以用作我们管理所有Docker镜像的单个节点。通过集成到构建的生态系统中,用户可以以安全、可靠、一致和高效的方式访问远程Docker容器注册表。通过细粒度的权限控制,服务管理员可以根据需要维护尽可能多的公共和私有Docker注册表。同时,它还为用户的容器存储了丰富的元数据,以提供容器内各个层面的独特而全面的视图。基于此,用户可以了解具体内容。构建可持续的容器生态系统拥有繁荣的容器生态系统对于使用Docker和Kubernetes等云原生技术进行成功部署的公司来说至关重要。通过在本地部署JFrogArtifactory、JFrogContainerRegistry等本地存储技术,不仅可以灵活支持构建、测试、部署等各种实际场景,还可以减轻各种共享社区基础设施的负载,包括:DockerHub,Maven、NPM、Go、Conan和社区运行的其他中央存储库。虽然我们在使用DockerHub时可能会遇到上游容器镜像删除、服务受限或中断等风险,但通过部署工件管理系统,用户可以更专注于实现端到端的软件顺畅交付。软件包的质量和安全性,而不仅仅是考虑扩展基础架构。原标题:减轻DevOps存储库风险,作者:PavanBelagatti和StephenChin