2015-05-11 06:08:28 +02:00
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
logit "\n"
|
2017-01-23 17:06:10 +01:00
|
|
|
info "6 - Docker Security Operations"
|
|
|
|
|
|
|
|
# 6.1
|
2017-07-07 11:19:02 +02:00
|
|
|
check_6_1="6.1 - Avoid image sprawl"
|
2015-08-10 16:27:32 +02:00
|
|
|
images=$(docker images -q | sort -u | wc -l | awk '{print $1}')
|
2015-06-01 22:37:28 +02:00
|
|
|
active_images=0
|
|
|
|
|
2017-07-07 12:07:00 +02:00
|
|
|
for c in $(docker inspect -f "{{.Image}}" $(docker ps -qa) 2>/dev/null); do
|
2015-06-21 23:03:34 +02:00
|
|
|
if docker images --no-trunc -a | grep "$c" > /dev/null ; then
|
2015-06-09 04:15:41 +02:00
|
|
|
active_images=$(( active_images += 1 ))
|
2015-06-01 22:37:28 +02:00
|
|
|
fi
|
|
|
|
done
|
|
|
|
|
2017-07-07 11:19:02 +02:00
|
|
|
info "$check_6_1"
|
2015-05-11 06:08:28 +02:00
|
|
|
info " * There are currently: $images images"
|
|
|
|
|
2015-06-09 04:15:41 +02:00
|
|
|
if [ "$active_images" -lt "$((images / 2))" ]; then
|
2017-01-23 17:06:10 +01:00
|
|
|
info " * Only $active_images out of $images are in use"
|
2015-06-01 22:37:28 +02:00
|
|
|
fi
|
|
|
|
|
2017-07-07 11:19:02 +02:00
|
|
|
# 6.2
|
|
|
|
check_6_2="6.2 - Avoid container sprawl"
|
2015-05-29 13:42:34 +02:00
|
|
|
total_containers=$(docker info 2>/dev/null | grep "Containers" | awk '{print $2}')
|
|
|
|
running_containers=$(docker ps -q | wc -l | awk '{print $1}')
|
2015-06-21 23:03:34 +02:00
|
|
|
diff="$((total_containers - running_containers))"
|
2015-05-29 13:42:34 +02:00
|
|
|
if [ "$diff" -gt 25 ]; then
|
2017-07-07 11:19:02 +02:00
|
|
|
info "$check_6_2"
|
2017-01-23 17:06:10 +01:00
|
|
|
info " * There are currently a total of $total_containers containers, with only $running_containers of them currently running"
|
2015-05-11 06:08:28 +02:00
|
|
|
else
|
2017-07-07 11:19:02 +02:00
|
|
|
info "$check_6_2"
|
2015-05-11 06:08:28 +02:00
|
|
|
info " * There are currently a total of $total_containers containers, with $running_containers of them currently running"
|
|
|
|
fi
|