Docker
TMA-DOCKER-2.13
Ensure that authorization for Docker client commands is enabled
MediumLevel 2Automateddocker
Description
An authorization plugin gives granular control over which Docker API commands each client may run. Compliant when --authorization-plugin or a non-empty "authorization-plugins" list is configured. The audit reads the running dockerd command line (ps) together with /etc/docker/daemon.json.
How it is checked
Audit method: Shell command
shell
args=$(ps -eo args 2>/dev/null) || exit 1; s=$(printf '%s\n' "$args" | grep '[d]ockerd'; cat /etc/docker/daemon.json 2>/dev/null); printf '%s\n' "$s" | grep -Eq -e '--authorization-plugin|"authorization-plugins"[[:space:]]*:[[:space:]]*\[[[:space:]]*("|$)' && echo compliant || echo missing- Expected output
compliant
How it is fixed
Fix method: Guidance or infrastructure patch
Install an authorization plugin and add it to "authorization-plugins" in /etc/docker/daemon.json (or --authorization-plugin=<PLUGIN>), then restart the Docker daemon.
Properties
- Operating systems
- Any
- Tags
- dockerdaemon
- Reference
- CIS Docker Benchmark v1.9.0 - 2.13 Ensure that authorization for Docker client commands is enabled
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
shell
tmaegis scan --target docker --level 2