mcpField
P
performing-docker-bench-security-assessment

performing-docker-bench-security-assessment

github.com/mukul975安全35.2k107 次安装8 周前更新
代码仓库

关于 performing-docker-bench-security-assessment

用于运行 Docker Bench for Security 的安全技能,可依据 CIS Docker Benchmark 检查 Docker 部署。它指导运维人员解读通过、失败和警告结果,并开展修复与定期评估。

主要功能

  1. 01审计主机和 Docker 配置
  2. 02检查镜像、运行时与安全操作
  3. 03生成通过、失败和警告结果
  4. 04指导修复及定期评估

适用场景

  1. 01依据 CIS 指南评估 Docker 主机
  2. 02确定安全问题的修复优先级
  3. 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 外,安装时一起下载的参考资料和脚本。

LICENSE
assets/
template.md
references/
api-reference.md
standards.md
workflows.md
scripts/
agent.py
process.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