你有Docker;现在您的Docker映像安全了吗?

这是Docker系列文章的第二篇。在我们最初的博客中你有Docker;现在怎么办呢?,我们讨论了使用通用的原因二进制存储库有信心在生产环境中实现Docker。
很好,你在使用Docker,但管理安全漏洞对于确保Docker环境不受恶意工件的影响至关重要。这在从3下载二进制文件时尤为重要理查德·道金斯方供应商,因为你需要确保积极阻止任何漏洞结束您的Docker映像。
在这篇博文中,我们将回顾四个主要的安全挑战与Docker一起工作以及如何使用JFrog Artifactory作为二进制存储库来帮助您减轻Docker环境中的这些安全风险。
挑战1:管理跨多个层的二进制文件负载
Docker镜像不是空的,因为它们包含多个二进制文件(如操作系统包和应用程序)。在理想情况下,您希望确保添加到Docker映像中的所有二进制文件都经过了测试,通过了QA并经过了安全检查。随着规模的扩大,管理多个包变得越来越困难,而且很难获得控制权。

在一个简单的环境中,您可能要管理10个不同的Docker映像,使用两种不同的操作系统和15种不同的二进制类型。但是,当您的环境增长到在单个映像中包含15种不同风格的操作系统和40种不同的二进制文件时,主要的挑战就出现了。
解决方案:Artifactory充当您的二进制发布闸门
Artifactory解决了这个问题,它允许您控制进入Docker映像的内容,因为它允许您将所有二进制文件存储在一个位置Docker注册表。所以,如果你已经将一个二进制文件标记为经过测试、QA并通过了安全测试,那么你就可以把它放在Docker镜像中。如果二进制文件不能满足分类属性,那么你可以很容易地限制它不被推送到Docker镜像中。
挑战2:保护对Docker映像的访问
既然您已经确保了Docker映像内容没有漏洞,那么您就准备好应对下一个挑战了。如何访问这些Docker映像?如果你依赖明文密码,那么它可能会带来安全风险。很少有公司制定政策来决定员工如何管理他们的密码。例如,他们可以将其保存在便利贴上,与其他成员分享或将其写入脚本。这些都是安全隐患。
使用加密的密码也没有帮助。原因是加密的密码在客户端被解密,并在内存中以明文形式结束,然后通过网络传输(除非还强制使用SSL)。
另一种选择是使用API密钥。但是,如果员工离开公司,他们仍然拥有密码。安全风险是真实存在的,因为API密钥默认不过期,只能由API密钥的发起者撤销。
解决方案:Artifactory支持使用访问令牌的安全访问
Artifactory支持访问令牌,提供具有一系列功能的高级和灵活的身份验证:
- Cross-instance认证:访问令牌不仅可以用于创建它们的Artifactory实例或集群的身份验证,还可以用于属于同一“信任圈”的其他实例和集群。
- 用户和非用户认证:对Artifactory用户进行身份验证的情况很清楚;但是,访问令牌也可以分配给非用户实体,例如CI服务器作业。
- 基于时间的访问控制:访问令牌有一个到期日期。您可以控制授予访问权限的时间段。但是,您也可以通过使接收用户可刷新来将控制权委托给接收用户。
- 灵活的范围:控制访问级别通过将组分配给令牌。

挑战3:提供对Docker映像的选择性访问
下一个问题是如何控制谁可以下载或移动二进制文件以及特定的Docker映像。一旦二进制文件成为Docker映像的一部分,您就可以确定谁有权访问该映像了。您可能还希望为不同的用户设置不同的读写权限。
解决方案:Artifactory提供对Docker映像的细粒度访问控制
Artifactory允许您通过选择具有相应权限集的用户或组来控制对存储库的访问。您可以将对整个存储库的访问限制到单个二进制文件,也可以将对任意规模的一组的访问限制到单个开发人员。

使用这种灵活的机制,您可以将整个存储库中的任何内容定义为排除在您的组织访问之外,以包括存储库中的单个工件,这可能对您的开发工作至关重要。
挑战4:检测潜在的安全风险和漏洞
最后,您需要深入了解您的Docker映像的安全性。在DevOps周期中,越早检测并移除漏洞,就能越快地将软件发布到生产环境中。大多数人求助于需要单独管理的第三方工具。
解决方案:Artifactory Package Native UI显示JFrog x射线元数据
获得端到端Docker安全覆盖,我们在Artifactory中专门的Docker包原生UI与JFrog x光直接在UI查看器中显示漏洞元数据。让我们看看它是如何工作的。
Artifactory Package Viewer允许你通过名称或标签搜索Docker镜像,并使用包原生UI来显示结果,该UI强调最相关的元数据,具有原生Docker注册表的外观和感觉。
Artifactory与JFrog Xray紧密集成在整个软件开发生命周期过程中,为您的软件工件和依赖项提供自动化和持续的治理。因此,如果您有任何漏洞,您将能够在Artifactory仪表板上检测和管理它。
结论
无论你是在一家小型初创公司还是大公司,安全始终是一个问题。JFrog Artifactory充当看门人,以确保将正确的图像推送到生产中。它使您能够对docker映像中的内容进行细粒度控制,谁可以访问docker以及谁可以上传哪些内容到docker映像。Artifactory与Xray的本地集成可以帮助您在早期阶段获得漏洞洞察力。在下一篇博客中,我们将讨论如何为Docker环境配置高可用性。
