解决方案

Chef&Docker

使用 Chef 安全地扩展生产中的容器利用率

DevSecOps 团队的 Docker 关键注意事项

       在当今的大多数组织中,很难“抑制”对容器使用的兴奋。通常容器首先在开发中采用,然后转移到生产中,在那里它们成为运营团队监控和保护的责任。这给通常位于这些部署的接收端的 DevOps 和安全团队带来了新的挑战,并且很多时候对容器的构建方式或容器中的内容知之甚少。

可见性、漏洞管理和版本控制

能见度

如果没有适当的映像管理和配置,就很难确定活动容器中正在运行什么以及谁可以访问它。

漏洞管理

在不知道容器中运行什么的情况下,更难以审计和修复容器,从而增加风险。

版本控制

缺乏版本控制还会增加重新部署具有已知漏洞的过时映像的可能性。

Chef容器方法

       Chef 在分布式系统管理领域拥有丰富的经验。我们创建了一组解决方案,专门用于解决大型复杂组织在生产中扩展容器使用时所面临的问题。

定义应用程序

隔离依赖项并从头开始创建一个易于检查和审计的最小构建工件。

强化系统

验证容器构建过程、包版本、功能需求和底层配置。

保护管道

在所有阶段自动进行安全测试并阻止未经授权的访问和工件。

通过严格的应用程序定义消除容器膨胀并简化包管理

将现有应用程序及其所有“包袱”提升并转移到容器世界中会创建难以管理和审计的臃肿容器。使用通过容器部署的微服务构建的应用程序创建了一个依赖映射、版本管理和用户权限挑战的网络。Chef 使用 Chef Habitat 解决了这些挑战,它采用左移方法进行应用程序定义和打包,适用于所有应用程序,无论底层技术如何。

Chef 使用 Chef Habitat 构建和支持容器的方法的主要特点包括:

  • 总是从头开始构建的容器
  • 大规模简化依赖更新
  • 支持多层容器
  • 能够指定应用程序用户/组并设置目录权限
  • 构建后删除中间容器镜像
  • 仅暴露正确的网络端口

通过强化镜像和持续检查 Docker 容器来限制风险

Chef 可以通过 Docker API 检查 Docker 容器。这提供了对实时运行的容器进行断言的能力,而无需对容器的内容或构建过程进行任何更改。Chef Automate 中包含仪表板和报告,使合规团队能够实时查看跨环境的系统状态。

Chef InSpec 可以检测到的常见安全违规包括:

  • 尝试禁用与安全相关的配置文件
  • 尝试在 /etc 目录或 /root 下写入文件
  • 使用特权容器
  • 尝试更改线程命名空间
  • 尝试启动敏感的挂载容器
  • 尝试通过调用 setuid 来更改用户
  • 尝试操作 shell 文件

通过精选的 CIS 对齐 Docker 审计内容提高合规性

       Chef 提供的用于审计 Docker 容器的内容直接符合 CIS(互联网安全中心)基准。这最大限度地减少了审核 Docker 容器所需的时间和精力。Chef Compliance for Docker 具有基于标准的审计和补救内容、易于调整的基线以适应组织的需求,以及跨混合和多云环境的可见性和控制。

与领先的容器注册和交付平台的强大集成

Microsoft Azure 容器注册表 (ACR)

使用本机集成将优化的包直接发布到 ACR,并简化自动化管道交付

亚马逊弹性容器服务 (ECS)

无需在 ECS 中构建外部服务和添加依赖项,降低操作复杂性

Google 容器注册表 (GCR)

无需重写或重构应用程序,即可轻松构建、部署 Docker 容器并将其编排到 GCR 和 GKE 中