“镜像扫描+基于策略的镜像提升”,打造安全的 Kubernetes 供应链!

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 对于正在探索 Kubernetes 或正在将 Kubernetes 部署到生产环境的组织来说,Docker EE 为容器化应用程序的整个生命周期提供了综合的安全保障。

____2018_03_02

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


上个月 Docker 企业版(EE)容器平台的测试发行版集成了可以与 Swarm 并存运行的 Kubernetes 编排,从而提供了统一的平台来支持传统和新的应用程序在本地或云端中运行。对于正在探索 Kubernetes 或正在将 Kubernetes 部署到生产环境的组织来说,Docker EE 为容器化应用程序的整个生命周期提供了综合的安全保障,它会在 Kubernetes 部署工作负载之前提供额外的安全层,并在其运行过程中持续的保护应用程序。今天我将为大家介绍 Docker EE 如何保护完整的 Kubernetes 供应链。


什么是软件供应链?

当您从零售商店购买产品时,其实是由一条完整的供应链支撑,即从原材料到制造商,再由制造商加工成产品后到零售商店,最后再到您的手中。同样的,软件也有一条完整的供应链,它将应用程序从开发者笔记本上面的代码迁移到生产环境中。

screenshot

每家公司的软件供应链可能都略有不同:一些选择外包软件开发、一些采用持续集成和持续交付流程、一些采用跨多个云端部署生产应用程序,还有一些在本地部署。无论软件供应链包含了什么内容,Docker EE 都提供了一整套解决方案,确保应用程序在使用 Kubernetes 和 Swarm 的所有步骤时仍然可信和安全。

接下来,我将为大家深入的讲解有关解决方案的这部分内容,即镜像扫描和基于策略的镜像提升。


安全、自动化的Kubernetes 工作流程

在应用程序部署到生产环境之前,组织通常希望知道这个应用程序已经没有任何已知的漏洞,这些漏洞通常来自于该软件之前的版本或未打补丁的版本。就算对于大型组织来说,为他们运行中的每个应用程序(并且可能受到新漏洞的影响)保留一份完整的漏洞记录也是一件很困难的事。

而 Docker EE 提供了镜像安全扫描功能,该功能可以帮助组织在应用程序部署到生产环境之前识别已知漏洞,并在新漏洞影响到现有应用程序时向您提示。该功能是针对 NIST 发布的已知漏洞列表来为您的镜像执行一个二进制级别的镜像扫描。如下图所示,该功能可以彻底扫描镜像的每个层,并提供工作负载的详细信息。

screenshot


Docker EE 还可以定义策略来实现镜像在镜像仓库之间的自动化迁移。这些镜像提升策略还可以与镜像扫描的结果结合在一起,从而创建一个安全的、自动化的工作流程来保障镜像迁移到生产环境中。

举个例子,开发人员正在开发一个新的 Kubernetes 项目,该项目可以访问“dev”镜像仓库,并且可以在该镜像仓库上传和下载镜像。“dev”镜像仓库设置了镜像扫描功能,以便自动扫描所有上传到该镜像仓库的镜像。当开发人员准备将新项目的镜像投入到生产环境时,他们就会在镜像中添加如“最新”之类的特定标签。同时他们会为镜像仓库设置镜像提升策略,该策略是如果镜像具有“最新”标签且没有严重漏洞时,该镜像就可以自动复制或提升到“QA”镜像仓库中。

screenshot

在此示例中,只有QA团队才能访问QA文件夹,从而限制了访问,确保只对那些有需求的人开放权限。该策略还可确保开发人员在将漏洞传递给QA团队之前修复漏洞。


结合这些 Docker EE 的功能,组织可以:

  • 在镜像仓库之间实现镜像大规模的自动化迁移;
  • 在开发的特定阶段进行安全扫描;
  • 防止将有已知漏洞的应用程序部署到生产环境中;
  • 限制对敏感镜像仓库(如“生产”镜像仓库)的访问,只对有需要人开放权限,同时通过定义适当的策略来消除流程中的瓶颈问题;

这些都是把应用程序部署到 Kubernetes 生产环境之前所产生的关键工作流程。现在通过Docker EE,您就可以得到一条完整、安全的软件供应链。更多有关 Docker 的最新动态,请关注我们的官方微信公众号“docker-cn”。

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
15天前
|
Kubernetes 监控 Java
如何在Kubernetes中配置镜像和容器的定期垃圾回收
如何在Kubernetes中配置镜像和容器的定期垃圾回收
|
15天前
|
Kubernetes 监控 Java
如何设置 Kubernetes的垃圾回收策略为定期
如何设置 Kubernetes的垃圾回收策略为定期
|
15天前
|
Kubernetes Java 调度
Kubernetes中的Pod垃圾回收策略是什么
Kubernetes中的Pod垃圾回收策略是什么
|
1月前
|
Kubernetes 安全 Cloud Native
云上攻防-云原生篇&K8s安全-Kubelet未授权访问、API Server未授权访问
本文介绍了云原生环境下Kubernetes集群的安全问题及攻击方法。首先概述了云环境下的新型攻击路径,如通过虚拟机攻击云管理平台、容器逃逸控制宿主机等。接着详细解释了Kubernetes集群架构,并列举了常见组件的默认端口及其安全隐患。文章通过具体案例演示了API Server 8080和6443端口未授权访问的攻击过程,以及Kubelet 10250端口未授权访问的利用方法,展示了如何通过这些漏洞实现权限提升和横向渗透。
159 0
云上攻防-云原生篇&K8s安全-Kubelet未授权访问、API Server未授权访问
|
1月前
|
Kubernetes 应用服务中间件 nginx
k8s学习--kubernetes服务自动伸缩之水平收缩(pod副本收缩)VPA策略应用案例
k8s学习--kubernetes服务自动伸缩之水平收缩(pod副本收缩)VPA策略应用案例
|
2月前
|
Kubernetes 网络虚拟化 Docker
K8S镜像下载报错解决方案(使用阿里云镜像去下载kubeadm需要的镜像文件)
文章提供了一个解决方案,用于在无法直接访问Google镜像仓库的情况下,通过使用阿里云镜像来下载kubeadm所需的Kubernetes镜像。
306 4
K8S镜像下载报错解决方案(使用阿里云镜像去下载kubeadm需要的镜像文件)
|
2月前
|
Kubernetes 安全 API
Kubernetes系统安全-授权策略(authorization policy)
文章主要介绍了Kubernetes系统中的授权策略,包括授权模块的概述、RBAC授权模块的详细说明以及如何创建和管理角色(Role)和集群角色(ClusterRole)。
60 0
Kubernetes系统安全-授权策略(authorization policy)
|
3月前
|
Kubernetes Docker Perl
在K8S中,如果是因为开发写的镜像问题导致pod起不来该怎么排查?
在K8S中,如果是因为开发写的镜像问题导致pod起不来该怎么排查?
|
3月前
|
Kubernetes Cloud Native 应用服务中间件
Kubernetes 自动伸缩策略:优化资源利用率
【8月更文第29天】在现代云原生环境中,应用的流量往往具有不可预测性。为了应对这种变化,Kubernetes 提供了多种自动伸缩机制来动态调整应用实例的数量和每个实例分配的资源。本文将深入探讨两种主要的自动伸缩工具:水平 Pod 自动伸缩器 (HPA) 和垂直 Pod 伸缩器 (VPA),并提供实际的应用示例。
110 0
|
9天前
|
Kubernetes 监控 Cloud Native
Kubernetes集群的高可用性与伸缩性实践
Kubernetes集群的高可用性与伸缩性实践
37 1
下一篇
无影云桌面