Container security
Docker Security Audit Fixes
These are the fixes for a Docker security audit: who can reach the daemon, how much of the host each container can touch, what is inside the images you run, and what stops one container taking down the rest.
What these fixes cover
- Daemon TCP exposure, docker group membership, rootless mode and user namespace remapping
- Privileged containers, capabilities, no-new-privileges, container user and read-only roots
- Image vulnerabilities, floating tags, baked-in secrets, EOL base images and SBOMs
- Host path mounts, volume permissions and memory, CPU and PID limits
What they do not
- Kubernetes. These checks read a Docker daemon on the host; a cluster needs a different tool.
- Podman. It is recognised so the audit can tell you Docker is absent, but it is not itself audited.
- Stopped containers, for most checks. Only the volume checks look beyond docker ps.
How much of this is serious?
Severity of all 39 Docker checks, as the scripts rate them.
- 13High severity33%
- 15Medium severity38%
- 11Low severity28%
6 audits, 39 checks
Grouped by the 6 audits they belong to. Daemon and socket comes first, because access to the Docker socket is root on the host by another name.
Daemon & Socket
Daemon socket exposure, group access, log level and rootless mode
8 fixes3 need rootImage Vulnerabilities
Container image CVEs, secrets, configuration and supply-chain hygiene
8 fixes6 need rootVolume Permissions
Docker volume mount safety, permissions and ownership
7 fixes7 need rootRuntime & Resources
Seccomp, AppArmor/SELinux and memory, CPU, PID and restart limits
6 fixes6 need rootContainer Hardening
Privileged mode, user, capabilities, privilege escalation and mounts
5 fixes5 need rootNetwork & Supply Chain
Port publishing, inter-container connectivity, secrets, updates and images
5 fixes4 need root
The highest-severity findings in Docker
Ordered by the impact class the audit script assigns, then by the order the audit runs them.
Privileged Containers
Check whether any running container uses --privileged, which grants every capability and device
HighNeeds root3 resultsImage Vulnerability Scan
Scans local Docker images for known CVEs using trivy (or reports if no scanner is available)
HighNeeds root4 resultsPublished Container Ports
Check for containers publishing ports on all interfaces, which bypasses UFW host firewall rules
HighNeeds root3 resultsNo New Privileges
Check whether running containers set the no-new-privileges security option to block setuid escalation
HighNeeds root3 resultsDocker TCP Socket
Check whether the Docker daemon is exposed over an unauthenticated TCP socket
HighNo root4 resultsContainer User
Check whether running containers execute as a non-root user or rely on user namespace remapping
HighNeeds root4 results
The other three platforms
Most hosts run more than one of these. The split shows how much of each platform the audit rates as high severity.
VPS & Server
The box itself - access, network, patches and permissions.
45fixes across 7 audits
13 high21 medium11 low
Database
MySQL, PostgreSQL, MongoDB and Redis - access, exposure and encryption.
37fixes across 6 audits
19 high15 medium3 low
Web Server
TLS, security headers, exposed content and request handling.
36fixes across 6 audits
8 high18 medium10 low
Docker fix questions
Run all 39 Docker checks, in one click
CtrlOps runs these audits over your existing SSH connection - no agents, no scripts to manage. $7/user/month after a 1 month free trial - no credit card required.
✓ Start instantly·✓ No credit card·✓ No sneaky autorenewals