docker-bench-security/README.md

46 lines
2.3 KiB
Markdown
Raw Normal View History

2015-05-26 05:18:22 +02:00
# Docker Bench
2015-05-14 23:34:03 +02:00
![Docker Security Benchmark running](/benchmark_log.png?raw=true "Docker Security Benchmark running")
2015-05-26 05:18:22 +02:00
The Docker Bench is a script that checks for all the automatable tests included in the [CIS Docker 1.6 Benchmark](https://benchmarks.cisecurity.org/tools2/docker/CIS_Docker_1.6_Benchmark_v1.0.0.pdf). We are releasing this as a follow-up to our [Understanding Docker Security and Best Practices](https://blog.docker.com/2015/05/understanding-docker-security-and-best-practices/) blog post.
We are making this available as an open-source utility so the Docker community can have an easy way to self-assess their hosts and docker containers against this benchmark.
2015-05-26 05:18:22 +02:00
## Running Docker Bench
2015-05-26 05:18:22 +02:00
We packaged docker bench as a small container for your convenience. Note that this container is being run with a *lot* of privilege -- sharing the host's filesystem, pid and network namespaces, due to portions of the benchmark applying to the running host.
2015-05-15 05:33:02 +02:00
The easiest way to run your hosts against the CIS Docker 1.6 benchmark is by running our pre-built container:
```
docker run -it --net host --pid host -v /var/run/docker.sock:/var/run/docker.sock \
2015-05-26 05:18:22 +02:00
-v /usr/lib/systemd:/usr/lib/systemd -v /etc:/etc --label docker-bench \
diogomonica/docker-bench
```
2015-05-26 05:18:22 +02:00
Docker bench requires Docker 1.6.2 or later to run, since it depends on the `--label` to exclude the current container from being inspected. If you can't upgrade to 1.6.2, I feel free to remove the `--label` flag or run the shell script locally (see below).
2015-05-15 05:33:02 +02:00
Additionally, there was a bug in Docker 1.6.0 that would not allow mounting `-v /dev:/dev`. If you are getting an error while accessing `resolv.conf`, please update your docker to 1.6.2.
2015-05-26 05:18:22 +02:00
## Building Docker Bench
If you wish to build and run this container yourself, you can follow the following steps:
```
2015-05-26 05:18:22 +02:00
git clone https://github.com/diogomonica/docker-bench.git
cd docker-bench; docker build -t docker-bench .
docker run -it --net host --pid host -v /var/run/docker.sock:/var/run/docker.sock \
2015-05-14 02:10:50 +02:00
-v /usr/lib/systemd:/usr/lib/systemd -v /etc:/etc --label security-benchmark \
2015-05-26 05:18:22 +02:00
docker-bench
```
Also, this script can also be simply run from your base host by running:
```
2015-05-26 05:18:22 +02:00
git clone https://github.com/diogomonica/docker-bench.git
cd docker-bench; sh docker-bench.sh
```
This script was build to be POSIX 2004 compliant, so it should be portable across any Unix platform.