面向 DevSecOps 的 Docker 安全实践

这是一门专为 DevSecOps 学习者设计的 Docker 安全实战课程。内容涵盖容器运行时审计、端口暴露、调试绑定、Docker 套接字访问、绑定挂载、非 root 用户运行、特权模式、运行时密钥管理、构建时令牌泄露以及镜像合规性等核心主题。你将深入分析真实的容器状态,应用针对性的修复方案,并验证应用程序在加固后的稳定性。

DockerDevSecOps

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

Docker 加固是一项边界管理工作:确认工作负载能够暴露、读取、写入、执行和访问什么,再在不破坏其任务的前提下缩减权限。本挑战型课程通过 20 个聚焦运行时、镜像和 Compose 交接的场景训练这种方法。

你会先检查实时状态,再在 Dockerfile、启动脚本或 Compose 文件中实施最小范围修复,重新创建工作负载,并同时证明安全属性和必需应用行为。课程强调来自 docker inspect、Compose 有效配置、网络路径、镜像历史和健康状态的证据。

你将学到什么

  • 审计运行中的容器和 Compose 项目的镜像、用户、端口、挂载、环境 Secret、Volume 与 Network
  • 移除不必要的主机端口、把 Debug 绑定限制到 Loopback,并移除 Docker Socket 访问,同时保留所需端点
  • 对只需读取的消费者,将配置和原始上传挂载改为只读
  • 让 Worker 以非 Root 运行并移除 Privileged Mode,同时保留输入、输出和日志处理行为
  • 将运行时 Token 从 Docker 环境元数据移至限定范围的只读文件,并从镜像历史移除构建 Token
  • 固定批准的基础镜像标签、消除镜像内 Debug 遗留物、重新构建并验证任务输出
  • 使用 Profile 和 Override 清理控制 Compose 默认行为,并记录可信的交接基线
  • 分隔服务 Network、取消数据库与 Cache 的主机端口、按服务限定 Secret,并添加真实 Readiness Healthcheck

本课程适合谁

本课程适合希望练习加固现有工作负载,而非学习入门容器构建的 DevSecOps 工程师、容器平台学习者和 Docker 运维人员。

前置要求: 能熟练使用 Docker 容器、镜像、Dockerfile、Bind Mount、Published Port、docker inspect 和 Docker Compose;还需掌握基础 Shell 编辑与 HTTP 测试。

学习环境: 可通过浏览器访问的 Linux 主机,配有 Docker、Docker Compose、预置本地镜像、脚本、Compose Stack、样例数据和 Loopback HTTP 端点;所有修改都限制在明确指定的实验工作负载内。

常见问题

这是 Docker 基础的逐步引导课程吗?

不是。每个挑战提供当前情况、严格 Scope、Acceptance Criteria 和提示,但要求你依据运行态证据自行选择修复方式;课程默认你已掌握 Docker 基础操作。

Secret 练习会使用生产级 Secret Manager 吗?

不会。练习通过用预置只读文件替换环境变量、移除带 Token 的构建步骤来教授暴露面与最小范围原则;Vault、密钥轮换、加密和编排器 Secret Store 不在范围内。

加固是否意味着关闭应用功能?

通常不是。验收标准会保留业务端点、Worker 输出、报告生成和必要内部路径,只移除多余暴露或权限;可选 Admin 与 Debug 路径仅在明确要求时保留。

课程会保护哪些基础设施?

课程只加固本地 Docker 和 Docker Compose 工作负载,不涵盖主机 Docker Daemon 加固、Registry Policy、漏洞扫描、签名、Kubernetes Admission Control 或云运行时安全。

教师

labby
Labby
Labby is the LabEx teacher.

为您推荐

no data