Docker 安全
简介
- 介绍docker的安全包括哪些方面
- 介绍为什么要对docker的安全进行管控
- 介绍通过哪些技术对docker的仓库,镜像(以及dockerfile),容器进行安全管理
- 介绍存在的不足和可以继续努力的方向
Docker安全
为什么要对docker进行安全管控
- Docker是业务系统运行的基础环境,不能出现安全漏洞
- 容器实际上是不透明的,被封装成一个个繁琐的镜像
Docker仓库安全管控
Docker 镜像安全管控
Notary
- 是发布和管理可信内容集合的工具
Snyk
Trivy
Clair
- Clair的目标是能够从一个更加透明的维度去看待基于容器化基础框架的安全性,Clair是由CoreOS所推出的这样一款针对容器镜像的安全扫描工具。
-
Clair主要模块分为Detector、Fetcher、Notifier和Webhook,Clair首先对镜像进行特征的提取,然后再将这些特征匹配CVE漏洞库,若发现漏洞则进行提示,其功能侧重于扫描容器中的OS及APP的CVE漏洞.
-
Clair是扫描引擎,启动后暴露API等待调用
Anchore
- Clair能扫描出一个镜像中的所有CVE漏洞,但现在有一种情况,黑客使用最新版无漏洞的OS镜像,然后在其之上安装后门木马,或执行恶意命令,这样Clair就不能检测其安全性了。
- 与Clair不同,Anchore侧重于对镜像的审计,其有强大的对镜像的解析能力。在分析之后可以对镜像进行多种操作,内置了许多脚本,用途广泛
Dockerfile 安全管控
hadolint
- Hadolint 是使用不明觉厉的 Haskell 实现的 Dockerfile linter,其实现依据来自于 Docker 官网推荐的 Dockerfile 最佳实践
# docker run -i hadolint/hadolint bash -c " Dockerfile"
Docker 容器安全管控
延伸
Dockerscan
- Dockerscan是一个分析、攻击工具。它可以在网络中找出镜像仓库所在的主机,可以在镜像中插入木马,查看镜像中的敏感信息等等
结语
- 【Anchore 文档】
- 【Anchore 官网】
- 【Notary 官网】