关于 performing-docker-bench-security-assessment
用于运行 Docker Bench for Security 的安全技能,可依据 CIS Docker Benchmark 检查 Docker 部署。它指导运维人员解读通过、失败和警告结果,并开展修复与定期评估。
主要功能
- 01审计主机和 Docker 配置
- 02检查镜像、运行时与安全操作
- 03生成通过、失败和警告结果
- 04指导修复及定期评估
适用场景
- 01依据 CIS 指南评估 Docker 主机
- 02确定安全问题的修复优先级
- 03安排定期 Docker 安全检查
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ mukul975/ anthropic-cybersecurity-skills --skill performing-docker-bench-security-assessment安装后在 Claude Code 中输入/performing-docker-bench-security-assessment确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
LICENSEassets/template.mdreferences/api-reference.mdstandards.mdworkflows.mdscripts/agent.pyprocess.py详细介绍
执行 Docker Bench 安全评估
概述
Docker Bench for Security 是一个开源脚本,用于检查在生产环境中部署 Docker 容器时涉及的数十项常见最佳实践。它基于 CIS Docker Benchmark,审计主机配置、Docker 守护进程设置、容器镜像、运行时配置以及安全操作,从而生成包含通过/失败/警告结果的合规性报告。
何时使用
- 当进行涉及执行 Docker Bench 安全评估的安全评估时
- 当遵循相关安全事件的事件响应流程时
- 当执行计划内的安全测试或审计活动时
- 当通过实际操作测试验证安全控制措施时
前提条件
- 已安装并运行 Docker Engine
- 在 Docker 主机上具有 root 或 sudo 访问权限
- Docker Bench Security 脚本或容器镜像
工作流
步骤 1:运行 Docker Bench Security
# Run as a container (recommended)
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
# Run with JSON output
docker run --rm --net host --pid host --userns host --cap-add audit_control \
-v /etc:/etc:ro \
-v /var/lib:/var/lib:ro \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
docker/docker-bench-security -l /dev/stdout 2>/dev/null | tee docker-bench-results.json
# Run specific sections only
docker run --rm --net host --pid host --userns host \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
docker/docker-bench-security -c container_images,container_runtime
步骤 2:解读结果
[INFO] 1 - Host Configuration
[PASS] 1.1.1 - Ensure a separate partition for containers has been created
[WARN] 1.1.2 - Ensure only trusted users are allowed to control Docker daemon
[PASS] 1.1.3 - Ensure auditing is configured for the Docker daemon
[INFO] 2 - Docker daemon configuration
[FAIL] 2.1 - Run the Docker daemon as a non-root user
[PASS] 2.2 - Ensure network traffic is restricted between containers on the default bridge
步骤 3:修复常见失败项
# Fix 2.2: Restrict inter-container communication
echo '{"icc": false}' | sudo tee /etc/docker/daemon.json
# Fix 2.17: Restrict containers from acquiring new privileges
echo '{"no-new-privileges": true}' | sudo tee -a /etc/docker/daemon.json
# Fix 5.3: Restrict Linux kernel capabilities
# Use --cap-drop ALL in docker run commands
# Fix 5.12: Mount container's root filesystem as read only
# Use --read-only flag in docker run commands
# Restart Docker daemon after configuration changes
sudo systemctl restart docker
步骤 4:自动化计划评估
# docker-compose for scheduled assessment
version: '3.8'
services:
bench-security:
image: docker/docker-bench-security
network_mode: host
pid: host
userns_mode: host
cap_add:
- audit_control
volumes:
- /etc:/etc:ro
- /var/lib:/var/lib:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./results:/results
command: -l /results/bench-$(date +%Y%m%d).log
deploy:
restart_policy:
condition: none
验证命令
# Verify remediation
docker run --rm docker/docker-bench-security 2>&1 | grep -E "(PASS|FAIL|WARN)" | sort | uniq -c
# Count results by type
docker run --rm docker/docker-bench-security 2>&1 | grep -c "PASS"
docker run --rm docker/docker-bench-security 2>&1 | grep -c "FAIL"
docker run --rm docker/docker-bench-security 2>&1 | grep -c "WARN"
参考
评论
支持 Markdown