admin管理员组

文章数量:1535427

容器安全概述

根据我自己的理解,将容器安全划分成了6个方向,各个方面还存在二级分支方向,本文就这6个方向及其二级分支展开我对容器安全的理解。话不多说,开篇一幅图,后面全靠编。

承载容器或容器集群的宿主机的安全性

首先就是容器宿主机的安全,在一个企业内部,如果划分了基础运维团队与容器团队(CaaS, Container as a Service 容器即服务),那么容器宿主机的安全性由基础运维团队负责,通常与传统基础设施安全保持一致。这块就是一些老生常谈的话题,如:

  • 主机身份鉴别与访问控制:主要是操作系统的特权账号与普通账号管理、账号权限管理、密码策略、登录策略等;
  • 补丁更新:补丁定期更新策略、高危漏洞补丁及时更新策略等。这一块,基础运维团队除了应该关注会对宿主机自身造成中高风险的漏洞,还应关注与Docker相关的漏洞,如:利用DirtyCow漏洞实现Docker逃逸
  • 安全防护能力:主要是部署入侵检测与防护产品、防病毒产品,定期更新安全产品的软件版本与防护策略等;
  • 运行容器的用户权限:这里需要理解一下Docker容器中的uidgid相关概念,就能发现如果使用特权用户启动容器会出现哪些风险,但是根据目前我片面的了解来看,大部分都没有配置特定用户权限来启动容器;
  • 审计和配置容器守护程序目录或文件:/var/lib/docker, /etc/docker, docker.service, docker.socket, /etc/default/docker/, /etc/docker/daemon.json, /usr/bin/docker-containerd, /usr/bin/docker-runc需要对这些文件执行审计,并配置合理的权限,关于审计内容与权限设置的要求,请参见附录Docker容器最佳安全实践白皮书V1.0

容器软件自身的安全性

其次就是容器软件Docker自身的安全性,这里我引用了以下链接的部分内容:

技术干货 | Docker 容器逃逸案例汇集 https://wwwblogs/xiaozi/p/13423853.html

  • docker remote api未授权访问漏洞;

  • docker.sock挂载到容器内部:此场景容易出现在Jenkins CI/CD流程中;

  • docker高危启动参数:

    • --privileged:特权模式,此场景也容易出现在Jenkins CI/CD流程中;
    • -v:挂载敏感目录;
    • --cap-add=SYS_ADMIN:允许执行mount操作;
    • --net=host:绕过Network Namespace;
    • --pid=host:绕过PID Namespace;
    • --ipc=host:绕过IPC Namespace。
  • Shocker攻击

  • CVE-2014-5277:Docker和docker

本文标签: 容器玩转