基于DevOps的容器安全优秀行驶
发布时间:2021-06-06 12:05:22 所属栏目:云计算 来源:互联网
导读:虽然云和容器的崛起,容器成了日常。容器的安全要求也随之而来,如何确定一个最适合业务的容器安全保障是大家最关注的问题。本文我们就来通过DevOps生命周期来全面考虑容器安全和各阶段的安全策略,更详细的工具介绍可以参考虫虫之前的文章从DevOps到DevSecOp
|
虽然云和容器的崛起,容器成了日常。容器的安全要求也随之而来,如何确定一个最适合业务的容器安全保障是大家最关注的问题。本文我们就来通过DevOps生命周期来全面考虑容器安全和各阶段的安全策略,更详细的工具介绍可以参考虫虫之前的文章从DevOps到DevSecOps,贯穿始终的安全栈。
DevOps生命周期
每个安全计划都会受到可实施安全控制措施的限制,DevOps生命周期是以下各项的无限迭代:计划、编码、构建、测试、发布、部署、运维、监控
在应用程序中容器以Dockerfiles的形式来表达,但实际上Dockerfiles并不是容器的一部分(计划和编码)。从安全性的角度来看,容器安全主要涉及以下三部分,六个阶段:
构建时:构建,测试和发布
容器基础架构:部署和运维
运行时:监控
每个安全策略只有在可以实施的情况下才有效。每个部分中的各个步骤可以实施安全控制措施:
构建时:CI/CD基础结构,容器注册表
容器基础设施:容器编排器
运行时:生产环境
构建时安全
在容器构建时,输入了一堆源文件和一个Dockerfile,输出为Docker镜像。该阶段有很多安全和云厂商提供了很多安全方案和镜像安全扫描工具。容器安全扫描非常重要,是的,光镜像扫描还远远不够。本部分的安全目标是最小化供应链攻击的风险。
1. 基础镜像的安全
首先,检查镜像的基础,重点是检查要引入的依赖项:
允许开发人员使用的基本镜像。
固定软件依赖性,依赖所要拉取的源。
是否需要通过标签来简化治理和合规性?
整理Dockerfile。
所有这些检查都是静态的,可以很容易在构建管道编写检查语实现。
2. 容器镜像扫描
然后,下一步就是扫描容器镜像。
不要在构建管道中扫描镜像,而是在容器注册表中设置连续扫描。
漏洞可能早就存在,如果在构建时才检查有点迟了。其次,构建是叠加的:每个构建都会生成一个新镜像。因此,通过扫描信任注册表,发布的每个标签都可以信任,而无需重复在每次构建时候都检查。最后由于镜像扫描需要时间,如果在构建时候扫描会影响构建的性能。
也可以考虑定义补丁程序管理和保质期流程:
补丁程序管理:扫描结果提供补丁程序,从而产生新版本的镜像
保质期:对于超过期限未修补/旧/不安全的镜像从注册表中予以删除。
本阶段可参考的工具:开源工具有Anchore,Clair,Dagda,商业化软件有Atomic和Docker Cloud。
Docker基础设施安全
容器基础结构由所有移动部件组成,这些部件负责从注册表中提取镜像并将其作为容器在生产环境中运行。
主要是容器编排器有 kubernetes,Swarm。
本部分的目标有两个:避免由于平台配置错误带来安全隐患;最小化来自受感染容器的攻击扩展。
![]() (编辑:平顶山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |



