mirror of
https://github.com/docker/docker-bench-security.git
synced 2025-01-18 16:22:33 +01:00
Rename to docker-bench
This commit is contained in:
parent
e1e8eb24b9
commit
aa24306b04
3 changed files with 20 additions and 20 deletions
|
@ -2,10 +2,10 @@ FROM gliderlabs/alpine:3.1
|
||||||
|
|
||||||
RUN apk --update add docker
|
RUN apk --update add docker
|
||||||
|
|
||||||
RUN mkdir /docker_security_benchmark
|
RUN mkdir /docker-bench
|
||||||
|
|
||||||
COPY . /docker_security_benchmark
|
COPY . /docker-bench
|
||||||
|
|
||||||
WORKDIR /docker_security_benchmark
|
WORKDIR /docker-bench
|
||||||
|
|
||||||
ENTRYPOINT ["/bin/sh", "docker_security_benchmark.sh"]
|
ENTRYPOINT ["/bin/sh", "docker-bench.sh"]
|
||||||
|
|
26
README.md
26
README.md
|
@ -1,45 +1,45 @@
|
||||||
# Docker Security Benchmark Checker
|
# Docker Bench
|
||||||
|
|
||||||
![Docker Security Benchmark running](/benchmark_log.png?raw=true "Docker Security Benchmark running")
|
![Docker Security Benchmark running](/benchmark_log.png?raw=true "Docker Security Benchmark running")
|
||||||
|
|
||||||
The Docker Security Benchmark Checker 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.
|
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.
|
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.
|
||||||
|
|
||||||
## Running the benchmark
|
## Running Docker Bench
|
||||||
|
|
||||||
We packaged this benchmark 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.
|
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.
|
||||||
|
|
||||||
The easiest way to run your hosts against the CIS Docker 1.6 benchmark is by running our pre-built container:
|
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 \
|
docker run -it --net host --pid host -v /var/run/docker.sock:/var/run/docker.sock \
|
||||||
-v /usr/lib/systemd:/usr/lib/systemd -v /etc:/etc --label security-benchmark \
|
-v /usr/lib/systemd:/usr/lib/systemd -v /etc:/etc --label docker-bench \
|
||||||
diogomonica/docker-security-benchmark
|
diogomonica/docker-bench
|
||||||
```
|
```
|
||||||
|
|
||||||
This benchmark 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).
|
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).
|
||||||
|
|
||||||
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.
|
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.
|
||||||
|
|
||||||
## Building the benchmark
|
## Building Docker Bench
|
||||||
|
|
||||||
If you wish to build and run this container yourself, you can follow the following steps:
|
If you wish to build and run this container yourself, you can follow the following steps:
|
||||||
|
|
||||||
```
|
```
|
||||||
git clone https://github.com/diogomonica/docker-security-benchmark.git
|
git clone https://github.com/diogomonica/docker-bench.git
|
||||||
cd docker-security-benchmark; docker build -t docker-security-benchmark .
|
cd docker-bench; docker build -t docker-bench .
|
||||||
docker run -it --net host --pid host -v /var/run/docker.sock:/var/run/docker.sock \
|
docker run -it --net host --pid host -v /var/run/docker.sock:/var/run/docker.sock \
|
||||||
-v /usr/lib/systemd:/usr/lib/systemd -v /etc:/etc --label security-benchmark \
|
-v /usr/lib/systemd:/usr/lib/systemd -v /etc:/etc --label security-benchmark \
|
||||||
docker-security-benchmark
|
docker-bench
|
||||||
```
|
```
|
||||||
|
|
||||||
Also, this script can also be simply run from your base host by running:
|
Also, this script can also be simply run from your base host by running:
|
||||||
|
|
||||||
```
|
```
|
||||||
git clone https://github.com/diogomonica/docker-security-benchmark.git
|
git clone https://github.com/diogomonica/docker-bench.git
|
||||||
cd docker-security-benchmark; sh docker_security_benchmark.sh
|
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.
|
This script was build to be POSIX 2004 compliant, so it should be portable across any Unix platform.
|
||||||
|
|
|
@ -73,13 +73,13 @@ done
|
||||||
main () {
|
main () {
|
||||||
# List all running containers
|
# List all running containers
|
||||||
containers=`docker ps -q`
|
containers=`docker ps -q`
|
||||||
# If there is a container named docker-security-benchmark, memorize it:
|
# If there is a container with label docker-bench, memorize it:
|
||||||
benchcont="nil"
|
benchcont="nil"
|
||||||
for c in $containers; do
|
for c in $containers; do
|
||||||
labels=`docker inspect --format '{{ .Config.Labels }}' $c`
|
labels=`docker inspect --format '{{ .Config.Labels }}' $c`
|
||||||
contains "$labels" "security-benchmark" && benchcont="$c"
|
contains "$labels" "docker-bench" && benchcont="$c"
|
||||||
done
|
done
|
||||||
# List all running containers except docker-security-benchmark
|
# List all running containers except docker-bench
|
||||||
containers=`docker ps -q | grep -v $benchcont`
|
containers=`docker ps -q | grep -v $benchcont`
|
||||||
|
|
||||||
for test in tests/*.sh
|
for test in tests/*.sh
|
Loading…
Reference in a new issue