Linux 容器正在帮助改变 IT 运营的方式。 各组织正在寻找有效的方法,将他们的应用程序部署在 Linux 容器中,以替代大型的、单体式的虚拟机,从而在运营中实现更快的速度、更高的密度和更强的敏捷性。
虽然容器从安全的角度来看可以带来许多优势,但它们也带来自身的一系列安全挑战。 正如传统的 IT 基础设施一样,至关重要的是要确保容器内运行的系统库和组件定期更新,以避免漏洞。 但是,您如何知道容器内部正在运行什么? 为了帮助管理容器技术面临的整套安全挑战,一家名为 Anchore 的初创公司正在开发一个同名的 开源项目,以提高 Linux 容器内部的可视性。
为了更多地了解 Anchore,我采访了 Anchore 的产品和营销副总裁 Andrew Cathrow,以更多地了解这个开源项目及其背后的公司。
简而言之,Anchore 是什么? 该工具集是如何工作的?
Anchore 的目标是提供一个工具集,使开发人员、运维人员和安全团队能够全面了解容器在整个开发生命周期中移动的“监管链”,同时为生产部署提供所需的可视性、可预测性和控制力。 Anchore 引擎由可插拔模块组成,这些模块可以执行分析(从镜像中提取数据和元数据)、查询(允许针对容器进行报告)和策略评估(可以指定策略来管理镜像的部署)。
虽然市面上有许多扫描工具,但大多数不是开源的。 我们认为安全和合规性产品应该是开源的,否则,您如何信任它们呢?
Anchore 除了是开源的之外,还有另外两个主要的差异化因素,使其与市场上的商业产品区分开来。
首先,我们超越了操作系统镜像。 今天的扫描工具专注于操作系统软件包,例如“您的 RPM 或 DEB 软件包中是否有任何 CVE(安全漏洞)?” 虽然这当然很重要,您不希望镜像中存在易受攻击的软件包,但操作系统软件包只是构建镜像其余部分的基础。 所有层都需要验证,包括配置文件、语言模块、中间件等。 您可以拥有所有最新的软件包,但即使一个配置文件错误,也会导致不安全。 第二个差异化因素是能够通过添加用户自己的数据、查询或策略来扩展引擎。
是什么驱动了对容器的检查和分析工具的需求? 运营商面临哪些问题,而这个工具可以帮助解决?
对于当今采用 Docker 的企业来说,一个主要关注点是安全,特别是他们部署的容器的治理和合规性。 从公共注册表中拉取应用程序镜像,运行它,并在几秒钟内将应用程序部署到生产环境中,甚至不知道底层是什么,这几乎太容易了。 最终用户必须确信,当他们部署应用程序时,这些应用程序将是安全的、高性能的并且易于维护。
容器是不透明的,因为它们是可部署的“黑匣子”,其中包含应用程序。 虽然很容易将这些镜像视为“只是打包的应用程序”,但它们包含操作系统镜像,其中包含多达数百个软件包和数千个文件。 与物理服务器、虚拟机或云中的所有操作系统一样,镜像也需要维护。 镜像可能包含未修补的安全漏洞、包含错误的过时软件,或者可能配置错误。
为了对您的容器部署充满信心,您需要了解底层是什么,以便根据容器镜像的内容进行分析和决策。
如今围绕容器的创新几乎完全发生在开源领域。 您认为这是为什么? 是什么驱动了对开放性的渴望?
在过去的 20 年中,各组织已经体验到开源在节约成本、减少厂商锁定、提高安全性和加速创新方面带来的优势。 容器,特别是 Docker,就是很好的例子。 Docker Inc. 团队无法在专有系统之上创建这种创新的新软件部署范例。 他们无法在专有系统中对代码进行必要的修改,也无法与 Google、IBM、Intel 和 Red Hat 等行业领导者进行合作——所有这些都是为了一个共同的目标而努力。 开源和 Linux 始终能够促进创新和积极的行业颠覆。 过去,实现一个伟大的想法需要一个庞大的团队和大量的资源。 在开源世界中,一家拥有伟大想法的小公司可以在更广泛的社区中工作,并从共享的智力资源中受益,以协同交付真正的企业 IT 创新。
为了说明开源的深入应用,Anchore 团队最近从多伦多 LinuxCon 返回,在那里令人难以置信地看到微软作为钻石级赞助商,展示了他们越来越多的与 Linux 或在 Linux 上运行的产品组合! Linus Torvalds 曾经说过,“如果微软有一天为 Linux 开发应用程序,那就意味着我赢了。” 我会修改这句话为“开放已经赢了。”
容器领域的通用标准时代还很年轻,对于堆栈的几乎每个部分仍然存在许多相互竞争的愿景。 这对这个领域的初创公司造成了哪些挑战?
重要的是要记住,如果没有开放标准和开源,我们就不会看到正在推动容器快速采用并改变行业格局的创新。 由 Linux 和容器行业的行业领导者组成的开放容器倡议 (OCI) 正在为运行时和镜像格式制定标准方面做出巨大努力,这将使我们看到更多的创新。 Anchore 很荣幸成为 OCI 的新成员,我们期待帮助制定标准。
您是如何致力于围绕 Anchore 项目构建开源社区的?
Anchore 团队在构建和参与开源社区方面拥有丰富的历史,其领导者来自 Ansible、Eucalyptus Systems 和 Red Hat。 从一开始,Anchore 就开始构建一个强大的开源社区,并且我们正在应用在开源世界中学到的经验教训。 当然,第一个教训是尽早且频繁地发布。 我们在 6 月份开源了我们的检查和分析引擎,远早于我们的商业产品,以确保开源项目能够依靠自身的功能,使其对许多最终用户有用,而无需购买 Anchore 的商业产品。 通过商业产品,总会有机会通过支持、服务和增强的数据馈送来增加更多价值,但如果开源引擎本身没有用,那么我们将看不到活跃的社区。
我们将 Anchore 构建为模块化结构,以允许添加分析、报告和策略插件,而无需更改核心引擎。 我们希望确保任何人都可以创建插件,因此我们选择 Python 作为该项目的基本语言,因为它被开发人员和系统管理员广泛使用。 但是,即使您不精通 Python,您仍然可以使用您喜欢的任何语言或脚本环境创建插件。 如果您可以创建 bash 脚本,那么您就可以创建 Anchore 插件。 我们的目标是使最广泛的社区能够吸引参与。 虽然我们鼓励用户将这些贡献回馈给社区,但我们已经对项目进行了架构设计和许可,以确保可以独立创建和维护私有插件/模块。
容器的承诺不仅仅是服务器上更高的应用程序密度或技术方面更快的速度,而是不同工具的组合,这些工具共同提供了一种不同的方法来处理开发人员和运维人员的协作方式。 作为一家在这个领域工作的公司,您如何提供一个能引起开发人员和运维人员共鸣的信息?
容器生态系统正在快速发展,运行时、编排、监控和集成产品越来越多。 因此,我们必须在我们架构中考虑的第一个因素是不要对 Anchore 的部署和使用进行规定性限制,我们需要确保我们可以适应任何 CI/CD 管道,无论它是在本地部署还是在云中部署。 我们被问到的一个常见问题是 Anchore 是否会提供包含镜像扫描和分析的容器注册表。 虽然这将大大简化我们的工作,但它将迫使客户采用特定的部署架构,并限制客户部署他们自己最佳堆栈的能力。 我们已经确保 Anchore 可以与所有领先的注册表、运行时平台、CI/CD 平台和编排工具一起工作。
评论已关闭。