Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/docker/docker-bench-security
漏洞扫描器容器安全配置审计DevSecOps
GitHubdocker/docker-bench-security

docker-bench-security

The Docker Bench for Security 是一个脚本,用于检查在生产环境中部署 Docker 容器时的数十项常见最佳实践。

查看仓库
9.7k1.0k63个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Docker 安全基准

Docker 安全基准运行中

Docker 安全基准是一个脚本,用于检查在生产环境中部署 Docker 容器时数十种常见最佳实践。测试全部自动化,并基于 CIS Docker 基准 v1.6.0。

我们将其作为开源工具提供,以便 Docker 社区能够轻松地根据该基准对主机和 Docker 容器进行自我评估。

版本CIS 基准版本
1.6.01.6.0
1.5.01.5.0
1.3.61.4.0
1.3.51.2.0
1.3.31.1.0
1.3.01.13.0

运行 Docker 安全基准

从你的基础主机运行

你可以直接从基础主机运行此脚本:

root@kitploit:~
git clone https://github.com/docker/docker-bench-security.git
cd docker-bench-security
sudo sh docker-bench-security.sh

注意:jq 是一个可选但推荐的依赖项。

使用 Docker 运行

构建 Docker 镜像

如果你希望自行构建并运行此容器,有两种选择:

  1. 使用 Docker Build:
root@kitploit:~
git clone https://github.com/docker/docker-bench-security.git
cd docker-bench-security
docker build --no-cache -t docker-bench-security .

然后跟一个合适的 docker run 命令,如下所示。

  1. 使用 Docker Compose:
root@kitploit:~
git clone https://github.com/docker/docker-bench-security.git
cd docker-bench-security
docker-compose run --rm docker-bench-security

请注意,docker/docker-bench-security 镜像已过时,需要手动构建。更多信息请参阅 #405。

注意,此容器以 大量 权限运行——共享主机的文件系统、PID 和网络命名空间,因为基准测试的部分内容适用于正在运行的主机。

使用容器

root@kitploit:~
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-bench-security

不要忘记根据你的操作系统调整共享卷。一些示例如下:

  1. 在 Ubuntu 上,docker.service 和 docker.secret 文件默认位于 /lib/systemd/system 文件夹中。
root@kitploit:~
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 /lib/systemd/system:/lib/systemd/system: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-bench-security
  1. macOS 上缺少 /etc/hostname 文件,因此需要先创建它。此外,macOS 上的 Docker Desktop 没有 /usr/lib/systemd 或上述 Docker 二进制文件。
root@kitploit:~
sudo touch /etc/hostname

docker run --rm --net host --pid host --userns host --cap-add audit_control \
    -e DOCKER_CONTENT_TRUST=$DOCKER_CONTENT_TRUST \
    -v /etc:/etc \
    -v /var/lib:/var/lib:ro \
    -v /var/run/docker.sock:/var/run/docker.sock:ro \
    --label docker_bench_security \
    docker-bench-security

注意

Docker 基准需要 Docker 1.13.0 或更高版本才能运行。

请注意,当发行版不包含 auditctl 时,审计测试将检查 /etc/audit/audit.rules 以查看是否存在规则。

Docker 安全基准选项

root@kitploit:~
  -b           可选  不输出颜色
  -h           可选  打印此帮助信息
  -l FILE      可选  将日志输出到 FILE,如果在 Docker 容器中运行则位于容器内
  -u USERS     可选  逗号分隔的受信任 Docker 用户列表
  -c CHECK     可选  逗号分隔的特定检查 ID 列表
  -e CHECK     可选  逗号分隔的要排除的特定检查 ID 列表
  -i INCLUDE   可选  逗号分隔的容器或镜像名称中要检查的模式列表
  -x EXCLUDE   可选  逗号分隔的容器或镜像名称中要排除检查的模式列表
  -t LABEL     可选  逗号分隔的容器或镜像中要检查的标签列表
  -n LIMIT     可选  在 JSON 输出中,当报告项目列表(容器、镜像等)时,将报告的项目数量限制为 LIMIT。默认值 0(无限制)。
  -p PRINT     可选  禁用修复措施的打印。默认:打印修复措施。

默认情况下,Docker 安全基准脚本将运行所有可用的 CIS 测试,并在当前目录的日志文件夹中生成日志文件,文件名为 docker-bench-security.log.json 和 docker-bench-security.log。

如果使用 Docker 容器,日志文件将在容器内的 /usr/local/bin/log/ 位置创建。如果希望容器运行后从主机访问它们,则需要挂载一个用于存储它们的卷。

基于 CIS 的检查命名为 check_<section>_<number>,例如 check_2_6,社区贡献的检查命名为 check_c_<number>。

sh docker-bench-security.sh -c check_2_2 将仅运行检查 2.2 确保日志级别设置为 'info'。

sh docker-bench-security.sh -e check_2_2 将运行所有可用检查,但排除 2.2 确保日志级别设置为 'info'。

sh docker-bench-security.sh -e docker_enterprise_configuration 将运行所有可用检查,但排除 docker_enterprise_configuration 组。

sh docker-bench-security.sh -e docker_enterprise_configuration,check_2_2 将运行所有可用检查,但排除 docker_enterprise_configuration 组和 2.2 确保日志级别设置为 'info'。

sh docker-bench-security.sh -c container_images,container_runtime 将仅运行 container_images 和 container_runtime 检查。

sh docker-bench-security.sh -c container_images -e check_4_5 将仅运行 container_images 检查,但排除 4.5 确保 Docker 启用了内容信任。

请注意,提交检查时,请提供为什么它是一个合理的测试的原因,并请包含某种类型的官方文档以验证该信息。

下载工具