Docker 紧急安全更新,多重保障让您的应用更加安全!

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 2月11日,Docker 发布了更新包来修复 runC 中的权限提升漏洞(CVE-2019-5736),这是在 Docker Engine 和 containerd 中使用 Open Container Initiative的运行时规范。

screenshot

出品丨Docker公司(ID:docker-cn)
编译丨小东
每周一、三、五,与您不见不散!


2月11日,Docker 发布了一个更新包来修复 runC 中的权限提升漏洞(CVE-2019-5736),这是在 Docker Engine 和 containerd 中使用 Open Container Initiative(OCI) 的运行时规范。这个漏洞使恶意参与者有可能通过创建专门制作的容器镜像来获得主机上的管理特权。Docker 工程师与 OCI 上的 runC 维护人员通力合作,专门为该漏洞发布了补丁。


Docker 官方建议立即进行应用更新以避免出现任何潜在的安全威胁。对于 Docker Engine-Community 用户,这意味着要更新到 18.09.2 或 18.06.2 版本。对于 Docker Engine- Enterprise 用户,这意味着要更新到 18.09.2、18.03.1-ee-6 或 17.06.2-ee-19 版本。根据 Ubuntu 和 RHEL 操作系统的具体说明,请在应用更新之前阅读发布说明(浏览 https://docs.docker.com/engine/release-notes/ 查看发布说明)。

解决该漏洞的 Docker Engine 版本摘要:

screenshot

为了更好地保护 Docker Engine 运行的容器镜像,以下是一些额外的建议和最佳实践。


使用 Docker 官方图像

官方图像是一组托管在 Docker Hub 上的 Docker 镜像仓库,旨在:

  • 提供必要的基本操作系统镜像仓库(例如:ubuntu 以及 centos),作为大多数用户的起点;
  • 为流行的编程语言运行时、数据存储和其他服务提供通用的解决方案;
  • 列举 Dockerfile 的最佳实践,并提供清晰的文档,以供其他 Dockerfile 作者参考。特定于这个漏洞,以非特权用户的身份运行容器(如 Dockerfile 中的用户实践一节所述)可以缓解该问题;
  • 确保应用及时进行安全更新。应立即进行应用安全更新,用户应该重建并发布其镜像,这一点尤为重要,因为许多官方镜像是 Docker Hub 上最受欢迎的镜像;

Docker 有一个专门的团队,负责审查和发布官方镜像中的所有内容。 该团队与上游软件维护人员、安全专家和更广泛的 Docker 社区进行合作来确保这些镜像的安全性。


使用 Docker 认证的容器

Docker Enterprise 容器平台使您可以确保镜像的完整性。安全性不是静态的一次性活动,而是贯穿应用程序管道的不同阶段跟踪应用程序的连续流程。为了防止系统受到破坏,Docker Enterprise 在整个供应链中提供集成的安全性保障。遵循安全最佳实践并运行基于 Docker 认证镜像可信代码的 Docker Enterprise 用户可以确保他们的软件镜像:

  • 经过验证的发布者已经过 Docker Enterprise 容器平台的测试和支持;
  • 遵循 Docker 容器最佳实践来构建 dockerfiles 和 images;
  • 通过功能 API 测试套件;
  • 完成漏洞扫描评估;

Docker 认证为用户和企业提供了一种可靠的方式,可以在 Docker 和发布者的支持下在容器中运行更多技术。客户可以使用可见的标志快速识别经过认证的内容,并确信它们是使用最佳实践构建的,同时它们也是经过测试可在 Docker Enterprise 上顺利运行的。


利用 Docker Enterprise 特性提供额外的保护

Docker Enterprise 通过内容验证和运行时应用程序安全性在整个软件供应链中提供额外的保护层。这包括基于角色的访问控制(RBAC)和用于跨多个团队的灵活和细粒度的访问权限来确定组织中谁可以运行容器。管理员还可以通过设置策略来限制任何用户在群集上运行特权容器的能力。

此外,Docker Content Trust 支持加密数字签名来确认容器镜像的出处和真实性,实际上为您的运营团队提供有关应用程序作者的详细信息,并确认其未以任何方式被篡改或修改。通过在运行时实施策略,Docker Enterprise 可确保只有受信任的团队签署的容器镜像才能在集群中运行。


扩 展

相关实践学习
通过容器镜像仓库与容器服务快速部署spring-hello应用
本教程主要讲述如何将本地Java代码程序上传并在云端以容器化的构建、传输和运行。
Kubernetes极速入门
Kubernetes(K8S)是Google在2014年发布的一个开源项目,用于自动化容器化应用程序的部署、扩展和管理。Kubernetes通常结合docker容器工作,并且整合多个运行着docker容器的主机集群。 本课程从Kubernetes的简介、功能、架构,集群的概念、工具及部署等各个方面进行了详细的讲解及展示,通过对本课程的学习,可以对Kubernetes有一个较为全面的认识,并初步掌握Kubernetes相关的安装部署及使用技巧。本课程由黑马程序员提供。   相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
2月前
|
弹性计算 运维 持续交付
探索Docker容器化技术及其在生产环境中的应用
探索Docker容器化技术及其在生产环境中的应用
93 5
|
17天前
|
JSON JavaScript 测试技术
【Docker项目实战】使用Docker部署PPTist在线演示文稿应用
【10月更文挑战第9天】使用Docker部署PPTist在线演示文稿应用
30 1
【Docker项目实战】使用Docker部署PPTist在线演示文稿应用
|
22天前
|
存储 测试技术 Linux
【Docker项目实战】使用Docker部署Radicale日历和联系人应用
【10月更文挑战第4天】使用Docker部署Radicale日历和联系人应用
83 2
【Docker项目实战】使用Docker部署Radicale日历和联系人应用
|
17天前
|
运维 JavaScript 虚拟化
探索容器化技术:Docker的实践与应用
【10月更文挑战第9天】探索容器化技术:Docker的实践与应用
43 3
|
24天前
|
定位技术 文件存储 网络架构
Docker部署PhotoPrism、Immich图片管理应用,无需公网IP远程访问教程
除了Synology、QNAP、TerraMaster等品牌的NAS设备内置图库功能,市面上还有多种备受欢迎的第三方应用,如PhotoPrism、Immich、LibrePhotos、Piwigo、Photoview等。这些应用不仅提供强大的图片管理能力,还可通过Docker轻松部署。借助贝锐花生壳服务,即使没有公网IP也能实现远程访问,突破地理限制,提升数据可访问性和安全性,让用户随时随地管理私人图库。
71 1
|
20天前
|
运维 监控 Cloud Native
深入了解容器化技术:Docker 的应用与实践
【10月更文挑战第6天】深入了解容器化技术:Docker 的应用与实践
24 0
|
2月前
|
Cloud Native 持续交付 Docker
探索Docker容器化技术及其在软件开发中的应用
探索Docker容器化技术及其在软件开发中的应用
33 7
|
2月前
|
Devops jenkins 持续交付
DevOps实践:构建和部署一个Docker化的应用
【9月更文挑战第14天】在当今快节奏的软件开发领域,DevOps已经成为提升效率、加速交付的关键。本文将引导你理解DevOps的核心概念,并通过一个实际的示例—构建和部署一个Docker化的应用—来深入探讨其实践方法。我们将从简单的应用出发,逐步实现Docker容器化,并最终通过CI/CD流水线自动化部署过程。这不仅是对DevOps流程的一次实操演练,也是对现代软件开发理念的一次深刻体验。
|
2月前
|
持续交付 开发者 Docker
掌握 Docker:容器化技术在现代开发中的应用
Docker 是一个开源容器化平台,使开发者能够将应用程序及其依赖项封装在轻量级容器中,确保跨平台的一致性。本文介绍了 Docker 的基本概念、核心组件及优势,并展示了其在快速部署、一致性、可移植性和微服务架构中的应用。通过示例说明了 Docker 在本地开发环境搭建、服务依赖管理和 CI/CD 流程中的作用,以及多阶段构建、资源限制和网络模式等高级特性。掌握 Docker 可大幅提升开发效率和应用管理能力。
|
29天前
|
Shell 应用服务中间件 nginx
docker学习--最详细的docker run 各子命令解释与应用
`docker run` 是 Docker 中用于启动容器的基本命令。常用子命令包括 `-i`(交互模式)、`-t`(分配终端)、`-d`(后台运行)、`-p`(端口映射)、`--name`(指定容器名)。例如,`docker run -it nginx:1.20 /bin/bash` 可以创建并进入交互式容器。使用 `-d` 可在后台运行容器,`-p` 可将容器端口映射到主机端口,`--name` 则用于自定义容器名称以便管理。