用途:运行 Docker Bench for Security,这是基于 CIS Docker Benchmark 的开源审计脚本,检查生产环境部署 Docker 容器的常见最佳实践,覆盖主机配置、Docker 守护进程设置、容器镜像、运行时配置和安全操作,输出 pass/fail/warn 合规报告。
适用场景:涉及 Docker Bench 安全评估的安全评估、相关安全事件的事件响应流程、定期安全测试或审计活动,以及通过动手测试验证安全控制。
前提条件:已安装并运行 Docker Engine;在 Docker 主机上具有 root 或 sudo 权限;具备 Docker Bench Security 脚本或容器镜像。
使用方式:推荐以容器方式运行,命令为 docker run --rm --net host --pid host --userns host --cap-add audit_control -e DOCKER_CONTENT_TRUST=$DOCKER_CONTENT_TRUST -v /etc:/etc:ro -v /usr/bin/containerd:/usr/bin/containerd:ro -v /usr/bin/runc:/usr/bin/runc:ro -v /usr/lib/systemd:/usr/lib/systemd:ro -v /var/lib:/var/lib:ro -v /var/run/docker.sock:/var/run/docker.sock:ro --label docker_bench_security docker/docker-bench-security。可用 -l /dev/stdout 输出 JSON,用 -c container_images,container_runtime 只运行指定部分。结果以 [INFO]、[PASS]、[WARN]、[FAIL] 标记各检查项。
修复与自动化:常见修复包括在 /etc/docker/daemon.json 设置 {"icc": false} 限制容器间通信、设置 {"no-new-privileges": true} 限制获取新权限,运行容器时使用 --cap-drop ALL 限制内核能力、--read-only 挂载只读根文件系统,修改后执行 sudo systemctl restart docker。可用 docker-compose 定时评估,将结果写入挂载目录。验证命令可用 grep 统计 PASS、FAIL、WARN 数量。
限制:资料未提供脚本版本、检查项总数、各平台差异、误报率及具体修复的完整清单,实际结果取决于主机环境与配置。