我们在日常使用docker的时候,并不清楚我们的环境是否安全,是否存在问题,今天给大家推荐一款docker环境扫描工具 - docker-bench-security. 他是一款开源的扫描工具,官方地址是:https://github.com/docker/docker-bench-security,通过运行容器,可以快速和系统的监测你的docker环境是否安全。
下面是一个运行的例子:
从上可以看出,该容器在主机配置和引擎配置两个方面进行了检查,可以说是非常全面的。Docker Bench Security是一个脚本,通过大量的best-pratice检查你的环境是否可以用于产品环境。
运行docker-bench-secrury
该项目是将扫描过程全部打包进一个小的容器,由于需要检查外部的docker运行环境,所以需要一系列特权,比如:主机的文件系统, PID,网络,systemd等。最简单的运行方式就是运行已经生成好的容器:
docker run -it --net host --pid host --cap-add audit_control \
-v /var/lib:/var/lib \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/lib/systemd:/usr/lib/systemd \
-v /etc:/etc --label docker_bench_security \
docker/docker-bench-security
为了能运行这个容器,docker版本至少需要是1.10以后的版本,同时这个镜像是基于alpine的,然后通过Dockerfile进行封装。
如何获取最新版本,并编译镜像
官方镜像有时不一定是最新的,如果需要获得最新的版本,通过下面的方式:
git clone https://github.com/docker/docker-bench-security.git
cd docker-bench-security
docker build -t docker-bench-security .
docker run -it --net host --pid host --cap-add audit_control \
-v /var/lib:/var/lib \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/lib/systemd:/usr/lib/systemd \
-v /etc:/etc --label docker_bench_security \
docker-bench-security
或者使用docker-compose:
git clone https://github.com/docker/docker-bench-security.git
cd docker-bench-security
docker-compose run --rm docker-bench-security
再或者直接在主机上使用原始脚本:
git clone https://github.com/docker/docker-bench-security.git
cd docker-bench-security
sh docker-bench-security.sh
本项目的脚本是兼容POSIX 2004的,因此在所有的*nix系统下都是可用的。好了到这儿就基本介绍完毕了,你的docker环境扫描了吗?
了解更多Docker容器技术,可关注微信公众号“精灵云”或“godocker”