opscart/docker-security-practical-guide

GitHub: opscart/docker-security-practical-guide

一套涵盖从基础合规审计到高级运行时逃逸的 Docker 安全实战演练指南。

Stars: 31 | Forks: 5

# Docker 安全:实战指南 一本全面、注重实战的 Docker 安全最佳实践指南,包含真实世界的示例和实验练习。 ## 🎯 你将学到什么 本指南通过实用、可复现的实验练习,带你从基础的 Docker 安全概念走向高级加固技术。每个实验都建立在先前知识的基础上,同时保持相对独立。 ### 涵盖的核心主题 - **安全审计**:使用 Docker Bench Security 进行 CIS 合规性检查 - **安全镜像**:构建加固的、最小化的容器镜像 - **最小权限**:实施适当的访问控制 - **镜像签名**:验证容器真实性 - **网络安全**:隔离和保护容器通信 - **AI/ML 安全**:保护机器学习工作负载 - **供应链安全**:SBOM 生成和漏洞扫描 - **网络架构**:多层网络分段和加密 ## 🌐 OpsCart Labs 平台 本 Docker 安全指南是 **OpsCart Labs** 系列的一部分 —— 这是一个基于真实世界财富 500 强零售和制药集群经验构建的生产级实战实验集合。 **访问 [OpsCart Labs](https://opscart.com/labs/)** 了解: - 跨 2 个系列的 **70+ 个实验** - **约 60 小时** 的实操内容 - **GitHub 支持** —— 所有实验均为开源 - **自动验证** —— 考试技巧、真实场景、作战室笔记 ### 可用的实验室系列 **🔐 Docker 安全:实战指南**(本仓库) - 运行时逃逸、机密管理、镜像加固和机密管理 - 涵盖从 CIS 基准到生产安全模式的 10 个实验 - **状态:** 积极开发中 **☸️ 认证 Kubernetes 管理员考试准备** ([production-cka](https://github.com/opscart/production-cka)) - 涵盖每个 CKA 考试领域的 70 个实操实验 - 自动化验证脚本、真实考试技巧、财富 500 强集群笔记 - 集群架构 25% • 网络 20% • 工loads 15% • 存储 10% • 故障排除 30% - **状态:** 已完成 5/70 个实验 **🎯 Kubernetes 实战练习**(即将推出) - 涵盖 Kubernetes 核心概念的针对性练习 - 适合希望在不进行全面考试准备的情况下磨炼特定技能的工程师 - Pod & 工作负载 • 网络 • 存储 • 调试 ### 为什么选择 OpsCart Labs? **生产级** —— 基于管理 8+ 个生产级 AKS 集群的经验构建 **真实场景** —— 财富 500 强制药和零售经验 **GitHub 优先** —— 所有内容开源并进行版本控制 **从业者权威** —— IEEE 高级会员,DZone 核心成员,CNCF 贡献者 **浏览所有实验:** [opscart.com/labs](https://opscart.com/labs/) ## 📚 实验室结构 ### 级别 1:基础(实验 01-06) 涵盖基本 Docker 安全概念的基础实验。 ### [实验 01:使用 Docker Bench 进行安全审计](./labs/01-docker-bench-security/) **你将学到什么:** - 使用 Docker Bench Security 运行全面的安全审计 - 了解 CIS Docker Benchmark 合规性检查 - 识别常见的安全错误配置 - 修复有漏洞的容器配置 **核心概念:** - 特权容器检测 - 网络命名空间隔离 - Capability 管理 - 安全配置文件强制执行 **时间:** 30-45 分钟 ### [实验 02:安全容器配置](./labs/02-secure-configs/) **你将学到什么:** - 比较不安全与安全的容器配置 - 理解并应用 Linux capabilities - 实现只读文件系统 - 将 tmpfs 用于必要的写操作 - 应用如 no-new-privileges 的安全选项 **核心概念:** - Linux capability 系统 - 只读根文件系统 - Capability 弃用(全部丢弃,按需添加) - 带有 noexec 和 nosuid 的 tmpfs 挂载 - 在不破坏功能的情况下对容器进行加固 **时间:** 45-60 分钟 ### [实验 03:最小权限容器](./labs/03-least-privilege/) **你将学到什么:** - 以非 root 用户运行容器 - 弃用不必要的 Linux capabilities - 实现只读文件系统 - 配置安全上下文 **核心概念:** - 用户命名空间重映射 - Capability 弃用 - 资源限制 - 安全策略 **时间:** 30-45 分钟 ### [实验 04:镜像签名与验证](./labs/04-image-signing/) **你将学到什么:** - 使用 Cosign 对容器镜像进行签名 - 在部署前验证镜像签名 - 实施 Docker Content Trust - 强制执行签名策略 - 安全管理签名密钥 **核心概念:** - 数字签名和加密验证 - Cosign 和 Sigstore 项目 - Docker Content Trust (DCT) - 使用 OIDC 的无密钥签名 - 防范供应链攻击 - 针对签名镜像的策略强制执行 **时间:** 45-60 分钟 ### [实验 05:网络安全基础](./labs/05-network-security/) **你将学到什么:** - 配置安全的 Docker 网络 - 实施网络策略 - 使用 service mesh 模式 - 保护容器间通信安全 **核心概念:** - 自定义 bridge 网络 - 网络分段 - 加密通信 - 流量控制 **时间:** 30-45 分钟 ### [实验 06:AI 模型安全](./labs/06-ai-model-security/) **你将学到什么:** - 保护容器化的机器学习工作负载 - 为 ML 容器设置适当的资源限制 - 实现输入验证和速率限制 - 保护模型知识产权 - 监控 ML 容器行为 - 在生产环境中安全部署 ML 模型 **核心概念:** - ML 工作负载的资源管理 - 模型提取和对抗性攻击 - API 身份验证和授权 - ML 端点的输入验证 - 模型加密和访问控制 - ML 服务的监控和异常检测 **时间:** 60-90 分钟 ### 级别 2:高级安全(实验 07-08) 涵盖供应链安全和全面网络安全的高级实验。 ### [实验 07:使用 SBOM 进行供应链安全](./labs/07-supply-chain-sbom/) **你将学到什么:** - 使用 Syft 生成软件物料清单 (SBOM) - 使用 Grype 扫描 SBOM 查找漏洞 - 比较 SBOM 版本以跟踪变更 - 将 SBOM 生成集成到 CI/CD 管道中 - 满足合规性要求(第 14028 号行政命令) **核心概念:** - SBOM 格式 (SPDX, CycloneDX, Syft JSON) - 供应链透明度 - 漏洞管理 - 依赖项跟踪 - CVE 检测和修复 - CI/CD 安全自动化 **核心工具:** - **Syft**: SBOM 生成 - **Grype**: 漏洞扫描 - **Azure DevOps** 和 **GitHub Actions**: CI/CD 集成 **时间:** 45-60 分钟 **为什么这很重要:** - 美国联邦软件的强制要求 (EO 14028) - 实现对漏洞的快速响应(例如 Log4Shell) - 提供完整的软件清单 - 支持合规性审计 (PCI DSS, SOC 2) ### [实验 08:Docker 网络安全(5 个场景)](./labs/08-network-security/) **你将学到什么:** - 实现容器间的网络隔离 - 设计多层分段架构 - 使用内部网络实现完整的数据库隔离 - 为容器间通信配置 TLS 加密 - 识别并修复 8 个常见的网络错误配置 **5 个交互式场景:** **场景 1:网络隔离**(3-4 分钟) - 创建具有 DNS 解析的隔离网络 - 实现跨越多个网络的网关容器 - 理解网络边界 **场景 2:多层分段**(4-5 分钟) - 设计 3 层架构 (web/app/database) - 强制流量通过受监控的网关 - 阻止从 Web 直接访问数据库 **场景 3:内部网络**(3-4 分钟) - 使用没有外部网关的内部网络 - 实现完整的数据库隔离 - 满足 PCI DSS 和 HIPAA 要求 **场景 4:TLS 加密**(4-5 分钟) - 生成自签名证书 - 配置带有 TLS 的 nginx - 实现加密的容器通信 - 了解 TLS 对性能的影响 **场景 5:常见错误配置**(3-4 分钟) - 了解 8 个常见的网络安全错误: 1. 使用默认 bridge 网络(无 DNS) 2. 使用 `--network host`(绕过安全性) 3. 暴露不必要的端口(数据库) 4. 没有资源限制(DoS 风险) 5. 以 root 身份运行 6. 使用 `--privileged` 模式 7. 扁平网络架构 8. 没有健康检查 **核心概念:** - 纵深防御 - 网络分段 - 零信任架构 - TLS/mTLS 实施 - 资源管理 - 防止安全错误配置 **时间:** 18-22 分钟(所有场景)或每个 3-5 分钟 **为什么这很重要:** - 防止在遭受破坏期间的横向移动 - 满足合规性要求 - 保护传输中的敏感数据 - 实现零信任架构 - 真实的生产环境模式 ### 级别 3:红队 / 进攻性安全(实验 09) 容器逃逸场景实操 —— 了解攻击者如何突破容器。 ### [实验 09:Docker 运行时逃逸(5 个场景)](./labs/09-runtime-escape/) **你将学到什么:** - 在受控环境中执行 5 种真实的容器逃逸技术 - 理解为什么仅仅阻止 docker.sock 是不够的 - 使用 Falco 实现运行时检测,使用 Kyverno 实现准入控制 - 审计容器中那些标准扫描会遗漏的危险配置 **5 个逃逸场景:** **场景 1:Docker Socket 逃逸**(25 分钟) - 挂载 docker.sock → 安装 Docker CLI → 创建特权容器 → 挂载宿主机 / → chroot 到宿主机 root - 生产环境中最常见的逃逸(Jenkins, Portainer, DinD, Watchtower) **场景 2:特权容器逃逸**(15 分钟) - 5 项演示:capability 比较、通过块设备访问宿主机文件系统、网络命名空间逃逸、cgroup release_agent(Felix Wilhelm 技术)、检测 - `--privileged` 会同时禁用所有安全边界 **场景 3:CAP_SYS_ADMIN 滥用**(20 分钟) - 单个 capability 即可启用 30 多种系统操作,包括 mount 和 namespace 操作 - 通过标准安全审计(`Privileged: false`),同时提供接近特权级别的访问权限 **场景 4:宿主机路径挂载滥用**(15 分钟) - `/etc` bind mount 直接读取凭据;docker.sock 提升链(两个容器协同操作) - 风险分类审计:严重 - docker.sock,高 (/etc),中 (系统路径) **场景 5:/proc 和 /sys 暴露**(15 分钟) - 侦察:内核版本 → CVE 定向攻击,网络数据 → 横向移动,进程列表 → 服务发现 - 只读挂载防止写入,但不能防止信息泄露 **核心概念:** - 容器隔离边界以及它们是如何被突破的 - 审计盲区:扫描器检查的内容与攻击者利用的内容 - 纵深防御:Falco 规则、Kyverno 准入策略、审计脚本 - Docker Desktop 与 Linux 宿主机行为差异 **生成的防御产物:** - Falco 运行时检测规则(场景 3、4、5) - Kyverno 准入策略(场景 4、5) - 带有风险分类的审计脚本(场景 2、3、4、5) **时间:** 2-2.5 小时(所有场景)或每个 15-25 分钟 **为什么这很重要:** - 阻止 docker.sock 和 --privileged 是必要的,但这还不够 - CAP_SYS_ADMIN、宿主机挂载和 /proc 是攻击者接下来会利用的盲点 - 这里生成的运行时检测规则可直接用于生产环境 ### 级别 4:生产安全(实验 10) 用于机密管理的高级生产安全模式。 ### [实验 10:Docker Secrets 管理(5 个场景)](./labs/10-secrets-management/) **你将学到什么:** - 识别 Docker 环境中 5 种常见的机密泄露模式 - 使用加密存储实现 Docker Swarm 原生 secrets - 集成 HashiCorp Vault 进行集中式机密管理 - 使用 BuildKit secret mounts 处理构建时凭据 - 使用自动化工具扫描仓库中泄露的机密 - 使用 pre-commit hooks 和 CI/CD 集成防止机密提交 **核心:** - 反模式:硬编码机密、ENV 变量、构建参数、git 历史记录泄露 - Docker Swarm secrets:静态加密、内存中的 tmpfs 挂载 - 外部机密管理:Vault 开发模式和生产模式 - BuildKit secret mounts:永不持久化的构建时机密 - 机密扫描:GitLeaks、pre-commit hooks、CI/CD 集成 **5 个交互式场景:** **场景 1:反模式**(15 分钟) - 演示 Docker 容器中机密泄露的 5 种方式 - 在 `docker history` 中可见的硬编码机密 - 在 `docker inspect` 中暴露的环境变量 - 持久化在镜像层中的构建参数 - 权限错误的挂载文件(全局可读) - Git 历史记录泄露(即使删除后也是永久的) **场景 2:Docker Swarm Secrets**(20 分钟) - 通过 Swarm CLI 创建和管理 secrets - 部署在 `/run/secrets/` 处挂载 secrets 的服务 - 验证 secrets 在 `docker inspect` 中不可见(仅元数据) - 了解加密存储和 tmpfs 安全属性 - 与反模式比较(ENV 变量对比 Swarm secrets) **场景 3:HashiCorp Vault 集成**(25 分钟) - 在开发模式下运行 Vault(容器化,兼容 macOS) - 通过 CLI 和 HTTP API 存储和检索 secrets - 在运行时将应用程序与 Vault 集成 - 了解集中式机密管理 - 比较 Vault 与 Swarm secrets(环境灵活性) **场景 4:BuildKit Secret Mounts**(15 分钟) - 将 secrets 传递给构建而不发生 ARG 泄露 - 在构建期间访问私有 npm/pip 注册表 - 在构建期间使用 SSH 密钥访问私有 git 仓库 - 实现带有机密隔离的多阶段构建 - 验证 secrets 不会保留在最终镜像或历史记录中 **场景 5:机密扫描**(15 分钟) - 使用 GitLeaks 扫描仓库查找泄露的机密 - 检测 git 历史记录中的机密(即使删除后) - 设置 pre-commit hooks 以防止机密提交 - 在 CI/CD 管道(GitHub Actions、Azure DevOps)中集成机密扫描 - 为公司特定的 secrets 创建自定义检测规则 **时间:** 90 分钟(所有场景)或每个 15-25 分钟 **为什么这很重要:** - git 中的 secrets 是永久的(即使删除后) - 环境变量会通过 docker inspect 和日志泄露 - BuildKit secrets 可实现安全构建而不会污染镜像 - 自动化扫描可防止意外提交 - 用于生产环境的多层方法(Swarm + Vault + 扫描) **层级 2(Linux VM - 实验 11 计划中):** - 进程内存取证以检测 RAM 中的 secrets - tmpfs 验证(证明 secrets 仅存在于内存中) - 带有 TLS、审计日志和动态 secrets 的生产级 Vault - 通过 SIGHUP 处理实现零停机 secret 轮换 - 合规性审计报告 (PCI-DSS, SOC 2) ## 🚀 入门指南 ### 前置条件 - Docker Engine 20.10+ - Docker Compose 2.0+ - Linux、macOS 或带有 WSL2 的 Windows - 基本的 Docker 知识 - 熟悉终端/命令行 ### 快速开始 1. **克隆仓库:** ``` git clone https://github.com/opscart/docker-security-practical-guide.git cd docker-security-practical-guide ``` 2. **从实验 01 开始:** ``` cd labs/01-docker-bench-security ./run-audit.sh ``` 3. **按照每个实验目录中的 README 进行操作** ## 📖 如何使用本指南 ### 适合初学者 1. 从实验 01 开始了解安全审计 2. 按顺序完成级别 1(实验 01-06) 3. 在继续学习之前完成所有练习 4. 查看“常见问题”部分 5. 进入级别 2(实验 07-08)学习高级主题 ### 适合有经验的用户 1. 根据需要跳转到特定的实验 2. 用作安全模式的参考 3. 根据你的用例调整示例 4. 重点关注级别 2 的实验以获取高级技术 5. 通过 pull requests 贡献改进 ### 适合安全审计员 1. 使用实验 01 进行基线安全评估 2. 参考 CIS Benchmark 映射 3. 使用实验 07 进行供应链合规性检查 4. 使用实验 08 进行网络架构审查 5. 根据你的合规性需求调整检查清单 6. 使用提供的模板记录发现的问题 ### 适合 DevOps/平台工程师 1. 使用实验 07 进行 CI/CD 安全集成 2. 使用实验 08 构建生产网络架构 3. 在你的管道中使用自动化脚本 4. 实施所有实验中的安全最佳实践 ## 🔧 实验室设置 每个实验都是独立的,包括: - `README.md`:包含理论和实践的全面指南 - `docker-compose.yml`:可直接运行的配置 - 脚本:用于常见任务的自动化 - 示例:包含有漏洞和安全的配置 - CI/CD 配置:Azure DevOps 和 GitHub Actions(实验 07-08) ### 运行实验 ``` # 导航到 lab 目录 cd labs/XX-lab-name # 查看 README cat README.md # 运行 lab 练习 ./run-demo.sh # or specific lab script # 清理 ./cleanup.sh ``` ## 🎓 学习路径 ### 级别 1:基础 ``` Lab 01: Security Auditing (CIS Benchmark) ↓ Lab 02: Secure Configurations (Capabilities, Read-only FS) ↓ Lab 03: Least Privilege (Non-root, Resource Limits) ↓ Lab 04: Image Signing (Cosign, Content Trust) ↓ Lab 05: Network Security Basics (Custom Networks) ↓ Lab 06: AI/ML Security (Model Protection) ``` ### 级别 2:高级 ``` Lab 07: Supply Chain Security (SBOM, Vulnerability Scanning) ↓ Lab 08: Network Security (5 Scenarios: Isolation to Encryption) ``` ### 级别 3:红队 ``` Lab 09: Runtime Escape (5 Scenarios: Socket to /proc) ``` ### 级别 4:生产安全 **预估时间:** - 级别 1(实验 01-06):4-6 小时 - 级别 2(实验 07-08):2-3 小时 - 级别 3(实验 09):2-2.5 小时 - 级别 4(实验 10):90 分钟 - 完整指南:9.5-13 小时 - 包含实践练习:14-19 小时 ``` ## 🛠️ 工具与技术 ### 使用的 Security Tools **Level 1:** - **Docker Bench Security**: CIS compliance auditing - **Trivy**: Vulnerability scanning - **Cosign**: Container signing - **Anchore**: Image analysis - **Notary**: Content trust **Level 2:** - **Syft**: SBOM generation (Lab 07) - **Grype**: Vulnerability scanning (Lab 07) - **OpenSSL**: Certificate generation (Lab 08) - **nginx**: TLS configuration (Lab 08) ### 涵盖的技术 - Docker Engine & Docker Compose - Linux Security Modules (AppArmor, SELinux) - Seccomp profiles - User namespaces - Capability systems - Docker networking (bridge, internal, overlay) - TLS/mTLS encryption - CI/CD integration (Azure DevOps, GitHub Actions) ## 📝 Best Practices 总结 ### Image Security - Use minimal base images (alpine, distroless) - Scan for vulnerabilities regularly - Generate and maintain SBOMs (Lab 07) - Sign and verify images (Lab 04) - Use specific tags, never `latest` - Implement multi-stage builds ### Runtime Security - Run as non-root user (Lab 03) - Drop unnecessary capabilities (Lab 02) - Use read-only filesystems (Lab 02) - Enable security profiles - Set resource limits (Lab 08) - Implement health checks (Lab 08) ### Network Security - Use custom bridge networks (Lab 08) - Implement multi-tier segmentation (Lab 08) - Use internal networks for databases (Lab 08) - Avoid host network mode (Lab 08) - Encrypt traffic with TLS (Lab 08) - Control ingress/egress ### Supply Chain Security (Lab 07) - Generate SBOMs for all images - Scan regularly for vulnerabilities - Track dependency changes - Automate in CI/CD pipelines - Meet compliance requirements - Respond quickly to CVEs ### Secrets Management - Never hardcode credentials - Use Docker secrets or external vaults - Rotate secrets regularly - Limit secret access scope - Audit secret usage ### Operational Security - Regular security audits (Lab 01) - Keep Docker updated - Monitor container behavior - Log security events - Incident response plan - Track SBOM and vulnerability changes (Lab 07) ## 🏗️ Architecture Patterns ### Multi-Tier Segmentation (Lab 08) ``` ┌──────────────┐ ┌──────────────┐ ┌─────────────────┐ │ Public Net │ │ App Net │ │ Database Net │ │ │ │ │ │ (INTERNAL) │ │ [Web] │◄─────►│ [App] │◄─────►│ [DB] │ │ :8443 │ TLS │ │ │ No Gateway │ └──────────────┘ └──────────────┘ └─────────────────┘ ▲ │ Internet ``` ### Supply Chain Security (Lab 07) ``` [Container] → [Syft] → [SBOM] → [Grype] → [Security Report] ↓ [SPDX/CycloneDX/JSON] ↓ [CVE Database] ↓ [Critical/High/Medium/Low] ``` ## 🤝 贡献 Contributions are welcome! Please: 1. Fork the repository 2. Create a feature branch 3. Add your improvements 4. Test thoroughly 5. Submit a pull request ### 贡献想法 - Additional lab exercises - Security tool integrations - Cloud platform examples (AWS, Azure, GCP) - Kubernetes security labs - Advanced threat scenarios - Additional SBOM formats - More network security patterns ## 📚 其他资源 ### 官方文档 - [Docker Security](https://docs.docker.com/engine/security/) - [CIS Docker Benchmark](https://www.cisecurity.org/benchmark/docker) - [Docker Bench Security](https://github.com/docker/docker-bench-security) - [Syft (SBOM Generation)](https://github.com/anchore/syft) - [Grype (Vulnerability Scanning)](https://github.com/anchore/grype) ### Security Standards - [NIST Container Security](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-190.pdf) - [OWASP Docker Top 10](https://owasp.org/www-project-docker-top-10/) - [CIS Controls](https://www.cisecurity.org/controls) - [Executive Order 14028](https://www.whitehouse.gov/briefing-room/presidential-actions/2021/05/12/executive-order-on-improving-the-nations-cybersecurity/) - SBOM Requirements ### SBOM 资源 (Lab 07) - [SPDX Specification](https://spdx.dev/) - [CycloneDX Standard](https://cyclonedx.org/) - [CISA SBOM Resources](https://www.cisa.gov/sbom) - [NTIA SBOM Minimum Elements](https://www.ntia.gov/report/2021/minimum-elements-software-bill-materials-sbom) ### Network Security 资源 (Lab 08) - [Docker Network Documentation](https://docs.docker.com/network/) - [Container Network Security](https://kubernetes.io/docs/concepts/services-networking/network-policies/) - [TLS Best Practices](https://wiki.mozilla.org/Security/Server_Side_TLS) ### 社区资源 - [Docker Security Subreddit](https://reddit.com/r/docker) - [Docker Community Slack](https://dockercommunity.slack.com) - [Stack Overflow Docker Tag](https://stackoverflow.com/questions/tagged/docker) - [CNCF Slack](https://slack.cncf.io/) ## 🐛 故障排除 ### 常见问题 **Issue: Permission denied running scripts** ```bash chmod +x script-name.sh ``` **问题:Docker daemon 未运行** ``` sudo systemctl start docker ``` **问题:端口已被占用** ``` docker ps # Check running containers docker-compose down # Stop services lsof -i :PORT # Find process using port ``` **问题:镜像拉取失败** ``` docker login # Authenticate if needed docker pull image-name # Manual pull to test ``` **问题:找不到 Syft/Grype(实验 07)** ``` # 安装 Syft curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin # 安装 Grype curl -sSfL https://raw.githubusercontent.com/anchore/grype/main/install.sh | sh -s -- -b /usr/local/bin ``` **问题:证书生成失败(实验 08)** ``` # 确保已安装 OpenSSL openssl version # 检查证书生成脚本 cd labs/08-network-security/certs chmod +x generate-certs.sh ./generate-certs.sh ``` **问题:网络已存在(实验 08)** ``` # 清理所有网络 cd labs/08-network-security ./cleanup.sh ``` ## 📊 实验完成状态 跟踪你的进度: - [ ] 实验 01:安全审计 ⏱️ 30-45 分钟 - [ ] 实验 02:安全配置 ⏱️ 45-60 分钟 - [ ] 实验 03:最小权限 ⏱️ 30-45 分钟 - [ ] 实验 04:镜像签名 ⏱️ 45-60 分钟 - [ ] 实验 05:网络安全基础 ⏱️ 30-45 分钟 - [ ] 实验 06:AI/ML 安全 ⏱️ 60-90 分钟 - [ ] 实验 07:供应链安全 (SBOM) ⏱️ 45-60 分钟 - [ ] 实验 08:网络安全(5 个场景) ⏱️ 18-22 分钟 - [ ] 实验 09:运行时逃逸(5 个场景) ⏱️ 2-2.5 小时 - [ ] 实验 10:Secrets 管理(5 个场景) ⏱️ 90 分钟 **总时间:** 9.5-13 小时 ## 📜 许可证 MIT 许可证 - 详见 [LICENSE](LICENSE) 文件 ## ✨ 致谢 - Docker 团队提供的安全工具和文档 - CIS 提供的 Docker Benchmark - OWASP 提供的安全指南 - Anchore 团队提供的 Syft 和 Grype(实验 07) - Sigstore 项目提供的 Cosign(实验 04) - 开源安全社区 - CNCF 提供的云原生安全标准 ## 📧 联系与支持 - **作者**: Shamsher Khan - **GitHub**: [@opscart](https://github.com/opscart) - **博客**: [@OpsCart](https://opscart.com) - **问题**: [报告问题](https://github.com/opscart/docker-security-practical-guide/issues) - **讨论**: [GitHub Discussions](https://github.com/opscart/docker-security-practical-guide/discussions) ### 专业背景 - 高级 DevOps 工程师 - IEEE 高级会员 - 15 年以上 IT 经验 - 10 年以上云和 DevOps 专业化经验 - DZone 和技术出版物的已发表作者 ## 🌟 为本仓库加星! 如果你觉得本指南有帮助: 1. ⭐ 为仓库加星 2. 🔀 复刻以供自己学习 3. 📢 与你的团队分享 4. 💬 提供反馈 5. 🤝 贡献改进 ## 📈 接下来是什么? ### 即将推出的实验(计划中) - **实验 11**:Secrets 管理 - 层级 2 深入探讨(需要 Linux VM) - 进程内存取证和 secret 提取 - 带有 TLS、HA 和动态 secrets 的生产级 Vault - 零停机 secret 轮换模式 - 合规性审计日志记录 (PCI-DSS, SOC 2) - **实验 12**:容器注册表安全 - **实验 13**:高级 Kubernetes 安全模式 ``` ### 保持更新 - Watch this repository for updates - Follow [@opscart](https://github.com/opscart) on GitHub - Join discussions in the Issues tab --- **🎯 From fundamentals to advanced patterns, this guide has everything you need to secure your Docker deployments in production.** --- **⭐ If you find this guide helpful, please star the repository!** **🔒 Remember: Security is a journey, not a destination. Keep learning, keep improving!** ```
标签:AI安全, Chat Copilot, Chrome Headless, CISA项目, CIS基准测试, CKA备考, DevSecOps, Docker Bench Security, Docker安全, Fortune500经验, Kubernetes安全, PyVis, SBOM, Streamlit, Web截图, 上游代理, 大语言模型安全, 安全最佳实践, 安全测试工具, 安全脚本, 实战实验室, 容器安全, 容器运行时安全, 容器逃逸, 密钥泄露防护, 应用安全, 微分段, 最小权限, 机器学习安全, 机密管理, 生产环境安全, 硬件无关, 网络隔离, 访问控制, 请求拦截, 逃逸演练, 镜像加固, 镜像签名