现阶段,我们正在从虚拟化过渡到容器化,一些我们所熟悉的容器化技术就包括了诸如docker或quay.io等。一般来说,我们可以通过配置程序依赖环境来为特定应用程序建立镜像,通常当开发人员使用容器时,它不仅把程序进行了打包,同时也可以将程序封装成操作系统一部分。可糟糕的是,我们不知道容器的连接库是否已打补丁或是否易受到攻击。
因此,今天我们要来展示的是“如何在任何基础架构中进行容器审计以及漏洞评估”。
01
Clair:针对漏洞的漏扫工具
· 安装
CoreOS开发了一个很棒的容器扫描工具—Clair。
Clair是一个开源项目,用于静态分析应用程序和Docker容器中的漏洞,使用以下命令可在git的帮助下克隆该软件包
gitclone https://github.com/arminc/clair-scanner.git
· Docker镜像漏洞扫描
在本地计算机上运行docker
apt install golang
构建库以安装Clair的所有依赖项
cd clair-scanner
make build
make cross
如果主机中没有docker镜像,那么可以提取一个用于漏洞评估的新镜像如下:
docker pull ubuntu:16.04
在本地端口5432运行docker镜像
docker run -d -p 5432:5432 --name db arminc/clair-db:latest
运行docker image for postgres以链接Clair scan。
docker run -d -p 6060:6060 –-link db:postgres –- name clair arminc/clair-local-scan:latest
使用Clair扫描容器或容器镜像的漏洞。
Syntax: ./clair-scanner -ip <docker ip> -routput.jason <docker-image>
./clair-scanner –-ip 172.17.0.1 -r report.json ubuntu:16.04
Boom !!! 我们得到的扫描输出显示50个未批准的漏洞。
02
Bench - security :针对容器基线的漏扫工具
· 简介
Docker Bench for Security是一个脚本,用于检查有关在生产中部署Docker容器的安全问题。docker-bench根据互联网安全中心CIS对于docker1.13.0+的安全规范进行一系列的安全检查,bench对当前主机内的参数进行检查,输出相应的结果。
· 安装
git clone https://github.com/docker/docker-bench-security.git
cd docker-bench-security
docker-compose run --rm docker-bench-security
· 容器基线安全扫描
主机上有一些docker镜像:
如下所示的一组命令为Docker基线审计过程。
docker run -it --net host --pid host --userns host --cap-add audit_control \
-eDocker_CONTENT_TRUST=$DOCKER_
CONTENT_TRUST \
-v /etc:/etc:ro \
-v /usr/bin/containerd:/usr/bin/containerd:ro \
-v /usr/bin/runc:/usr/bin/runc:ro \
-v /usr/lib/systemd:/usr/lib/systemd:ro \
-v /var/lib:/var/lib:ro \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
--label docker_bench_security\
docker/docker-bench-security
每个配置建议的输出结果为“信息”,“警告”,“合格”和“注释”,如下所述:
1.主机配置
2. Docker Daemon配置
3. Docker Daemon配置文件
4.容器镜像和安装文件
5.容器的runtime文件
6. Docker安全策略
也就是说,从截图中观察到已经创建了针对运行docker映像的root权限的警报。
要解决这种类型的配置错误,要先停止docker的运行过程,然后再次以低权限用户访问,并运行docker映像,如下所示:
docker stop $(docker ps -aq)
docker rm $(docker ps -aq)
docker run -itd –user 1001:1001 ubuntu
如果漏洞已修复,需再次使用bench工具扫描目标,交叉验证以确保已解除警告。 如下所示,此次我们获得了绿色标记,表明我们已经修补了漏洞。
我们是谁:
安定坊是一个由白帽安全攻防爱好者组成的社群,这里有很多的爱好者交流与分享国内外前沿的安全攻防技术、国际安全事件、工具等。
加入我们:
扫描下方小助手二维码即可进群获得最新免费安全工具,一手国际安全资讯和国内外安全教材完整版PDF哦!