|
60 | 60 | impact 1.0 |
61 | 61 | title 'Restrict network traffic between containers' |
62 | 62 | desc 'By default, all network traffic is allowed between containers on the same host. If not desired, restrict all the intercontainer communication. Link specific containers together that require inter communication.' |
63 | | - ref 'https://docs.docker.com/engine/userguide/networking/default_network/container-communication/' |
64 | | - ref 'https://entwickler.de/online/development/docker-netzwerk-container-microservices-126443.html' |
| 63 | + tag 'daemon' |
| 64 | + ref 'Docker container networking', url: 'https://docs.docker.com/engine/userguide/networking/' |
65 | 65 |
|
66 | 66 | describe json('/etc/docker/daemon.json') do |
67 | 67 | its(['icc']) { should eq(false) } |
|
72 | 72 | impact 1.0 |
73 | 73 | title 'Set the logging level' |
74 | 74 | desc 'Setting up an appropriate log level, configures the Docker daemon to log events that you would want to review later. A ase log level of \'info\' and above would capture all logs except debug logs. Until and unless required, you should not run docker daemon at \'debug\' log level.' |
75 | | - ref 'https://docs.docker.com/engine/reference/commandline/daemon/' |
| 75 | + tag 'daemon' |
| 76 | + ref 'Docker daemon', url: 'https://docs.docker.com/engine/reference/commandline/daemon/' |
76 | 77 |
|
77 | 78 | describe json('/etc/docker/daemon.json') do |
78 | 79 | its(['log-level']) { should eq('info') } |
|
83 | 84 | impact 1.0 |
84 | 85 | title 'Allow Docker to make changes to iptables' |
85 | 86 | desc 'Iptables are used to set up, maintain, and inspect the tables of IP packet filter rules in the Linux kernel. Allow the Docker daemon to make changes to the iptables.' |
| 87 | + tag 'daemon' |
86 | 88 | ref 'https://docs.docker.com/v1.8/articles/networking/' |
87 | 89 |
|
88 | 90 | describe json('/etc/docker/daemon.json') do |
|
94 | 96 | impact 1.0 |
95 | 97 | title 'Do not use insecure registries' |
96 | 98 | desc 'Docker considers a private registry either secure or insecure. By default, registries are considered secure.' |
97 | | - ref 'https://docs.docker.com/registry/insecure/' |
| 99 | + tag 'daemon' |
| 100 | + ref 'Insecure registry', url: 'https://docs.docker.com/registry/insecure/' |
98 | 101 |
|
99 | 102 | describe json('/etc/docker/daemon.json') do |
100 | 103 | its(['insecure-registries']) { should be_empty } |
|
105 | 108 | impact 1.0 |
106 | 109 | title 'Do not use the aufs storage driver' |
107 | 110 | desc 'The \'aufs\' storage driver is the oldest storage driver. It is based on a Linux kernel patch-set that is unlikely to be merged into the main Linux kernel. \'aufs\' driver is also known to cause some serious kernel crashes. \'aufs\' just has legacy support from Docker. Most importantly, \'aufs\' is not a supported driver in many Linux distributions using latest Linux kernels.' |
108 | | - ref 'https://docs.docker.com/engine/reference/commandline/cli/#daemon-storage-driver-option' |
109 | | - ref 'https://github.com/docker/docker/issues/6047' |
110 | | - ref 'http://muehe.org/posts/switching-docker-from-aufs-to-devicemapper/' |
111 | | - ref 'http://jpetazzo.github.io/assets/2015-03-05-deep-dive-into-docker-storage-drivers.html#1' |
| 111 | + tag 'daemon' |
| 112 | + ref 'Docker daemon storage driver options', url: 'https://docs.docker.com/engine/reference/commandline/cli/#daemon-storage-driver-option' |
| 113 | + ref 'permission denied if chown after chmod', url: 'https://github.com/docker/docker/issues/6047' |
| 114 | + ref 'Switch from aufs to devicemapper', url: 'http://muehe.org/posts/switching-docker-from-aufs-to-devicemapper/' |
| 115 | + ref 'Deep dive into docker storage drivers', url: 'http://jpetazzo.github.io/assets/2015-03-05-deep-dive-into-docker-storage-drivers.html#1' |
112 | 116 |
|
113 | 117 | describe json('/etc/docker/daemon.json') do |
114 | 118 | its(['storage-driver']) { should_not eq('aufs') } |
|
119 | 123 | impact 1.0 |
120 | 124 | title 'Configure TLS authentication for Docker daemon' |
121 | 125 | desc 'It is possible to make the Docker daemon to listen on a specific IP and port and any other Unix socket other than default Unix socket. Configure TLS authentication to restrict access to Docker daemon via IP and port.' |
122 | | - ref 'https://docs.docker.com/engine/security/https/' |
123 | | - ref 'http://www.hnwatcher.com/r/1644394/Intro-to-Docker-Swarm-Part-2-Comfiguration-Modes-and-Requirements' |
124 | | - ref 'http://www.blackfinsecurity.com/docker-swarm-with-tls-authentication/' |
125 | | - ref 'http://tech.paulcz.net/2016/01/secure-docker-with-tls/' |
| 126 | + tag 'daemon' |
| 127 | + ref 'Protect Docker deamon socket', url: 'https://docs.docker.com/engine/security/https/' |
126 | 128 |
|
127 | 129 | describe json('/etc/docker/daemon.json') do |
128 | 130 | its(['tls']) { should eq(true) } |
|
145 | 147 | impact 1.0 |
146 | 148 | title 'Set default ulimit as appropriate' |
147 | 149 | desc 'ulimit provides control over the resources available to the shell and to processes started by it. Setting system resource limits judiciously saves you from many disasters such as a fork bomb. Sometimes, even friendly users and legitimate processes can overuse system resources and in-turn can make the system unusable.' |
148 | | - tag 'Bug: default-ulimits seems broken in daemon.json https://github.com/docker/docker/issues/22309' |
149 | | - ref 'https://docs.docker.com/engine/reference/commandline/daemon/#default-ulimits' |
| 150 | + tag 'daemon' |
| 151 | + ref 'Docker daemon deafult ulimits', url: 'https://docs.docker.com/engine/reference/commandline/daemon/#default-ulimits' |
150 | 152 |
|
151 | 153 | describe json('/etc/docker/daemon.json') do |
152 | 154 | its(['default-ulimits', 'nproc']) { should eq('1024:2408') } |
|
0 commit comments