Docker镜像安全
概述
Docker提供了docker hub可以让用户上传创建的镜像,以便其他用户下载,快速搭建环境。但同时也带来了一些安全问题:
1. 下载的镜像是否被恶意植入后门?
2. 镜像所搭建的环境是否本身就包含漏洞?
3. ……
Docker容器基于镜像搭建,那么镜像安全则直接决定了容器安全。
所以,对镜像进行安全扫描就变得尤其重要了,接下来,我们docker的镜像安全
1. Clair
Clair是目前最流行的镜像扫描工具,主要模块分为Detector、Fetcher、Notifier和Webhook,Clair首先对镜像进行特征的提取,然后再将这些特征匹配CVE漏洞库,若发现漏洞则进行提示及修补,其功能侧重于扫描容器中的OS及APP的CVE漏洞。
• Fetcher(获取器)- 从公共源收集漏洞数据
• Detector(检测器)- 指出容器镜像中包含的Feature
• Notifier+WebHook(通知钩子)- 当新的漏洞被发现时或者已经存在的漏洞发生改变时通知用户/机器
• Databases(数据库)- 存储容器中各个层以及漏洞
• Worker(主进程) - 每个Post Layer都会启动一个worker进行Layer Detect
安装Clair(docker-compose):
$ curl -L https://raw.githubusercontent.com/coreos/clair/master/contrib/compose/docker-compose.yml -o $HOME/docker-compose.yml
$ mkdir /usr/src/clair-2.0.1/clair_config
$ curl -L https://raw