全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📅 2026-05-21 6 分钟 ✍️ juanwangdev

镜像供应链安全

镜像供应链攻击可影响所有依赖方,下面介绍防护策略。

镜像签名

Docker Content Trust (DCT)

Bash
# 启用 DCT
export DOCKER_CONTENT_TRUST=1

# 推送签名镜像
docker push myregistry.com/my-app:v1.0

# 拉取验证
docker pull myregistry.com/my-app:v1.0

Cosign 签名

Bash
# 安装 cosign
# https://github.com/sigstore/cosign

# 签名镜像
cosign sign myregistry.com/my-app:v1.0

# 验证签名
cosign verify myregistry.com/my-app:v1.0 \
  --key cosign.key

SBOM (软件物料清单)

生成 SBOM

Bash
# 使用 syft
syft myregistry.com/my-app:v1.0 -o spdx-json > sbom.json

# 输出包含所有依赖包和版本

验证 SBOM

Bash
# 使用 grype 扫描漏洞
grype --sbom sbom.json

# 输出
VULNERABILITY  SEVERITY  PACKAGE
CVE-2024-1234  HIGH       openssl 1.1.1n

来源溯源

Provenance

Bash
# SLSA (Supply chain Levels for Software Artifacts)
# 构建时生成 provenance

# GitHub Actions 示例
- uses: slsa-framework/slsa-github-generator/.github/workflows/generator_container_slsa3.yml@v1
  with:
    image: myregistry.com/my-app
    tag: v1.0

准入策略

OPA Gatekeeper

YAML
# 策略:仅允许签名镜像
apiVersion: constraints.gatekeeper.sh/v1beta1
kind: K8sTrustedImages
metadata:
  name: trusted-images
spec:
  match:
    kinds:
      - apiGroups: [""]
        kinds: ["Pod"]

Kyverno

YAML
apiVersion: kyverno.io/v1
kind: ClusterPolicy
metadata:
  name: check-image
spec:
  validationFailureAction: Enforce
  rules:
    - name: verify-image-signature
      match:
        resources:
          kinds:
            - Pod
      verifyImages:
        - imageReferences:
            - "*"
          attestors:
            - count: 1
              entries:
                - keyless: {}

仓库安全

私有仓库配置

Bash
# Harbor 启用内容信任
# Web UI: 配置 → 启用内容信任

# 仅允许签名镜像推送
# 未签名镜像拒绝推送

镜像扫描

Bash
# 推送时自动扫描
# Harbor: 配置 → 扫描 → 推送时自动扫描

# CI/CD 集成
- name: Scan image
  run: |
    trivy image --exit-code 1 --severity CRITICAL my-app:latest

要点总结

  • Docker Content Trust 和 cosign 实现镜像签名验证
  • SBOM 记录所有依赖包和版本,便于漏洞追踪
  • SLSA provenance 确保构建过程可追溯
  • OPA/Kyverno 配置准入策略,阻止未签名镜像
  • 私有仓库启用自动扫描,拒绝高危漏洞镜像

📝 发现内容有误?点击此处直接编辑

← 上一篇 运行时安全监控
下一篇 → 优雅启动与关闭
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库